about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--tests/local.mk3
-rw-r--r--tests/nix-copy-ssh.sh20
2 files changed, 22 insertions, 1 deletions
diff --git a/tests/local.mk b/tests/local.mk
index 9df0adf1bfd8..1ff68348b3c7 100644
--- a/tests/local.mk
+++ b/tests/local.mk
@@ -25,7 +25,8 @@ nix_tests = \
   pure-eval.sh \
   check.sh \
   plugins.sh \
-  search.sh
+  search.sh \
+  nix-copy-ssh.sh
   # parallel.sh
 
 install-tests += $(foreach x, $(nix_tests), tests/$(x))
diff --git a/tests/nix-copy-ssh.sh b/tests/nix-copy-ssh.sh
new file mode 100644
index 000000000000..6aba667a45a6
--- /dev/null
+++ b/tests/nix-copy-ssh.sh
@@ -0,0 +1,20 @@
+source common.sh
+
+clearStore
+clearCache
+
+remoteRoot=$TEST_ROOT/store2
+chmod -R u+w "$remoteRoot" || true
+rm -rf "$remoteRoot"
+
+outPath=$(nix-build dependencies.nix)
+
+nix copy --to "ssh://localhost?store=$NIX_STORE_DIR&remote-store=$remoteRoot%3fstore=$NIX_STORE_DIR%26real=$remoteRoot$NIX_STORE_DIR" $outPath
+
+[ -f $remoteRoot$outPath/foobar ]
+
+clearStore
+
+nix copy --no-check-sigs --from "ssh://localhost?store=$NIX_STORE_DIR&remote-store=$remoteRoot%3fstore=$NIX_STORE_DIR%26real=$remoteRoot$NIX_STORE_DIR" $outPath
+
+[ -f $outPath/foobar ]