diff options
author | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2023-03-23 21:47:27 +0100 |
---|---|---|
committer | Théophane Hufschmitt <theophane.hufschmitt@tweag.io> | 2023-03-23 21:58:59 +0100 |
commit | 717e81df1337da4c59a004d13ff503500d61ba5a (patch) | |
tree | bb540a027a1bce5d605cc4919af1165249cbe741 /tests/installer | |
parent | cff3149a019bb37e6c8886ab17b4b2d332bef5e0 (diff) |
Test the installation of a simple package in the install tests
Diffstat (limited to 'tests/installer')
-rw-r--r-- | tests/installer/default.nix | 22 |
1 files changed, 22 insertions, 0 deletions
diff --git a/tests/installer/default.nix b/tests/installer/default.nix index 31d83699d..8c9784eaf 100644 --- a/tests/installer/default.nix +++ b/tests/installer/default.nix @@ -30,6 +30,14 @@ let }; }; + mockChannel = pkgs: + pkgs.runCommandNoCC "mock-channel" {} '' + mkdir nixexprs + mkdir $out + echo -n 'someContent' > nixexprs/someFile + tar cvf - nixexprs | bzip2 > $out/nixexprs.tar.bz2 + ''; + disableSELinux = "sudo setenforce 0"; images = { @@ -189,6 +197,9 @@ let echo "Running installer..." $ssh "set -eux; $installScript" + echo "Copying the mock channel" + scp -r -P 20022 $ssh_opts ${mockChannel pkgs} vagrant@localhost:channel + echo "Testing Nix installation..." $ssh <<EOF set -ex @@ -204,6 +215,17 @@ let out=\$(nix-build --no-substitute -E 'derivation { name = "foo"; system = "x86_64-linux"; builder = "/bin/sh"; args = ["-c" "echo foobar > \$out"]; }') [[ \$(cat \$out) = foobar ]] + + if pgrep nix-daemon; then + MAYBESUDO="sudo" + else + MAYBESUDO="" + fi + + + $MAYBESUDO \$(which nix-channel) --add file://\$HOME/channel myChannel + $MAYBESUDO \$(which nix-channel) --update + [[ \$(nix-instantiate --eval --expr 'builtins.readFile <myChannel/someFile>') = '"someContent"' ]] EOF echo "Done!" |