aboutsummaryrefslogtreecommitdiff
path: root/tests/installer
diff options
context:
space:
mode:
authorThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-03-23 21:47:27 +0100
committerThéophane Hufschmitt <theophane.hufschmitt@tweag.io>2023-03-23 21:58:59 +0100
commit717e81df1337da4c59a004d13ff503500d61ba5a (patch)
treebb540a027a1bce5d605cc4919af1165249cbe741 /tests/installer
parentcff3149a019bb37e6c8886ab17b4b2d332bef5e0 (diff)
Test the installation of a simple package in the install tests
Diffstat (limited to 'tests/installer')
-rw-r--r--tests/installer/default.nix22
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!"