mirror of
https://github.com/NixOS/nix
synced 2025-07-07 14:21:48 +02:00
* Foreign key support in SQLite is not a persistent setting, so enable
it at startup. * Implement negative caching. Now `make check' passes.
This commit is contained in:
parent
9c9a88e9e2
commit
1930570ad9
4 changed files with 25 additions and 29 deletions
|
@ -3,6 +3,8 @@ source common.sh
|
|||
# This takes way to long on Cygwin (because process creation is so slow...).
|
||||
if test "$system" = i686-cygwin; then exit 0; fi
|
||||
|
||||
clearStore
|
||||
|
||||
max=2500
|
||||
|
||||
reference=$NIX_STORE_DIR/abcdef
|
||||
|
@ -25,34 +27,11 @@ echo "registering..."
|
|||
|
||||
time $nixstore --register-validity < $TEST_ROOT/reg_info
|
||||
|
||||
oldTime=$(cat test-tmp/db/info/1 | grep Registered-At)
|
||||
|
||||
echo "sleeping..."
|
||||
|
||||
sleep 2
|
||||
|
||||
echo "reregistering..."
|
||||
|
||||
time $nixstore --register-validity --reregister < $TEST_ROOT/reg_info
|
||||
|
||||
newTime=$(cat test-tmp/db/info/1 | grep Registered-At)
|
||||
|
||||
if test "$newTime" != "$oldTime"; then
|
||||
echo "reregistration changed original registration time"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if test "$(cat test-tmp/db/referrer/1 | wc -w)" -ne 1; then
|
||||
echo "reregistration duplicated referrers"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "collecting garbage..."
|
||||
ln -sfn $reference "$NIX_STATE_DIR"/gcroots/ref
|
||||
time $nixstore --gc
|
||||
|
||||
if test "$(cat test-tmp/db/referrer/abcdef | wc -w)" -ne 0; then
|
||||
if test "$(sqlite3 ./test-tmp/db/db.sqlite 'select count(*) from Refs')" -ne 0; then
|
||||
echo "referrers not cleaned up"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue