aboutsummaryrefslogtreecommitdiff
path: root/tests/content-addressed.sh
diff options
context:
space:
mode:
authorJohn Ericson <John.Ericson@Obsidian.Systems>2020-09-30 00:42:28 +0000
committerJohn Ericson <John.Ericson@Obsidian.Systems>2020-09-30 00:42:28 +0000
commit69afaeace355ab78010f0d849206ef4a4805d016 (patch)
treea8553d4eb406861149736443938a293c1a64ee8d /tests/content-addressed.sh
parentb7597016529cebdc3c9432a101c1f8d9227713cc (diff)
parent76f000712ed3aa8f258d68fc5ef036f1255dfada (diff)
Merge remote-tracking branch 'upstream/master' into templated-daemon-protocol
Diffstat (limited to 'tests/content-addressed.sh')
-rw-r--r--tests/content-addressed.sh25
1 files changed, 16 insertions, 9 deletions
diff --git a/tests/content-addressed.sh b/tests/content-addressed.sh
index 0ae2852d2..61ec03fe3 100644
--- a/tests/content-addressed.sh
+++ b/tests/content-addressed.sh
@@ -2,19 +2,26 @@
source common.sh
-clearStore
-clearCache
-
-export REMOTE_STORE=file://$cacheDir
-
drv=$(nix-instantiate --experimental-features ca-derivations ./content-addressed.nix -A rootCA --arg seed 1)
nix --experimental-features 'nix-command ca-derivations' show-derivation --derivation "$drv" --arg seed 1
-commonArgs=("--experimental-features" "ca-derivations" "./content-addressed.nix" "-A" "rootCA" "--no-out-link")
-out1=$(nix-build "${commonArgs[@]}" ./content-addressed.nix --arg seed 1)
-out2=$(nix-build "${commonArgs[@]}" ./content-addressed.nix --arg seed 2)
+testDerivation () {
+ local derivationPath=$1
+ local commonArgs=("--experimental-features" "ca-derivations" "./content-addressed.nix" "-A" "$derivationPath" "--no-out-link")
+ local out1 out2
+ out1=$(nix-build "${commonArgs[@]}" --arg seed 1)
+ out2=$(nix-build "${commonArgs[@]}" --arg seed 2 "${secondSeedArgs[@]}")
+ test "$out1" == "$out2"
+}
-test $out1 == $out2
+testDerivation rootCA
+# The seed only changes the root derivation, and not it's output, so the
+# dependent derivations should only need to be built once.
+secondSeedArgs=(-j0)
+# Don't directly build depenentCA, that way we'll make sure we dodn't rely on
+# dependent derivations always being already built.
+#testDerivation dependentCA
+testDerivation transitivelyDependentCA
nix-instantiate --experimental-features ca-derivations ./content-addressed.nix -A rootCA --arg seed 5
nix-collect-garbage --experimental-features ca-derivations --option keep-derivations true