diff options
author | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-12-11T19·25+0000 |
---|---|---|
committer | Eelco Dolstra <e.dolstra@tudelft.nl> | 2005-12-11T19·25+0000 |
commit | 18bbcb1214caf75c0190e610d7eb34e971366c7c (patch) | |
tree | d3146c4fdbfed77cabd4151a146a865be1bd40ed | |
parent | a33b561a6b2e5cbc805f903817a3a3d5df03b747 (diff) |
* Add a test to demonstrate the quadratic complexity of referrer
(de)registration, in particular garbage collection (NIX-23).
-rw-r--r-- | tests/Makefile.am | 2 | ||||
-rw-r--r-- | tests/referrers.sh | 15 |
2 files changed, 16 insertions, 1 deletions
diff --git a/tests/Makefile.am b/tests/Makefile.am index 13643b7f6b26..f024ca8b9694 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -39,7 +39,7 @@ 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 + gc-concurrent.sh verify.sh nix-pull.sh referrers.sh XFAIL_TESTS = diff --git a/tests/referrers.sh b/tests/referrers.sh new file mode 100644 index 000000000000..a4ef34803a74 --- /dev/null +++ b/tests/referrers.sh @@ -0,0 +1,15 @@ +max=5000 + +reference=$NIX_STORE_DIR/abcdef +touch $reference +(echo $reference && echo && echo 0) | $TOP/src/nix-store/nix-store --register-validity + +echo "registering..." +time for ((n = 0; n < $max; n ++)); do + storePath=$NIX_STORE_DIR/$n + touch $storePath + (echo $storePath && echo && echo 1 && echo $reference) +done | $TOP/src/nix-store/nix-store --register-validity + +echo "collecting garbage..." +time $TOP/src/nix-store/nix-store --gc 2> /dev/null |