Activate hermetic.nix variation only for new layered store tests

This commit is contained in:
John Ericson 2024-02-29 10:06:53 -05:00
parent cb4f85f11c
commit 9b506ff0c1
3 changed files with 12 additions and 7 deletions

View file

@ -1,4 +1,9 @@
{ busybox, seed }: { busybox
, seed
# If we want the final derivation output to have references to its
# dependencies. Some tests need/want this, other don't.
, withFinalRefs ? false
}:
with import ./config.nix; with import ./config.nix;
@ -54,6 +59,6 @@ in
'' ''
read x < ${input1} read x < ${input1}
read y < ${input3} read y < ${input3}
echo ${input1} ${input3} "$x $y" > $out echo ${if (builtins.trace withFinalRefs withFinalRefs) then "${input1} ${input3}" else ""} "$x $y" > $out
''; '';
} }

View file

@ -65,7 +65,7 @@ initLowerStore () {
nix-store --store "$storeA" --add ../dummy nix-store --store "$storeA" --add ../dummy
# Build something in lower store # Build something in lower store
drvPath=$(nix-instantiate --store $storeA ../hermetic.nix --arg busybox "$busybox" --arg seed 1) drvPath=$(nix-instantiate --store $storeA ../hermetic.nix --arg withFinalRefs true --arg busybox "$busybox" --arg seed 1)
pathInLowerStore=$(nix-store --store "$storeA" --realise $drvPath) pathInLowerStore=$(nix-store --store "$storeA" --realise $drvPath)
} }

View file

@ -16,10 +16,10 @@ mountOverlayfs
export NIX_REMOTE="$storeB" export NIX_REMOTE="$storeB"
stateB="$storeBRoot/nix/var/nix" stateB="$storeBRoot/nix/var/nix"
hermetic=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg seed 2) hermetic=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg withFinalRefs true --arg seed 2)
input1=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg seed 2 -A passthru.input1 -j0) input1=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg withFinalRefs true --arg seed 2 -A passthru.input1 -j0)
input2=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg seed 2 -A passthru.input2 -j0) input2=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg withFinalRefs true --arg seed 2 -A passthru.input2 -j0)
input3=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg seed 2 -A passthru.input3 -j0) input3=$(nix-build ../hermetic.nix --no-out-link --arg busybox "$busybox" --arg withFinalRefs true --arg seed 2 -A passthru.input3 -j0)
# Can't delete because referenced # Can't delete because referenced
expectStderr 1 nix-store --delete $input1 | grepQuiet "Cannot delete path" expectStderr 1 nix-store --delete $input1 | grepQuiet "Cannot delete path"