about summary refs log tree commit diff
path: root/tests/nix-pull.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/nix-pull.sh')
-rw-r--r--tests/nix-pull.sh33
1 files changed, 33 insertions, 0 deletions
diff --git a/tests/nix-pull.sh b/tests/nix-pull.sh
new file mode 100644
index 000000000000..9a17f5bf6026
--- /dev/null
+++ b/tests/nix-pull.sh
@@ -0,0 +1,33 @@
+clearStore () {
+    echo "clearing store..."
+    chmod -R +w "$NIX_STORE_DIR"
+    rm -rf "$NIX_STORE_DIR"
+    mkdir "$NIX_STORE_DIR"
+    rm -rf "$NIX_DB_DIR"
+    mkdir "$NIX_DB_DIR"
+    $TOP/src/nix-store/nix-store --init
+}
+
+pullCache () {
+    echo "pulling cache..."
+    $PERL -w -I$TOP/scripts $TOP/scripts/nix-pull file://$TEST_ROOT/manifest
+}
+
+clearStore
+pullCache
+
+drvPath=$($TOP/src/nix-instantiate/nix-instantiate dependencies.nix)
+outPath=$($TOP/src/nix-store/nix-store -q $drvPath)
+
+echo "building $outPath using substitutes..."
+$TOP/src/nix-store/nix-store -r $outPath
+
+cat $outPath/input-2/bar
+
+clearStore
+pullCache
+
+echo "building $drvPath using substitutes..."
+$TOP/src/nix-store/nix-store -r $drvPath
+
+cat $outPath/input-2/bar