diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-11-20T17·36+0100 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-11-20T17·36+0100 |
commit | 4cde04f476fa0f61680f8e53fe81cc70923689fc (patch) | |
tree | a30420970031575550981df402f965ec69d8d5cb /tests/run.sh | |
parent | f5f29dc2b7c266875fb9cbb0c8d5cdde3ac4a73c (diff) |
Add tests for "nix run"
Diffstat (limited to 'tests/run.sh')
-rw-r--r-- | tests/run.sh | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/run.sh b/tests/run.sh new file mode 100644 index 000000000000..1ba181c9cd53 --- /dev/null +++ b/tests/run.sh @@ -0,0 +1,27 @@ +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 |