diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-07-21T12·46+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2006-07-21T12·46+0000 |
commit | 7adaa6d4466063893c9ac6b5b7d71c423be34b69 (patch) | |
tree | 144e3b4f6e9c070d56e45c218e27c5a9e0cc8f57 /tests/gc-runtime.sh | |
parent | dcded7da4704ae66ebbb4343597868a7eb992aa7 (diff) |
* Test for runtime root finding.
Diffstat (limited to 'tests/gc-runtime.sh')
-rw-r--r-- | tests/gc-runtime.sh | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/tests/gc-runtime.sh b/tests/gc-runtime.sh new file mode 100644 index 000000000000..5a6e0da8cda2 --- /dev/null +++ b/tests/gc-runtime.sh @@ -0,0 +1,39 @@ +source common.sh + +case $system in + *linux*) + ;; + *) + exit 0; +esac + +set -m # enable job control, needed for kill + +profiles="$NIX_STATE_DIR"/profiles +rm -f $profiles/* + +$nixenv -p $profiles/test -f ./gc-runtime.nix -i gc-runtime + +outPath=$($nixenv -p $profiles/test -q --no-name --out-path gc-runtime) +echo $outPath + +echo "backgrounding program..." +$profiles/test/program & +child=$! +echo PID=$child + +$nixenv -p $profiles/test -e gc-runtime +$nixenv -p $profiles/test --delete-generations old + +cp $TOP/scripts/find-runtime-roots.pl $TEST_ROOT/foo.pl +chmod +x $TEST_ROOT/foo.pl +NIX_ROOT_FINDER=$TEST_ROOT/foo.pl $nixstore --gc + +kill -- -$child + +if ! test -e $outPath; then + echo "running program was garbage collected!" + exit 1 +fi + +exit 0 |