about summary refs log tree commit diff
path: root/tests/run.sh
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2017-11-20T17·36+0100
committerEelco Dolstra <edolstra@gmail.com>2017-11-20T17·36+0100
commit4cde04f476fa0f61680f8e53fe81cc70923689fc (patch)
treea30420970031575550981df402f965ec69d8d5cb /tests/run.sh
parentf5f29dc2b7c266875fb9cbb0c8d5cdde3ac4a73c (diff)
Add tests for "nix run"
Diffstat (limited to 'tests/run.sh')
-rw-r--r--tests/run.sh27
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