diff options
Diffstat (limited to 'lib/tests')
-rwxr-xr-x | lib/tests/modules.sh | 7 | ||||
-rw-r--r-- | lib/tests/modules/declare-coerced-value-unsound.nix | 10 | ||||
-rw-r--r-- | lib/tests/modules/define-value-string-arbitrary.nix | 3 | ||||
-rw-r--r-- | lib/tests/modules/define-value-string-bigint.nix | 3 |
4 files changed, 22 insertions, 1 deletions
diff --git a/lib/tests/modules.sh b/lib/tests/modules.sh index 96a91c0fffbc..c6b3fd912a9b 100755 --- a/lib/tests/modules.sh +++ b/lib/tests/modules.sh @@ -136,7 +136,12 @@ checkConfigOutput "true" "$@" ./define-module-check.nix # Check coerced value. checkConfigOutput "\"42\"" config.value ./declare-coerced-value.nix checkConfigOutput "\"24\"" config.value ./declare-coerced-value.nix ./define-value-string.nix -checkConfigError 'The option value .* in .* is not.*string or signed integer.*' config.value ./declare-coerced-value.nix ./define-value-list.nix +checkConfigError 'The option value .* in .* is not.*string or signed integer convertible to it' config.value ./declare-coerced-value.nix ./define-value-list.nix + +# Check coerced value with unsound coercion +checkConfigOutput "12" config.value ./declare-coerced-value-unsound.nix +checkConfigError 'The option value .* in .* is not.*8 bit signed integer.* or string convertible to it' config.value ./declare-coerced-value-unsound.nix ./define-value-string-bigint.nix +checkConfigError 'unrecognised JSON value' config.value ./declare-coerced-value-unsound.nix ./define-value-string-arbitrary.nix cat <<EOF ====== module tests ====== diff --git a/lib/tests/modules/declare-coerced-value-unsound.nix b/lib/tests/modules/declare-coerced-value-unsound.nix new file mode 100644 index 000000000000..7a017f24e77d --- /dev/null +++ b/lib/tests/modules/declare-coerced-value-unsound.nix @@ -0,0 +1,10 @@ +{ lib, ... }: + +{ + options = { + value = lib.mkOption { + default = "12"; + type = lib.types.coercedTo lib.types.str lib.toInt lib.types.ints.s8; + }; + }; +} diff --git a/lib/tests/modules/define-value-string-arbitrary.nix b/lib/tests/modules/define-value-string-arbitrary.nix new file mode 100644 index 000000000000..8e3abaf536a0 --- /dev/null +++ b/lib/tests/modules/define-value-string-arbitrary.nix @@ -0,0 +1,3 @@ +{ + value = "foobar"; +} diff --git a/lib/tests/modules/define-value-string-bigint.nix b/lib/tests/modules/define-value-string-bigint.nix new file mode 100644 index 000000000000..f27e31985c92 --- /dev/null +++ b/lib/tests/modules/define-value-string-bigint.nix @@ -0,0 +1,3 @@ +{ + value = "1000"; +} |