diff options
author | regnat <rg@regnat.ovh> | 2020-11-09 16:04:18 +0100 |
---|---|---|
committer | regnat <rg@regnat.ovh> | 2021-03-01 11:08:01 +0100 |
commit | 259d6778efd865ccd3b5fbf4f3a29002a7d58d93 (patch) | |
tree | 1829c735f47b7148113aa6096118c41d63c9a0c5 /tests/ca/content-addressed.nix | |
parent | 73b3e6cd46cf8f10b4c35043d7c0708b22ffebd6 (diff) |
Move the CA tests to a sub-directory
Requires a slight update to the test infra to work properly, but
having the possibility to group tests that way makes the whole thing
quite cleaner imho
Diffstat (limited to 'tests/ca/content-addressed.nix')
-rw-r--r-- | tests/ca/content-addressed.nix | 77 |
1 files changed, 77 insertions, 0 deletions
diff --git a/tests/ca/content-addressed.nix b/tests/ca/content-addressed.nix new file mode 100644 index 000000000..e5b1c4de3 --- /dev/null +++ b/tests/ca/content-addressed.nix @@ -0,0 +1,77 @@ +with import ../config.nix; + +{ seed ? 0 }: +# A simple content-addressed derivation. +# The derivation can be arbitrarily modified by passing a different `seed`, +# but the output will always be the same +rec { + rootLegacy = mkDerivation { + name = "simple-input-addressed"; + buildCommand = '' + set -x + echo "Building a legacy derivation" + mkdir -p $out + echo "Hello World" > $out/hello + ''; + }; + rootCA = mkDerivation { + name = "rootCA"; + outputs = [ "out" "dev" "foo"]; + buildCommand = '' + echo "building a CA derivation" + echo "The seed is ${toString seed}" + mkdir -p $out + echo ${rootLegacy}/hello > $out/dep + ln -s $out $out/self + # test symlinks at root + ln -s $out $dev + ln -s $out $foo + ''; + __contentAddressed = true; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + }; + dependentCA = mkDerivation { + name = "dependent"; + buildCommand = '' + echo "building a dependent derivation" + mkdir -p $out + cat ${rootCA}/self/dep + echo ${rootCA}/self/dep > $out/dep + ''; + __contentAddressed = true; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + }; + transitivelyDependentCA = mkDerivation { + name = "transitively-dependent"; + buildCommand = '' + echo "building transitively-dependent" + cat ${dependentCA}/dep + echo ${dependentCA} > $out + ''; + __contentAddressed = true; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + }; + dependentNonCA = mkDerivation { + name = "dependent-non-ca"; + buildCommand = '' + echo "Didn't cut-off" + echo "building dependent-non-ca" + mkdir -p $out + echo ${rootCA}/non-ca-hello > $out/dep + ''; + }; + dependentFixedOutput = mkDerivation { + name = "dependent-fixed-output"; + outputHashMode = "recursive"; + outputHashAlgo = "sha256"; + outputHash = "sha256-QvtAMbUl/uvi+LCObmqOhvNOapHdA2raiI4xG5zI5pA="; + buildCommand = '' + cat ${dependentCA}/dep + echo foo > $out + ''; + + }; +} |