aboutsummaryrefslogtreecommitdiff
path: root/tests/gc.sh
diff options
context:
space:
mode:
Diffstat (limited to 'tests/gc.sh')
-rw-r--r--tests/gc.sh12
1 files changed, 11 insertions, 1 deletions
diff --git a/tests/gc.sh b/tests/gc.sh
index 36b09593d..c8e06109d 100644
--- a/tests/gc.sh
+++ b/tests/gc.sh
@@ -7,6 +7,11 @@ outPath=$($nixstore -rvv "$drvPath")
rm -f "$NIX_STATE_DIR"/gcroots/foo
ln -sf $outPath "$NIX_STATE_DIR"/gcroots/foo
+$nixstore --gc --print-roots | grep $outPath
+$nixstore --gc --print-live | grep $outPath
+$nixstore --gc --print-dead | grep $drvPath
+if $nixstore --gc --print-dead | grep $outPath; then false; fi
+
$NIX_BIN_DIR/nix-collect-garbage
# Check that the root and its dependencies haven't been deleted.
@@ -14,6 +19,11 @@ cat $outPath/foobar
cat $outPath/input-2/bar
# Check that the derivation has been GC'd.
-if cat $drvPath > /dev/null; then false; fi
+if test -e $drvPath; then false; fi
rm "$NIX_STATE_DIR"/gcroots/foo
+
+$NIX_BIN_DIR/nix-collect-garbage
+
+# Check that the output has been GC'd.
+if test -e $outPath/foobar; then false; fi