diff options
author | Eelco Dolstra <edolstra@gmail.com> | 2017-10-25T11·01+0200 |
---|---|---|
committer | Eelco Dolstra <edolstra@gmail.com> | 2017-10-25T11·01+0200 |
commit | 2d5b1b24bf70a498e4c0b378704cfdb6471cc699 (patch) | |
tree | 80e7c28cb3431ed6a3fbb080f769f9016ea564c5 /tests/structured-attrs.nix | |
parent | ac12517f3e969db9fb4834fdfd2da63101ffd3de (diff) |
Pass lists/attrsets to bash as (associative) arrays
Diffstat (limited to 'tests/structured-attrs.nix')
-rw-r--r-- | tests/structured-attrs.nix | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/tests/structured-attrs.nix b/tests/structured-attrs.nix new file mode 100644 index 000000000000..2adc6b6c34f3 --- /dev/null +++ b/tests/structured-attrs.nix @@ -0,0 +1,47 @@ +with import ./config.nix; + +mkDerivation { + name = "structured"; + + __structuredAttrs = true; + + buildCommand = '' + set -x + + [[ $int = 123456789 ]] + [[ -z $float ]] + [[ -n $boolTrue ]] + [[ -z $boolFalse ]] + [[ -n ''${hardening[format]} ]] + [[ -z ''${hardening[fortify]} ]] + [[ ''${#buildInputs[@]} = 7 ]] + [[ ''${buildInputs[2]} = c ]] + [[ -v nothing ]] + [[ -z $nothing ]] + + mkdir ''${outputs[out]} + echo bar > $dest + ''; + + buildInputs = [ "a" "b" "c" 123 "'" "\"" null ]; + + hardening.format = true; + hardening.fortify = false; + + outer.inner = [ 1 2 3 ]; + + int = 123456789; + + float = 123.456; + + boolTrue = true; + boolFalse = false; + + nothing = null; + + dest = "${placeholder "out"}/foo"; + + "foo bar" = "BAD"; + "1foobar" = "BAD"; + "foo$" = "BAD"; +} |