From 7170fd8817b6e138668bb7e919b352a4d4f2d336 Mon Sep 17 00:00:00 2001 From: Stephan Bosch <stephan@rename-it.nl> Date: Tue, 26 Aug 2008 17:04:27 +0200 Subject: [PATCH] Testsuite: added simple runtime action conflict tests. --- Makefile.am | 3 +- tests/execute/errors.svtest | 46 +++++++++++++++++++ ...s.sieve => conflict-reject-fileinto.sieve} | 4 +- .../execute/errors/conflict-reject-keep.sieve | 4 ++ .../errors/conflict-reject-redirect.sieve | 4 ++ 5 files changed, 58 insertions(+), 3 deletions(-) create mode 100644 tests/execute/errors.svtest rename tests/execute/errors/{action-conflicts.sieve => conflict-reject-fileinto.sieve} (50%) create mode 100644 tests/execute/errors/conflict-reject-keep.sieve create mode 100644 tests/execute/errors/conflict-reject-redirect.sieve diff --git a/Makefile.am b/Makefile.am index 06b7be874..d024778fb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -50,7 +50,8 @@ test_cases = \ tests/extensions/subaddress/rfc.svtest \ tests/compile/compile.svtest \ tests/compile/examples.svtest \ - tests/compile/errors.svtest + tests/compile/errors.svtest \ + tests/execute/errors.svtest $(test_cases): @$(TESTSUITE_BIN) $@ diff --git a/tests/execute/errors.svtest b/tests/execute/errors.svtest new file mode 100644 index 000000000..196d5fb97 --- /dev/null +++ b/tests/execute/errors.svtest @@ -0,0 +1,46 @@ +require "vnd.dovecot.testsuite"; + +require "relational"; +require "comparator-i;ascii-numeric"; + +test "Action conflicts: reject <-> fileinto" { + if not test_compile "errors/conflict-reject-fileinto.sieve" { + test_fail "compile failed"; + } + + if test_execute { + test_fail "execution should have failed"; + } + + if test_error :count "gt" :comparator "i;ascii-numeric" "1" { + test_fail "too many runtime errors reported"; + } +} + +test "Action conflicts: reject <-> keep" { + if not test_compile "errors/conflict-reject-keep.sieve" { + test_fail "compile failed"; + } + + if test_execute { + test_fail "execution should have failed"; + } + + if test_error :count "gt" :comparator "i;ascii-numeric" "1" { + test_fail "too many runtime errors reported"; + } +} + +test "Action conflicts: reject <-> redirect" { + if not test_compile "errors/conflict-reject-redirect.sieve" { + test_fail "compile failed"; + } + + if test_execute { + test_fail "execution should have failed"; + } + + if test_error :count "gt" :comparator "i;ascii-numeric" "1" { + test_fail "too many runtime errors reported"; + } +} diff --git a/tests/execute/errors/action-conflicts.sieve b/tests/execute/errors/conflict-reject-fileinto.sieve similarity index 50% rename from tests/execute/errors/action-conflicts.sieve rename to tests/execute/errors/conflict-reject-fileinto.sieve index 082bdf780..85ef139b0 100644 --- a/tests/execute/errors/action-conflicts.sieve +++ b/tests/execute/errors/conflict-reject-fileinto.sieve @@ -1,5 +1,5 @@ require "reject"; -require "vacation"; +require "fileinto"; reject "No nonsense in my mailbox."; -vacation "I am gone for a while."; +fileinto "Spam"; diff --git a/tests/execute/errors/conflict-reject-keep.sieve b/tests/execute/errors/conflict-reject-keep.sieve new file mode 100644 index 000000000..569a4acf0 --- /dev/null +++ b/tests/execute/errors/conflict-reject-keep.sieve @@ -0,0 +1,4 @@ +require "reject"; + +reject "I am not interested in your nonsense."; +keep; diff --git a/tests/execute/errors/conflict-reject-redirect.sieve b/tests/execute/errors/conflict-reject-redirect.sieve new file mode 100644 index 000000000..d01226982 --- /dev/null +++ b/tests/execute/errors/conflict-reject-redirect.sieve @@ -0,0 +1,4 @@ +require "reject"; + +reject "I am not interested in your nonsense."; +redirect "frop@example.com"; -- GitLab