diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-01-31 22:23:49 +0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-01-31 22:23:49 +0000 |
commit | 32fa82a56a2c4a937c91f72be16339b4ddf7cdf1 (patch) | |
tree | 3e84b69bb6d46bf8461b8544e80a5f3da0d40f7f /tests | |
parent | 89c9bc11abc02cc746838bfef101e5fecc59a6c5 (diff) |
* Acquire a global GC lock to prevent new temporary root files from
being created after the garbage collector has read the temproots
directory. This blocks the creation of new processes, but the
garbage collector could periodically release the GC lock to allow
them to run.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Makefile.am | 8 | ||||
-rw-r--r-- | tests/gc-concurrent.sh | 3 |
2 files changed, 7 insertions, 4 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index e1c158500..c88379e47 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -36,10 +36,10 @@ nix-pull.sh: dependencies.nix gc.sh: dependencies.nix gc-concurrent.sh: gc-concurrent.nix gc-concurrent2.nix -#TESTS = init.sh hash.sh lang.sh simple.sh dependencies.sh locking.sh parallel.sh \ -# build-hook.sh substitutes.sh substitutes2.sh fallback.sh nix-push.sh gc.sh \ -# gc-concurrent.sh verify.sh nix-pull.sh -TESTS = init.sh gc-concurrent.sh +TESTS = init.sh hash.sh lang.sh simple.sh dependencies.sh locking.sh parallel.sh \ + build-hook.sh substitutes.sh substitutes2.sh fallback.sh nix-push.sh gc.sh \ + gc-concurrent.sh verify.sh nix-pull.sh +#TESTS = init.sh gc-concurrent.sh XFAIL_TESTS = diff --git a/tests/gc-concurrent.sh b/tests/gc-concurrent.sh index fd329b457..c85a03e1c 100644 --- a/tests/gc-concurrent.sh +++ b/tests/gc-concurrent.sh @@ -6,6 +6,8 @@ outPath2=$($TOP/src/nix-store/nix-store -q $storeExpr2) ls -l test-tmp/state/temproots +ln -s $storeExpr2 "$NIX_LOCALSTATE_DIR"/nix/gcroots/foo2 + # Start build #1 in the background. It starts immediately. $TOP/src/nix-store/nix-store -rvv "$storeExpr1" & pid1=$! @@ -31,4 +33,5 @@ wait $pid2 cat $outPath1/foobar cat $outPath1/input-2/bar +# Build #2 should have failed because its derivation got garbage collected. cat $outPath2/foobar |