diff --git a/Makefile.am b/Makefile.am index b46d3673e3ba8a8828be60b01cff011ed03594ba..4f8803dc1a7eed073434015e6506621f8532baf6 100644 --- a/Makefile.am +++ b/Makefile.am @@ -37,6 +37,7 @@ test_cases = \ tests/extensions/variables/string.svtest \ tests/extensions/variables/errors.svtest \ tests/extensions/include/variables.svtest \ + tests/extensions/include/errors.svtest \ tests/extensions/imapflags/basic.svtest \ tests/extensions/imapflags/hasflag.svtest \ tests/compile/compile.svtest \ diff --git a/src/lib-sieve/plugins/include/include-variables-error2.sieve b/src/lib-sieve/plugins/include/include-variables-error2.sieve deleted file mode 100644 index f06a7df1ac23a021d7969fb49d22eeab6db0011b..0000000000000000000000000000000000000000 --- a/src/lib-sieve/plugins/include/include-variables-error2.sieve +++ /dev/null @@ -1,6 +0,0 @@ -require "include"; -require "variables"; -import "frop"; -import ["friep", "frml"]; -export ["friep"]; - diff --git a/tests/extensions/include/errors.svtest b/tests/extensions/include/errors.svtest new file mode 100644 index 0000000000000000000000000000000000000000..a326070608c5791182a1999e8037d122d090d67a --- /dev/null +++ b/tests/extensions/include/errors.svtest @@ -0,0 +1,32 @@ +require "vnd.dovecot.testsuite"; + +require "relational"; +require "comparator-i;ascii-numeric"; + +/* + * Using import/export without variables required + */ + +test "Variables inactive" { + if test_compile "errors/variables-inactive.sieve" { + test_fail "compile should have failed"; + } + + if not test_error :count "eq" :comparator "i;ascii-numeric" "3" { + test_fail "wrong number of errors reported"; + } +} + +/* + * Generic variables errors + */ + +test "Variables" { + if test_compile "errors/variables.sieve" { + test_fail "compile should have failed"; + } + + if not test_error :count "eq" :comparator "i;ascii-numeric" "5" { + test_fail "wrong number of errors reported"; + } +} diff --git a/src/lib-sieve/plugins/include/include-variables-error.sieve b/tests/extensions/include/errors/variables-inactive.sieve similarity index 80% rename from src/lib-sieve/plugins/include/include-variables-error.sieve rename to tests/extensions/include/errors/variables-inactive.sieve index bb2b5bcb427b61c6e177fce4f7b1c6eb86426ff9..5506db357cb12b36bc291a16ec935c5becbe1b50 100644 --- a/src/lib-sieve/plugins/include/include-variables-error.sieve +++ b/tests/extensions/include/errors/variables-inactive.sieve @@ -1,5 +1,7 @@ require "include"; require "fileinto"; + +import "friep"; export "frop"; fileinto "Frop"; diff --git a/tests/extensions/include/errors/variables.sieve b/tests/extensions/include/errors/variables.sieve new file mode 100644 index 0000000000000000000000000000000000000000..ac6e9a6bd66ad15c0c661a83f70bf2615c79235d --- /dev/null +++ b/tests/extensions/include/errors/variables.sieve @@ -0,0 +1,18 @@ +require "include"; +require "variables"; + +# Importing unknown variable +import "frop"; + +# Importing unknown variable +import ["friep", "frml"]; + +# Not an error +export ["friep"]; + +import "friep"; + +keep; + +export "friep"; +