diff options
author | piegames <git@piegames.de> | 2024-08-18 16:02:23 +0200 |
---|---|---|
committer | piegames <git@piegames.de> | 2024-08-21 06:55:52 +0000 |
commit | 7210ed1b87410a0df597c0c4efe642bf82cc2b06 (patch) | |
tree | 85be2a9cc889c74da6a16dd8ca64713f86ce8691 /tests | |
parent | ac6974777efdaa85715cf7838fe878665061f86c (diff) |
libexpr: Soft-deprecate __overrides
Change-Id: I787e69e1dad6edc5ccdb747b74a9ccd6e8e13bb3
Diffstat (limited to 'tests')
13 files changed, 40 insertions, 6 deletions
diff --git a/tests/functional/lang.sh b/tests/functional/lang.sh index aa41b41d8..59db10340 100755 --- a/tests/functional/lang.sh +++ b/tests/functional/lang.sh @@ -53,10 +53,11 @@ done for i in lang/parse-okay-*.nix; do echo "parsing $i (should succeed)"; i=$(basename "$i" .nix) - # Hard-code that these two files are allowed to use url literals (because they test them) - if [[ "$i" == "parse-okay-url" || "$i" == "parse-okay-regression-20041027" ]] - then - extraArgs="--extra-deprecated-features url-literals" + + if [ -e "lang/$i.flags" ]; then + extraArgs="$(cat "lang/$i.flags")" + else + extraArgs="" fi if expect 0 nix-instantiate --parse ${extraArgs-} - < "lang/$i.nix" \ @@ -75,8 +76,14 @@ done for i in lang/eval-fail-*.nix; do echo "evaluating $i (should fail)"; i=$(basename "$i" .nix) + + if [ -e "lang/$i.flags" ]; then + extraArgs="$(cat "lang/$i.flags")" + else + extraArgs="" + fi if - expectStderr 1 nix-instantiate --eval --strict --show-trace "lang/$i.nix" \ + expectStderr 1 nix-instantiate --eval --strict --show-trace ${extraArgs-} "lang/$i.nix" \ | sed "s!$(pwd)!/pwd!g" > "lang/$i.err" then diffAndAccept "$i" err err.exp @@ -90,8 +97,14 @@ for i in lang/eval-okay-*.nix; do echo "evaluating $i (should succeed)"; i=$(basename "$i" .nix) + if [ -e "lang/$i.flags" ]; then + extraArgs="$(cat "lang/$i.flags")" + else + extraArgs="" + fi + if test -e "lang/$i.exp.xml"; then - if expect 0 nix-instantiate --eval --xml --no-location --strict \ + if expect 0 nix-instantiate --eval --xml --no-location --strict ${extraArgs-} \ "lang/$i.nix" > "lang/$i.out.xml" then diffAndAccept "$i" out.xml exp.xml diff --git a/tests/functional/lang/eval-fail-set-override.flags b/tests/functional/lang/eval-fail-set-override.flags new file mode 100644 index 000000000..a0e513a81 --- /dev/null +++ b/tests/functional/lang/eval-fail-set-override.flags @@ -0,0 +1 @@ +--extra-deprecated-features rec-set-overrides diff --git a/tests/functional/lang/eval-okay-attrs6.flags b/tests/functional/lang/eval-okay-attrs6.flags new file mode 100644 index 000000000..a0e513a81 --- /dev/null +++ b/tests/functional/lang/eval-okay-attrs6.flags @@ -0,0 +1 @@ +--extra-deprecated-features rec-set-overrides diff --git a/tests/functional/lang/eval-okay-inherit-from.flags b/tests/functional/lang/eval-okay-inherit-from.flags new file mode 100644 index 000000000..a0e513a81 --- /dev/null +++ b/tests/functional/lang/eval-okay-inherit-from.flags @@ -0,0 +1 @@ +--extra-deprecated-features rec-set-overrides diff --git a/tests/functional/lang/eval-okay-overrides.flags b/tests/functional/lang/eval-okay-overrides.flags new file mode 100644 index 000000000..a0e513a81 --- /dev/null +++ b/tests/functional/lang/eval-okay-overrides.flags @@ -0,0 +1 @@ +--extra-deprecated-features rec-set-overrides diff --git a/tests/functional/lang/parse-okay-rec-set-override-nowarning.exp b/tests/functional/lang/parse-okay-rec-set-override-nowarning.exp new file mode 120000 index 000000000..687e738ee --- /dev/null +++ b/tests/functional/lang/parse-okay-rec-set-override-nowarning.exp @@ -0,0 +1 @@ +parse-okay-rec-set-override-warning.exp
\ No newline at end of file diff --git a/tests/functional/lang/parse-okay-rec-set-override-nowarning.flags b/tests/functional/lang/parse-okay-rec-set-override-nowarning.flags new file mode 100644 index 000000000..a0e513a81 --- /dev/null +++ b/tests/functional/lang/parse-okay-rec-set-override-nowarning.flags @@ -0,0 +1 @@ +--extra-deprecated-features rec-set-overrides diff --git a/tests/functional/lang/parse-okay-rec-set-override-nowarning.nix b/tests/functional/lang/parse-okay-rec-set-override-nowarning.nix new file mode 120000 index 000000000..f92d1596f --- /dev/null +++ b/tests/functional/lang/parse-okay-rec-set-override-nowarning.nix @@ -0,0 +1 @@ +parse-okay-rec-set-override-warning.nix
\ No newline at end of file diff --git a/tests/functional/lang/parse-okay-rec-set-override-warning.err.exp b/tests/functional/lang/parse-okay-rec-set-override-warning.err.exp new file mode 100644 index 000000000..5ed2d7dee --- /dev/null +++ b/tests/functional/lang/parse-okay-rec-set-override-warning.err.exp @@ -0,0 +1,2 @@ +warning: __overrides found at «stdin»:3:16. This feature is deprecated and will be removed in the future. Use --extra-deprecated-features rec-set-overrides to silence this warning. +warning: __overrides found at «stdin»:4:2. This feature is deprecated and will be removed in the future. Use --extra-deprecated-features rec-set-overrides to silence this warning. diff --git a/tests/functional/lang/parse-okay-rec-set-override-warning.exp b/tests/functional/lang/parse-okay-rec-set-override-warning.exp new file mode 100644 index 000000000..ea17c88f5 --- /dev/null +++ b/tests/functional/lang/parse-okay-rec-set-override-warning.exp @@ -0,0 +1 @@ +[ ({ a = rec { __overrides = { }; }; }) (rec { __overrides = { }; }) ({ __overrides = { }; }) (rec { "${("__overrides" + "")}" = { }; }) ] diff --git a/tests/functional/lang/parse-okay-rec-set-override-warning.nix b/tests/functional/lang/parse-okay-rec-set-override-warning.nix new file mode 100644 index 000000000..a81d46d53 --- /dev/null +++ b/tests/functional/lang/parse-okay-rec-set-override-warning.nix @@ -0,0 +1,9 @@ +[ + # Should warn + { a = rec {}; a.__overrides = {}; } + rec { __overrides = {}; } + # Should not warn: Not recursive + { __overrides = {}; } + # Should not warn: Dynamic + rec { ${"__overrides" + ""} = {}; } +] diff --git a/tests/functional/lang/parse-okay-regression-20041027.flags b/tests/functional/lang/parse-okay-regression-20041027.flags new file mode 100644 index 000000000..86329a66e --- /dev/null +++ b/tests/functional/lang/parse-okay-regression-20041027.flags @@ -0,0 +1 @@ +--extra-deprecated-features url-literals diff --git a/tests/functional/lang/parse-okay-url.flags b/tests/functional/lang/parse-okay-url.flags new file mode 100644 index 000000000..86329a66e --- /dev/null +++ b/tests/functional/lang/parse-okay-url.flags @@ -0,0 +1 @@ +--extra-deprecated-features url-literals |