about summary refs log tree commit diff
path: root/tests/nix-pull.sh
diff options
context:
space:
mode:
authorEelco Dolstra <e.dolstra@tudelft.nl>2005-01-25T17·08+0000
committerEelco Dolstra <e.dolstra@tudelft.nl>2005-01-25T17·08+0000
commit066da4ab852ebe4288536149824ea175dc36cad4 (patch)
treed9258a2d224a0574c0135cd799cb704fc8c25433 /tests/nix-pull.sh
parentc6290e42bc8890e2036013773a98e3551352c91a (diff)
* Really fix the substitute mechanism, i.e., ensure the closure
  invariant by registering references through the manifest.
* Added a test for nix-pull.

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