From 6dafee8d6704957e123de1b51d3e406848f4aac8 Mon Sep 17 00:00:00 2001 From: Eelco Dolstra Date: Wed, 16 Oct 2013 11:36:09 +0200 Subject: Fix runInMachine It requires a writable /nix/store to store the build result. Also, wait until we've reached multi-user.target before doing the build, and do a sync at the end to ensure all data to $out is properly written. http://hydra.nixos.org/build/6496716 --- nixos/lib/testing.nix | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) (limited to 'nixos/lib') diff --git a/nixos/lib/testing.nix b/nixos/lib/testing.nix index 7be0903ed3a86..3407229e921a8 100644 --- a/nixos/lib/testing.nix +++ b/nixos/lib/testing.nix @@ -176,7 +176,10 @@ rec { let vm = buildVM { } [ machine - { key = "hostname"; networking.hostName = "client"; } + { key = "run-in-machine"; + networking.hostName = "client"; + nix.readOnlyStore = false; + } ]; buildrunner = writeText "vm-build" '' @@ -192,9 +195,11 @@ rec { testscript = '' startAll; + $client->waitForUnit("multi-user.target"); ${preBuild} $client->succeed("env -i ${pkgs.bash}/bin/bash ${buildrunner} /tmp/xchg/saved-env >&2"); ${postBuild} + $client->succeed("sync"); # flush all data before pulling the plug ''; vmRunCommand = writeText "vm-run" '' -- cgit 1.4.1