From bc238be01a6d812d06784464bac99a5ac135acaa Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Tue, 5 Jan 2010 17:08:57 +0000 Subject: [PATCH] * Factor out the X11 configuration. svn path=/nixos/trunk/; revision=19241 --- lib/build-vms.nix | 18 ++++-------------- tests/common/x11.nix | 13 +++++++++++++ tests/firefox.nix | 10 +--------- tests/quake3.nix | 4 +--- 4 files changed, 19 insertions(+), 26 deletions(-) create mode 100644 tests/common/x11.nix diff --git a/lib/build-vms.nix b/lib/build-vms.nix index 473bd01ad93..11eed8e2339 100644 --- a/lib/build-vms.nix +++ b/lib/build-vms.nix @@ -54,21 +54,11 @@ rec { import ./eval-config.nix { inherit nixpkgs services system; modules = configurations ++ - [ ../modules/virtualisation/qemu-vm.nix # !!! + [ ../modules/virtualisation/qemu-vm.nix ../modules/testing/test-instrumentation.nix # !!! should only get added for automated test runs + { key = "no-manual"; services.nixosManual.enable = false; } ]; extraArgs = { inherit nodes; }; - /* !!! bug in the module/option handling: this ignores the - config from assignIPAddresses. Too much magic. - configuration = { - imports = [configuration "${nixos}/modules/virtualisation/qemu-vm.nix"]; - config = { - # We don't need the manual in a test VM, and leaving it out - # speeds up evaluation quite a bit. - services.nixosManual.enable = false; - }; - }; - */ }; @@ -88,7 +78,8 @@ rec { hosts = lib.concatMapStrings (m: "${m.second} ${m.first}\n") machinesWithIP; nodes_ = map (m: lib.nameValuePair m.first [ - { config = + { key = "ip-address"; + config = { networking.hostName = m.first; networking.interfaces = [ { name = "eth1"; @@ -96,7 +87,6 @@ rec { } ]; networking.extraHosts = hosts; - services.nixosManual.enable = false; # !!! }; } (lib.getAttr m.first nodes) diff --git a/tests/common/x11.nix b/tests/common/x11.nix new file mode 100644 index 00000000000..fa8579d5ff8 --- /dev/null +++ b/tests/common/x11.nix @@ -0,0 +1,13 @@ +{ services.xserver.enable = true; + + # Automatically log in. + services.xserver.displayManager.slim.enable = false; + services.xserver.displayManager.auto.enable = true; + + # Use IceWM as the window manager. + services.xserver.windowManager.default = "icewm"; + services.xserver.windowManager.icewm.enable = true; + + # Don't use a desktop manager. + services.xserver.desktopManager.default = "none"; +} diff --git a/tests/firefox.nix b/tests/firefox.nix index a76d46bb7bb..46b5d8c2631 100644 --- a/tests/firefox.nix +++ b/tests/firefox.nix @@ -5,15 +5,7 @@ machine = { config, pkgs, ... }: - { services.xserver.enable = true; - services.xserver.displayManager.slim.enable = false; - services.xserver.displayManager.auto.enable = true; - - services.xserver.windowManager.default = "icewm"; - services.xserver.windowManager.icewm.enable = true; - - services.xserver.desktopManager.default = "none"; - + { require = [ ./common/x11.nix ]; environment.systemPackages = [ pkgs.firefox ]; }; diff --git a/tests/quake3.nix b/tests/quake3.nix index 9af01214b6c..f743b9d8e91 100644 --- a/tests/quake3.nix +++ b/tests/quake3.nix @@ -5,7 +5,7 @@ rec { client = { config, pkgs, ... }: - { services.xserver.enable = true; + { require = [ ./common/x11.nix ]; services.xserver.driSupport = true; services.xserver.defaultDepth = pkgs.lib.mkOverride 0 {} 16; environment.systemPackages = [ pkgs.icewm pkgs.quake3demo ]; @@ -38,10 +38,8 @@ rec { sleep 20; - $client1->execute("DISPLAY=:0.0 icewm &"); $client1->execute("DISPLAY=:0.0 quake3 '+set r_fullscreen 0' '+set name Foo' '+connect server' &"); - $client2->execute("DISPLAY=:0.0 icewm &"); $client2->execute("DISPLAY=:0.0 quake3 '+set r_fullscreen 0' '+set name Bar' '+connect server' &"); sleep 40;