aboutsummaryrefslogtreecommitdiff
path: root/nixos/tests/run-in-machine.nix
diff options
context:
space:
mode:
authoraszlig <aszlig@nix.build>2018-12-07 05:56:53 +0100
committeraszlig <aszlig@nix.build>2018-12-07 05:56:53 +0100
commit776f084cf1bc7d174184e2d51b224e168fcd6fa4 (patch)
tree9c433d989ac9098faceb3e3aecb7ca79dd4a2785 /nixos/tests/run-in-machine.nix
parent88b48753acfa4403b2d0676ca5b097882c474882 (diff)
nixos/tests: Fix wrong arch in runInMachine test
Since 83b27f60ceff23967e477c90bef8e78cc96d50a2, the tests were moved into all-tests.nix and some of the tooling has changed so that subattributes of test expressions are now recursively evaluated until a derivation with a .test attribute has been found. Unfortunately this isn't the case for all of the tests and the runInMachine doesn't use the makeTest function other tests are using but instead uses runInMachine, which doesn't generate a .test attribute. Whener a .test attribute wasn't found by the new handleTest function, it recurses down again until there is no value left that is an attribute set and subsequently returns its unchanged value. This however has the drawback that instead of getting different attributes for each architecture we only get the last architecture in the supportedSystems list. In the case of the release.nix, the last architecture in supportedSystems is "aarch64-linux", so the runInMachine test is always built on that architecture. In order to work around this, I changed runInMachine to emit a .test attribute so that it looks to handleTest like it was a test created via makeTest. Signed-off-by: aszlig <aszlig@nix.build>
Diffstat (limited to 'nixos/tests/run-in-machine.nix')
-rw-r--r--nixos/tests/run-in-machine.nix19
1 files changed, 11 insertions, 8 deletions
diff --git a/nixos/tests/run-in-machine.nix b/nixos/tests/run-in-machine.nix
index 116f5dc28a62..339a4b9a7404 100644
--- a/nixos/tests/run-in-machine.nix
+++ b/nixos/tests/run-in-machine.nix
@@ -10,11 +10,14 @@ let
drv = pkgs.hello;
machine = { ... }: { /* services.sshd.enable = true; */ };
};
-in pkgs.runCommand "verify-output" { inherit output; } ''
- if [ ! -e "$output/bin/hello" ]; then
- echo "Derivation built using runInMachine produced incorrect output:" >&2
- ls -laR "$output" >&2
- exit 1
- fi
- "$output/bin/hello" > "$out"
-''
+
+ test = pkgs.runCommand "verify-output" { inherit output; } ''
+ if [ ! -e "$output/bin/hello" ]; then
+ echo "Derivation built using runInMachine produced incorrect output:" >&2
+ ls -laR "$output" >&2
+ exit 1
+ fi
+ "$output/bin/hello" > "$out"
+ '';
+
+in test // { inherit test; } # To emulate behaviour of makeTest