summary refs log tree commit diff
diff options
context:
space:
mode:
authorMichael Weiss <dev.primeos@gmail.com>2021-05-01 20:15:42 +0200
committerMichael Weiss <dev.primeos@gmail.com>2021-05-01 20:20:29 +0200
commitc6325c8325c597560c0f67915516cd1d49928bcc (patch)
tree22a327729105968472654f6c6df2767ec3baa1fe
parent7d8237894955d9a4538d1c04fb5b6318906c28c6 (diff)
downloadnixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.tar
nixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.tar.gz
nixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.tar.bz2
nixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.tar.lz
nixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.tar.xz
nixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.tar.zst
nixpkgs-c6325c8325c597560c0f67915516cd1d49928bcc.zip
nixos/tests: Replace QEMU_OPTS usages with virtualisation.qemu.options
See [0]: "QEMU_OPTS is something that should be set by people running VM
tests interactively, to do port forwardings etc.
We really should not poke with it from the test script - that's what
virtualisation.qemu.options is for."

[0]: https://github.com/NixOS/nixpkgs/pull/119615#discussion_r624145020

Co-authored-by: Florian Klink <flokli@flokli.de>
-rw-r--r--nixos/tests/cage.nix9
-rw-r--r--nixos/tests/os-prober.nix8
2 files changed, 7 insertions, 10 deletions
diff --git a/nixos/tests/cage.nix b/nixos/tests/cage.nix
index 53476c2fbe8..80ce1e0d8b3 100644
--- a/nixos/tests/cage.nix
+++ b/nixos/tests/cage.nix
@@ -18,6 +18,10 @@ import ./make-test-python.nix ({ pkgs, ...} :
     };
 
     virtualisation.memorySize = 1024;
+    # Need to switch to a different VGA card / GPU driver because Cage segfaults with the default one (std):
+    # machine # [   14.355893] .cage-wrapped[736]: segfault at 20 ip 00007f035fa0d8c7 sp 00007ffce9e4a2f0 error 4 in libwlroots.so.8[7f035fa07000+5a000]
+    # machine # [   14.358108] Code: 4f a8 ff ff eb aa 0f 1f 44 00 00 c3 0f 1f 80 00 00 00 00 41 54 49 89 f4 55 31 ed 53 48 89 fb 48 8d 7f 18 48 8d 83 b8 00 00 00 <80> 7f 08 00 75 0d 48 83 3f 00 0f 85 91 00 00 00 48 89 fd 48 83 c7
+    virtualisation.qemu.options = [ "-vga virtio" ];
   };
 
   enableOCR = true;
@@ -25,11 +29,6 @@ import ./make-test-python.nix ({ pkgs, ...} :
   testScript = { nodes, ... }: let
     user = nodes.machine.config.users.users.alice;
   in ''
-    # Need to switch to a different VGA card / GPU driver because Cage segfaults with the default one (std):
-    # machine # [   14.355893] .cage-wrapped[736]: segfault at 20 ip 00007f035fa0d8c7 sp 00007ffce9e4a2f0 error 4 in libwlroots.so.8[7f035fa07000+5a000]
-    # machine # [   14.358108] Code: 4f a8 ff ff eb aa 0f 1f 44 00 00 c3 0f 1f 80 00 00 00 00 41 54 49 89 f4 55 31 ed 53 48 89 fb 48 8d 7f 18 48 8d 83 b8 00 00 00 <80> 7f 08 00 75 0d 48 83 3f 00 0f 85 91 00 00 00 48 89 fd 48 83 c7
-    os.environ["QEMU_OPTS"] = "-vga virtio"
-
     with subtest("Wait for cage to boot up"):
         start_all()
         machine.wait_for_file("/run/user/${toString user.uid}/wayland-0.lock")
diff --git a/nixos/tests/os-prober.nix b/nixos/tests/os-prober.nix
index f778d30bdc0..3cc38ebe347 100644
--- a/nixos/tests/os-prober.nix
+++ b/nixos/tests/os-prober.nix
@@ -69,6 +69,9 @@ in {
       imports = [ ../modules/profiles/installation-device.nix
                   ../modules/profiles/base.nix ];
       virtualisation.memorySize = 1300;
+      # To add the secondary disk:
+      virtualisation.qemu.options = [ "-drive index=2,file=${debianImage}/disk-image.qcow2,read-only,if=virtio" ];
+
       # The test cannot access the network, so any packages
       # nixos-rebuild needs must be included in the VM.
       system.extraDependencies = with pkgs;
@@ -95,11 +98,6 @@ in {
   });
 
   testScript = ''
-    # hack to add the secondary disk
-    os.environ[
-        "QEMU_OPTS"
-    ] = "-drive index=2,file=${debianImage}/disk-image.qcow2,read-only,if=virtio"
-
     machine.start()
     machine.succeed("udevadm settle")
     machine.wait_for_unit("multi-user.target")