diff --git a/tests/gc.sh b/tests/gc.sh index 36b09593de..c8e06109d1 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