diff options
author | regnat <rg@regnat.ovh> | 2020-12-03 13:20:53 +0100 |
---|---|---|
committer | regnat <rg@regnat.ovh> | 2020-12-03 13:31:07 +0100 |
commit | 8ad72b1f1c272d01d5d67b21553fc261c8df5302 (patch) | |
tree | 83590d25d02091cd275837ed79c40d36d4b76721 /tests | |
parent | 0afab668fa3f20f091dec0a31fc0b0fbaac2afde (diff) |
Properly test early cutoff with CA derivations
Build things with a different seed each time to make sure that it works
despite the different drvs
Diffstat (limited to 'tests')
-rw-r--r-- | tests/content-addressed.sh | 16 |
1 files changed, 9 insertions, 7 deletions
diff --git a/tests/content-addressed.sh b/tests/content-addressed.sh index 52f7529b5..03eff549c 100644 --- a/tests/content-addressed.sh +++ b/tests/content-addressed.sh @@ -7,30 +7,32 @@ nix --experimental-features 'nix-command ca-derivations' show-derivation --deriv buildAttr () { local derivationPath=$1 - shift - local args=("--experimental-features" "ca-derivations" "./content-addressed.nix" "-A" "$derivationPath" "--no-out-link") + local seedValue=$2 + shift; shift + local args=("--experimental-features" "ca-derivations" "./content-addressed.nix" "-A" "$derivationPath" --arg seed "$seedValue" "--no-out-link") args+=("$@") nix-build "${args[@]}" } testRemoteCache () { clearCache - local outPath=$(buildAttr dependentNonCA) + local outPath=$(buildAttr dependentNonCA 1) nix copy --to file://$cacheDir $outPath clearStore - buildAttr dependentNonCA --option substituters file://$cacheDir --no-require-sigs |& (! grep "building dependent-non-ca") + buildAttr dependentNonCA 1 --option substituters file://$cacheDir --no-require-sigs |& (! grep "building dependent-non-ca") } testDeterministicCA () { - [[ $(buildAttr rootCA) = $(buildAttr rootCA) ]] + [[ $(buildAttr rootCA 1) = $(buildAttr rootCA 2) ]] } testCutoffFor () { local out1 out2 - out1=$(buildAttr $1) + out1=$(buildAttr $1 1) # The seed only changes the root derivation, and not it's output, so the # dependent derivations should only need to be built once. - out2=$(buildAttr $1 -j0) + buildAttr rootCA 2 + out2=$(buildAttr $1 2 -j0) test "$out1" == "$out2" } |