forked from lix-project/lix
6ada496311
The test illustrates failure in issue #5320. Here derivation and it's built input have identical CA sotre path. As a result we generate extraneout reference to build input: $ make installcheck ... ran test tests/selfref-gc.sh... [PASS] ran test tests/ca/selfref-gc.sh... [FAIL] ... deleting '/tmp/.../tests/ca/selfref-gc/store/iqciq1mpg5hc7p6a52fp2bjxbyc9av0v-selfref-gc' deleting '/tmp/...tests/ca/selfref-gc/store/zh0kwpnirw3qbv6dl1ckr1y0kd5aw6ax-selfref-gc.drv' error: executing SQLite statement 'delete from ValidPaths where path = '/tmp/.../tests/ca/selfref-gc/store/fsjq0k146r85lsh01l0icl30rnhv7z72-selfref-gc';': constraint failed (in '/tmp/.../tests/ca/selfref-gc/var/nix/db/db.sqlite')
29 lines
514 B
Bash
29 lines
514 B
Bash
source common.sh
|
|
|
|
clearStore
|
|
|
|
nix-build --no-out-link -E '
|
|
with import ./config.nix;
|
|
|
|
let d1 = mkDerivation {
|
|
name = "selfref-gc";
|
|
outputs = [ "out" ];
|
|
buildCommand = "
|
|
echo SELF_REF: $out > $out
|
|
";
|
|
}; in
|
|
|
|
# the only change from d1 is d1 as an (unused) build input
|
|
# to get identical store path in CA.
|
|
mkDerivation {
|
|
name = "selfref-gc";
|
|
outputs = [ "out" ];
|
|
buildCommand = "
|
|
echo UNUSED: ${d1}
|
|
echo SELF_REF: $out > $out
|
|
";
|
|
}
|
|
'
|
|
|
|
nix-collect-garbage
|