about summary refs log tree commit diff
path: root/tests/gc.sh
blob: 36b09593de626b7a5b88b65f35a075c5814c6b8a (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
source common.sh

drvPath=$($nixinstantiate dependencies.nix)
outPath=$($nixstore -rvv "$drvPath")

# Set a GC root.
rm -f "$NIX_STATE_DIR"/gcroots/foo
ln -sf $outPath "$NIX_STATE_DIR"/gcroots/foo

$NIX_BIN_DIR/nix-collect-garbage

# Check that the root and its dependencies haven't been deleted.
cat $outPath/foobar
cat $outPath/input-2/bar

# Check that the derivation has been GC'd.
if cat $drvPath > /dev/null; then false; fi

rm "$NIX_STATE_DIR"/gcroots/foo