summary refs log tree commit diff
path: root/lib
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2012-08-20 11:27:38 -0400
committerEelco Dolstra <eelco.dolstra@logicblox.com>2012-08-20 11:27:38 -0400
commit08f14b33c16ad273f6e4872430dfc8583734af95 (patch)
tree837cd810aa95d3925509181840d011bc52e25d8a /lib
parent36e05e8dd25810824403f68cef92e3dfe2202cec (diff)
parent16713db4e294689c55c44615754b08576640f6c4 (diff)
downloadnixlib-08f14b33c16ad273f6e4872430dfc8583734af95.tar
nixlib-08f14b33c16ad273f6e4872430dfc8583734af95.tar.gz
nixlib-08f14b33c16ad273f6e4872430dfc8583734af95.tar.bz2
nixlib-08f14b33c16ad273f6e4872430dfc8583734af95.tar.lz
nixlib-08f14b33c16ad273f6e4872430dfc8583734af95.tar.xz
nixlib-08f14b33c16ad273f6e4872430dfc8583734af95.tar.zst
nixlib-08f14b33c16ad273f6e4872430dfc8583734af95.zip
Merge branch 'master' of github.com:NixOS/nixos into systemd
Diffstat (limited to 'lib')
-rw-r--r--lib/build-vms.nix4
-rw-r--r--lib/test-driver/Machine.pm10
-rw-r--r--lib/testing.nix4
3 files changed, 13 insertions, 5 deletions
diff --git a/lib/build-vms.nix b/lib/build-vms.nix
index e8e5885137d6..aacd0e99cb18 100644
--- a/lib/build-vms.nix
+++ b/lib/build-vms.nix
@@ -1,4 +1,4 @@
-{ system }:
+{ system, minimal ? false }:
 
 let pkgs = import <nixpkgs> { config = {}; inherit system; }; in
 
@@ -27,7 +27,7 @@ rec {
         [ ../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; }
-        ];
+        ] ++ lib.optional minimal ../modules/testing/minimal-kernel.nix;
       extraArgs = { inherit nodes; };
     };
 
diff --git a/lib/test-driver/Machine.pm b/lib/test-driver/Machine.pm
index c501aa5f1ed5..76c736b609dc 100644
--- a/lib/test-driver/Machine.pm
+++ b/lib/test-driver/Machine.pm
@@ -8,10 +8,13 @@ use POSIX qw(dup2);
 use FileHandle;
 use Cwd;
 use File::Basename;
+use File::Path qw(make_path);
 
 
 my $showGraphics = defined $ENV{'DISPLAY'};
 
+my $sharedDir;
+
 
 sub new {
     my ($class, $args) = @_;
@@ -40,7 +43,11 @@ sub new {
     }
 
     my $tmpDir = $ENV{'TMPDIR'} || "/tmp";
-    
+    unless (defined $sharedDir) {
+        $sharedDir = $tmpDir . "/xchg-shared";
+        make_path($sharedDir, { mode => 0700, owner => $< });
+    }
+
     my $self = {
         startCommand => $startCommand,
         name => $name,
@@ -126,6 +133,7 @@ sub start {
             dup2(fileno($serialC), fileno(STDERR));
         }
         $ENV{TMPDIR} = $self->{stateDir};
+        $ENV{SHARED_DIR} = $sharedDir;
         $ENV{USE_TMPDIR} = 1;
         $ENV{QEMU_OPTS} =
             "-no-reboot -monitor unix:./monitor -chardev socket,id=shell,path=./shell " .
diff --git a/lib/testing.nix b/lib/testing.nix
index 212c478a728b..7c5bb5d50f7d 100644
--- a/lib/testing.nix
+++ b/lib/testing.nix
@@ -1,6 +1,6 @@
-{ system }:
+{ system, minimal ? false }:
 
-with import ./build-vms.nix { inherit system; };
+with import ./build-vms.nix { inherit system minimal; };
 with pkgs;
 
 rec {