Skip to content
Snippets Groups Projects
Unverified Commit 4cde04f4 authored by Eelco Dolstra's avatar Eelco Dolstra
Browse files

Add tests for "nix run"

parent f5f29dc2
No related branches found
No related tags found
No related merge requests found
......@@ -18,7 +18,8 @@ nix_tests = \
structured-attrs.sh \
fetchGit.sh \
fetchMercurial.sh \
signing.sh
signing.sh \
run.sh
# parallel.sh
install-tests += $(foreach x, $(nix_tests), tests/$(x))
......
with import ./config.nix;
{
hello = mkDerivation {
name = "hello";
buildCommand =
''
mkdir -p $out/bin
cat > $out/bin/hello <<EOF
#! ${shell}
who=\$1
echo "Hello \''${who:-World} from $out/bin/hello"
EOF
chmod +x $out/bin/hello
'';
};
}
source common.sh
clearStore
clearCache
nix run -f run.nix hello -c hello | grep 'Hello World'
nix run -f run.nix hello -c hello NixOS | grep 'Hello NixOS'
if [[ $(uname) = Linux ]]; then
chmod -R u+w $TEST_ROOT/store0 || true
rm -rf $TEST_ROOT/store0
clearStore
path=$(nix eval --raw -f run.nix hello)
# Note: we need the sandbox paths to ensure that the shell is
# visible in the sandbox.
nix run --sandbox-paths '/nix? /bin? /lib? /usr?' --store $TEST_ROOT/store0 -f run.nix hello -c hello | grep 'Hello World'
path2=$(nix run --sandbox-paths '/nix? /bin? /lib? /usr?' --store $TEST_ROOT/store0 -f run.nix hello -c $SHELL -c 'type -p hello')
[[ $path/bin/hello = $path2 ]]
[[ -e $TEST_ROOT/store0/nix/store/$(basename $path)/bin/hello ]]
fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment