about summary refs log tree commit diff
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 36b09593de62..c8e06109d1f6 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