You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by he...@apache.org on 2022/05/28 10:38:26 UTC

svn commit: r1901346 [1/2] - /spamassassin/trunk/t/

Author: hege
Date: Sat May 28 10:38:25 2022
New Revision: 1901346

URL: http://svn.apache.org/viewvc?rev=1901346&view=rev
Log:
Test cleanups and fixes.

Note that %patterns has now two exact patterns styles:

- Literal strings match exactly the string.  Whitespace is no longer ignored
  (any leading and trailing whitelist must match), but consecutive
  whitespace is normalized:

  q{ FOO } => ''
  ' FOO ' => ''

- Regular expressions, defined with standard qr// operator:

  qr/ FOO / => ''


Modified:
    spamassassin/trunk/t/SATest.pm
    spamassassin/trunk/t/all_modules.t
    spamassassin/trunk/t/autolearn_force_fail.t
    spamassassin/trunk/t/basic_lint.t
    spamassassin/trunk/t/basic_lint_net.t
    spamassassin/trunk/t/basic_lint_without_sandbox.t
    spamassassin/trunk/t/basic_meta2.t
    spamassassin/trunk/t/basic_meta_net.t
    spamassassin/trunk/t/blacklist_autolearn.t
    spamassassin/trunk/t/blocklist_autolearn.t
    spamassassin/trunk/t/dcc.t
    spamassassin/trunk/t/dmarc.t
    spamassassin/trunk/t/dnsbl.t
    spamassassin/trunk/t/dnsbl_sc_meta.t
    spamassassin/trunk/t/enable_compat.t
    spamassassin/trunk/t/freemail.t
    spamassassin/trunk/t/freemail_welcome_block.t
    spamassassin/trunk/t/get_all_headers.t
    spamassassin/trunk/t/gtube.t
    spamassassin/trunk/t/header.t
    spamassassin/trunk/t/header_utf8.t
    spamassassin/trunk/t/html_obfu.t
    spamassassin/trunk/t/html_utf8.t
    spamassassin/trunk/t/if_can.t
    spamassassin/trunk/t/if_else.t
    spamassassin/trunk/t/ifversion.t
    spamassassin/trunk/t/lang_lint.t
    spamassassin/trunk/t/lint_nocreate_prefs.t
    spamassassin/trunk/t/local_tests_only.t
    spamassassin/trunk/t/mimeheader.t
    spamassassin/trunk/t/mkrules_else.t
    spamassassin/trunk/t/olevbmacro.t
    spamassassin/trunk/t/originating_ip_hdr.t
    spamassassin/trunk/t/pdfinfo.t
    spamassassin/trunk/t/plugin.t
    spamassassin/trunk/t/plugin_file.t
    spamassassin/trunk/t/prefs_include.t
    spamassassin/trunk/t/recips.t
    spamassassin/trunk/t/regexp_named_capture.t
    spamassassin/trunk/t/reportheader_8bit.t
    spamassassin/trunk/t/reuse.t
    spamassassin/trunk/t/rule_multiple.t
    spamassassin/trunk/t/sa_compile.t
    spamassassin/trunk/t/shortcircuit.t
    spamassassin/trunk/t/shortcircuit_before_dns.t
    spamassassin/trunk/t/spamc.t
    spamassassin/trunk/t/spamc_headers.t
    spamassassin/trunk/t/spamc_x_E_R.t
    spamassassin/trunk/t/spamc_y.t
    spamassassin/trunk/t/spamd_allow_user_rules.t
    spamassassin/trunk/t/spamd_client.t
    spamassassin/trunk/t/spamd_protocol_10.t
    spamassassin/trunk/t/spamd_report_ifspam.t
    spamassassin/trunk/t/spamd_sql_prefs.t
    spamassassin/trunk/t/spamd_symbols.t
    spamassassin/trunk/t/spamd_user_rules_leak.t
    spamassassin/trunk/t/spamd_welcomelist_leak.t
    spamassassin/trunk/t/spamd_whitelist_leak.t
    spamassassin/trunk/t/spf.t
    spamassassin/trunk/t/spf_welcome_block.t
    spamassassin/trunk/t/sql_based_welcomelist.t
    spamassassin/trunk/t/sql_based_whitelist.t
    spamassassin/trunk/t/stripmarkup.t
    spamassassin/trunk/t/text_bad_ctype.t
    spamassassin/trunk/t/uribl.t
    spamassassin/trunk/t/uribl_domains_only.t
    spamassassin/trunk/t/uribl_ips_only.t
    spamassassin/trunk/t/welcomelist_from.t
    spamassassin/trunk/t/whitelist_from.t
    spamassassin/trunk/t/wlbl_uri.t

Modified: spamassassin/trunk/t/SATest.pm
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/SATest.pm?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/SATest.pm (original)
+++ spamassassin/trunk/t/SATest.pm Sat May 28 10:38:25 2022
@@ -2,6 +2,8 @@
 # imported into main for ease of use.
 package main;
 
+require v5.14.0;
+
 # use strict;
 # use warnings;
 # use re 'taint';
@@ -700,7 +702,7 @@ sub start_spamd {
     }
 
     my $sleep = (int($wait++ / 4) + 1);
-    warn "spam_pid not found: Sleeping $sleep - Retry # $retries\n";
+    warn "spam_pid not found: Sleeping $sleep - Retry # $retries\n" if $retries && $retries < 20;
 
     sleep $sleep if $retries > 0;
 
@@ -796,23 +798,6 @@ sub checkfile {
 
 # ---------------------------------------------------------------------------
 
-sub pattern_to_re {
-  my $pat = shift;
-
-  if ($pat =~ /^\/(.*)\/$/) {
-    return $1;
-  }
-
-  $pat = quotemeta($pat);
-
-  # make whitespace irrelevant; match any amount as long as the
-  # non-whitespace chars are OK.
-  $pat =~ s/\\\s/\\s\*/gs;
-  $pat;
-}
-
-# ---------------------------------------------------------------------------
-
 sub patterns_run_cb {
   my $string = shift;
 
@@ -822,47 +807,53 @@ sub patterns_run_cb {
   $matched_output = $string;
 
   # create default names == the pattern itself, if not specified
+  my %seen;
   foreach my $pat (keys %patterns) {
     if ($patterns{$pat} eq '') {
       $patterns{$pat} = $pat;
     }
+    if ($seen{$patterns{$pat}}++) {
+      die "ERROR: duplicate pattern name found: '$patterns{$pat}'\n";
+    }
   }
+  %seen = ();
   foreach my $pat (keys %anti_patterns) {
     if ($anti_patterns{$pat} eq '') {
       $anti_patterns{$pat} = $pat;
     }
+    if ($seen{$anti_patterns{$pat}}++) {
+      die "ERROR: duplicate anti_pattern name found: '$anti_patterns{$pat}'\n";
+    }
   }
 
   foreach my $pat (sort keys %patterns) {
-    # '' for exact match
-    local $1;
-    if ($pat =~ /^'(.*)'$/s) {
-      if (index($string, $1) != -1) {
+    if (index($pat, '(?^') == 0) { # Detect qr// regex, it's a string now
+      if ($string =~ $pat) {
         $found{$patterns{$pat}}++;
       }
-    }
-    # nothing or // for re
-    else {
-      my $safe = pattern_to_re ($pat);
-      # print "JMD $patterns{$pat}\n";
-      if ($string =~ /${safe}/s) {
+    } else {
+      my $re = $pat;
+      $re =~ s/([^A-Za-z_0-9\s])/\\$1/gs; # quotemeta
+      $re =~ s/\s+/\\s+/gs; # normalize whitespace
+      eval { $re = qr/$re/; 1; };
+      if ($@) { die "ERROR: failed to compile regex: '$re'\n"; }
+      if ($string =~ $re) {
         $found{$patterns{$pat}}++;
       }
     }
   }
   foreach my $pat (sort keys %anti_patterns) {
-    # '' for exact match
-    local $1;
-    if ($pat =~ /^'(.*)'$/s) {
-      if (index($string, $1) != -1) {
+    if (index($pat, '(?^') == 0) { # Detect qr// regex, it's a string now
+      if ($string =~ $pat) {
         $found_anti{$anti_patterns{$pat}}++;
       }
-    }
-    # nothing or // for re
-    else {
-      my $safe = pattern_to_re ($pat);
-      # print "JMD $anti_patterns{$pat}\n";
-      if ($string =~ /${safe}/s) {
+    } else {
+      my $re = $pat;
+      $re =~ s/([^A-Za-z_0-9\s])/\\$1/gs; # quotemeta
+      $re =~ s/\s+/\\s+/gs; # normalize whitespace
+      eval { $re = qr/$re/; 1; };
+      if ($@) { die "ERROR: failed to compile regex: '$re'\n"; }
+      if ($string =~ $re) {
         $found_anti{$anti_patterns{$pat}}++;
       }
     }

Modified: spamassassin/trunk/t/all_modules.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/all_modules.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/all_modules.t (original)
+++ spamassassin/trunk/t/all_modules.t Sat May 28 10:38:25 2022
@@ -76,12 +76,12 @@ tstprefs("
             );
 
 %anti_patterns = (
-        q{ Insecure dependency }, 'tainted',
-        q{ Syntax error }, 'syntax',
-        q{ Use of uninitialized }, 'uninitialized',
-        q{ warn: }, 'warn',
-        q{ failed to parse }, 'parse',
-        '/ at .* line \d+/', 'at_line',
+        ' warn: ', 'warn',
+        qr/Insecure dependency/i, 'tainted',
+        qr/Syntax error/i, 'syntax',
+        qr/Use of uninitialized/i, 'uninitialized',
+        qr/failed to parse/i, 'parse',
+        qr/ at .* line \d+/, 'at_line',
             );
 
 if (conf_bool('run_net_tests')) {

Modified: spamassassin/trunk/t/autolearn_force_fail.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/autolearn_force_fail.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/autolearn_force_fail.t (original)
+++ spamassassin/trunk/t/autolearn_force_fail.t Sat May 28 10:38:25 2022
@@ -17,7 +17,7 @@ plan tests => 3;
 );
 
 %anti_patterns = (
-  q{ autolearn=spam } => 'autolearned as spam',
+  'autolearn=spam' => 'autolearned as spam',
 );
 
 tstprefs ("

Modified: spamassassin/trunk/t/basic_lint.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/basic_lint.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/basic_lint.t (original)
+++ spamassassin/trunk/t/basic_lint.t Sat May 28 10:38:25 2022
@@ -16,7 +16,7 @@ plan tests => scalar(@test_locales);
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{  }, 'anything',
+  qr/^/, 'anything',
 );
 
 foreach my $locale (@test_locales) {

Modified: spamassassin/trunk/t/basic_lint_net.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/basic_lint_net.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/basic_lint_net.t (original)
+++ spamassassin/trunk/t/basic_lint_net.t Sat May 28 10:38:25 2022
@@ -11,7 +11,7 @@ plan tests => 2;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{  }, 'anything',
+  qr/^/, 'anything',
 );
 %anti_patterns = (
   q{ warn: }, 'warning',

Modified: spamassassin/trunk/t/basic_lint_without_sandbox.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/basic_lint_without_sandbox.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/basic_lint_without_sandbox.t (original)
+++ spamassassin/trunk/t/basic_lint_without_sandbox.t Sat May 28 10:38:25 2022
@@ -9,7 +9,7 @@ use Test::More tests => 3;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{  }, 'anything',
+  qr/^/, 'anything',
 );
 
 # override locale for this test!

Modified: spamassassin/trunk/t/basic_meta2.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/basic_meta2.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/basic_meta2.t (original)
+++ spamassassin/trunk/t/basic_meta2.t Sat May 28 10:38:25 2022
@@ -10,20 +10,20 @@ plan tests => 20;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ TEST_FOO_1 }     => '',
-  q{ TEST_FOO_2 }     => '',
-  q{ TEST_FOO_3 }     => '',
-  q{ TEST_META_1 }    => '',
-  q{ TEST_META_3 }    => '',
-  q{ TEST_META_5 }    => '',
-  q{ TEST_META_7 }    => '',
-  q{ TEST_META_A }    => '',
-  q{ TEST_META_B }    => '',
-  q{ TEST_META_C }    => '',
-  q{ TEST_META_D }    => '',
-  q{ TEST_META_E }    => '',
-  q{ TEST_META_F }    => '',
-  q{ TEST_META_G }    => '',
+  q{ 1.0 TEST_FOO_1 }     => '',
+  q{ 1.0 TEST_FOO_2 }     => '',
+  q{ 1.0 TEST_FOO_3 }     => '',
+  q{ 1.0 TEST_META_1 }    => '',
+  q{ 1.0 TEST_META_3 }    => '',
+  q{ 1.0 TEST_META_5 }    => '',
+  q{ 1.0 TEST_META_7 }    => '',
+  q{ 1.0 TEST_META_A }    => '',
+  q{ 1.0 TEST_META_B }    => '',
+  q{ 1.0 TEST_META_C }    => '',
+  q{ 1.0 TEST_META_D }    => '',
+  q{ 1.0 TEST_META_E }    => '',
+  q{ 1.0 TEST_META_F }    => '',
+  q{ 1.0 TEST_META_G }    => '',
 );
 
 %anti_patterns = (

Modified: spamassassin/trunk/t/basic_meta_net.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/basic_meta_net.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/basic_meta_net.t (original)
+++ spamassassin/trunk/t/basic_meta_net.t Sat May 28 10:38:25 2022
@@ -17,21 +17,21 @@ plan tests => 32;
   q{ 1.0 X_LOCAL_TESTS } => '',
 );
 %anti_patterns = (
-  q{ 1.0 X_URIBL_A }    => '',
-  q{ 1.0 X_ASKDNS }     => '',
-  q{ 1.0 X_DNSBL_TEST }     => '',
-  q{ 1.0 X_DNSBL_SUB }     => '',
-  q{ 1.0 X_META_POS1 }  => '',
-  q{ 1.0 X_META_POS2 }  => '',
-  q{ 1.0 X_META_POS3 }  => '',
-  q{ 1.0 X_META_POS4 }  => '',
-  q{ 1.0 X_META_POS5 }  => '',
-  q{ 1.0 X_META_NEG1 }  => '',
-  q{ 1.0 X_META_NEG2 }  => '',
-  q{ 1.0 X_META_NEG3 }  => '',
-  q{ 1.0 X_META_NEG4 } => '',
-  q{ 1.0 X_META_NEG5 } => '',
-  q{ 1.0 X_LOCAL_NEG } => '',
+  q{ X_URIBL_A }    => '',
+  q{ X_ASKDNS }     => '',
+  q{ X_DNSBL_TEST }     => '',
+  q{ X_DNSBL_SUB }     => '',
+  q{ X_META_POS1 }  => '',
+  q{ X_META_POS2 }  => '',
+  q{ X_META_POS3 }  => '',
+  q{ X_META_POS4 }  => '',
+  q{ X_META_POS5 }  => '',
+  q{ X_META_NEG1 }  => '',
+  q{ X_META_NEG2 }  => '',
+  q{ X_META_NEG3 }  => '',
+  q{ X_META_NEG4 } => '',
+  q{ X_META_NEG5 } => '',
+  q{ X_LOCAL_NEG } => '',
 );
 
 my $common_rules = q{

Modified: spamassassin/trunk/t/blacklist_autolearn.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/blacklist_autolearn.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/blacklist_autolearn.t (original)
+++ spamassassin/trunk/t/blacklist_autolearn.t Sat May 28 10:38:25 2022
@@ -9,11 +9,11 @@ use Test::More tests => 3;
 disable_compat "welcomelist_blocklist";
 
 %patterns = (
-  q{ USER_IN_BLACKLIST }, 'blacklisted',
+  q{ 100 USER_IN_BLACKLIST }, 'blacklisted',
 );
 
 %anti_patterns = (
-  q{ autolearn=ham } => 'autolearned as ham'
+  'autolearn=ham' => 'autolearned as ham'
 );
 
 tstprefs ('

Modified: spamassassin/trunk/t/blocklist_autolearn.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/blocklist_autolearn.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/blocklist_autolearn.t (original)
+++ spamassassin/trunk/t/blocklist_autolearn.t Sat May 28 10:38:25 2022
@@ -7,11 +7,11 @@ use Test::More tests => 3;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ USER_IN_BLOCKLIST }, 'blocklisted',
+  q{ 100 USER_IN_BLOCKLIST }, 'blocklisted',
 );
 
 %anti_patterns = (
-  q{ autolearn=ham } => 'autolearned as ham'
+  'autolearn=ham' => 'autolearned as ham'
 );
 
 tstprefs ('

Modified: spamassassin/trunk/t/dcc.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/dcc.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/dcc.t (original)
+++ spamassassin/trunk/t/dcc.t Sat May 28 10:38:25 2022
@@ -43,7 +43,7 @@ ok_all_patterns();
   q{ 3.3 X_META_POS }, 'pos',
 );
 %anti_patterns = (
-  q{ 3.3 X_META_NEG }, 'neg',
+  q{ X_META_NEG }, 'neg',
 );
 
 ok sarun ("-t < data/spam/gtubedcc.eml 2>&1", \&patterns_run_cb);
@@ -55,9 +55,9 @@ ok_all_patterns();
 %patterns = (
 );
 %anti_patterns = (
-  q{ 3.3 DCC_CHECK }, 'dcc',
-  q{ 3.3 X_META_POS }, 'pos',
-  q{ 3.3 X_META_NEG }, 'neg',
+  q{ DCC_CHECK }, 'dcc',
+  q{ X_META_POS }, 'pos',
+  q{ X_META_NEG }, 'neg',
 );
 ok sarun ("-t -L < data/spam/gtubedcc.eml 2>&1", \&patterns_run_cb);
 ok_all_patterns();

Modified: spamassassin/trunk/t/dmarc.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/dmarc.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/dmarc.t (original)
+++ spamassassin/trunk/t/dmarc.t Sat May 28 10:38:25 2022
@@ -60,7 +60,7 @@ endif
     q{ DMARC_PASS } => '',
 );
 %anti_patterns = (
-    q{/DMARC_(?!PASS)/} => '',
+    qr/DMARC_(?!PASS)/ => '',
 );
 
 sarun ("-t < data/nice/dmarc/noneok.eml", \&patterns_run_cb);
@@ -83,7 +83,7 @@ ok_all_patterns();
     q{ DMARC_REJECT } => '',
 );
 %anti_patterns = (
-    q{/DMARC_(?!REJECT)/} => '',
+    qr/DMARC_(?!REJECT)/ => '',
 );
 
 sarun ("-t < data/spam/dmarc/rejectko.eml", \&patterns_run_cb);
@@ -100,7 +100,7 @@ ok_all_patterns();
     q{ DMARC_QUAR } => '',
 );
 %anti_patterns = (
-    q{/DMARC_(?!QUAR)/} => '',
+    qr/DMARC_(?!QUAR)/ => '',
 );
 
 sarun ("-t < data/spam/dmarc/quarko.eml", \&patterns_run_cb);
@@ -114,7 +114,7 @@ ok_all_patterns();
     q{ DMARC_NONE } => '',
 );
 %anti_patterns = (
-    q{/DMARC_(?!NONE)/} => '',
+    qr/DMARC_(?!NONE)/ => '',
 );
 
 sarun ("-t < data/spam/dmarc/noneko.eml", \&patterns_run_cb);
@@ -128,7 +128,7 @@ ok_all_patterns();
     q{ DMARC_MISSING } => '',
 );
 %anti_patterns = (
-    q{/DMARC_(?!MISSING)/} => '',
+    qr/DMARC_(?!MISSING)/ => '',
 );
 
 sarun ("-t < data/spam/dmarc/nodmarc.eml", \&patterns_run_cb);

Modified: spamassassin/trunk/t/dnsbl.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/dnsbl.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/dnsbl.t (original)
+++ spamassassin/trunk/t/dnsbl.t Sat May 28 10:38:25 2022
@@ -50,31 +50,31 @@ EOF
 # hits we expect and some hits we don't expect
 
 %patterns = (
- q{'<dns:98.3.137.144.dnsbltest.spamassassin.org> [127.0.0.2]'} => '',
- q{'<dns:134.88.73.210.dnsbltest.spamassassin.org> [127.0.0.4]'} => '',
- q{'<dns:18.13.119.61.dnsbltest.spamassassin.org> [127.0.0.12]'} => '',
- q{'<dns:14.35.17.212.dnsbltest.spamassassin.org> [127.0.0.1]'} => '',
- q{'<dns:226.149.120.193.dnsbltest.spamassassin.org> [127.0.0.1]'} => '',
- q{'<dns:example.com.dnsbltest.spamassassin.org> [127.0.0.2]'} => '',
- q{'1.0 DNSBL_TEST_TOP'} => '',
- q{'1.0 DNSBL_TEST_WHITELIST'} => '',
- q{'1.0 DNSBL_TEST_DYNAMIC'} => '',
- q{'1.0 DNSBL_TEST_SPAM'} => '',
- q{'1.0 DNSBL_TEST_RELAY'} => '',
- q{'1.0 DNSBL_TXT_TOP'} => '',
- q{'1.0 DNSBL_TXT_RE'} => '',
- q{'1.0 DNSBL_RHS'} => '',
- q{'1.0 META_DNSBL_A'} => '',
- q{'1.0 META_DNSBL_B'} => '',
- q{'1.0 META_DNSBL_C'} => '',
+ '<dns:98.3.137.144.dnsbltest.spamassassin.org> [127.0.0.2]'	=> '',
+ '<dns:134.88.73.210.dnsbltest.spamassassin.org> [127.0.0.4]'	=> '',
+ '<dns:18.13.119.61.dnsbltest.spamassassin.org> [127.0.0.12]'	=> '',
+ '<dns:14.35.17.212.dnsbltest.spamassassin.org> [127.0.0.1]'	=> '',
+ '<dns:226.149.120.193.dnsbltest.spamassassin.org> [127.0.0.1]' => '',
+ '<dns:example.com.dnsbltest.spamassassin.org> [127.0.0.2]'	=> '',
+ ' 1.0 DNSBL_TEST_TOP '		=> '',
+ ' -1.0 DNSBL_TEST_WHITELIST '	=> '',
+ ' 1.0 DNSBL_TEST_DYNAMIC '	=> '',
+ ' 1.0 DNSBL_TEST_SPAM '	=> '',
+ ' 1.0 DNSBL_TEST_RELAY '	=> '',
+ ' 1.0 DNSBL_TXT_TOP '		=> '',
+ ' 1.0 DNSBL_TXT_RE '		=> '',
+ ' 1.0 DNSBL_RHS '		=> '',
+ ' 1.0 META_DNSBL_A '		=> '',
+ ' 1.0 META_DNSBL_B '		=> '',
+ ' 1.0 META_DNSBL_C '		=> '',
 );
 
 %anti_patterns = (
- q{'1.0 DNSBL_TEST_MISS'} => '',
- q{'1.0 DNSBL_TXT_MISS'} => '',
- q{'1.0 DNSBL_TEST_WHITELIST_MISS'} => '',
- q{'14.35.17.212.untrusted.dnsbltest.spamassassin.org'} => '',
- q{/rules-all: unrun dependencies [^\n]+ (?:__|META_)?DNSBL_/} => '',
+ ' 1.0 DNSBL_TEST_MISS '		=> '',
+ ' 1.0 DNSBL_TXT_MISS '			=> '',
+ ' 1.0 DNSBL_TEST_WHITELIST_MISS '	=> '',
+ '14.35.17.212.untrusted.dnsbltest.spamassassin.org'		=> '',
+ qr/rules-all: unrun dependencies [^\n]+ (?:__|META_)?DNSBL_/	=> '',
 );
 
 tstprefs("

Modified: spamassassin/trunk/t/dnsbl_sc_meta.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/dnsbl_sc_meta.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/dnsbl_sc_meta.t (original)
+++ spamassassin/trunk/t/dnsbl_sc_meta.t Sat May 28 10:38:25 2022
@@ -11,17 +11,13 @@ plan tests => 2;
 # ---------------------------------------------------------------------------
 
 %patterns = (
- q{ DNSBL_TEST_TOP } => 'DNSBL_TEST_TOP',
- q{ SC_DNSBL } => 'SC_DNSBL',
+ q{ 1.0 DNSBL_TEST_TOP } => 'DNSBL_TEST_TOP',
+ q{ 1.0 SC_DNSBL } => 'SC_DNSBL',
 );
 
 %anti_patterns = (
 );
 
-# What is this designed to test?  Was there some bug regarding
-# shortcircuiting and meta/dns rules?  Adjusted prio -700 to -100, since
-# that's when DNS lookups launch after Bug 5930
-
 tstprefs("
 
   loadplugin Mail::SpamAssassin::Plugin::Shortcircuit
@@ -36,7 +32,7 @@ tstprefs("
   header DNSBL_TEST_TOP	eval:check_rbl('test', 'dnsbltest.spamassassin.org.')
   tflags DNSBL_TEST_TOP	net
   meta SC_DNSBL (DNSBL_TEST_TOP)
-  priority SC_DNSBL -100
+  priority SC_DNSBL -700
   shortcircuit SC_DNSBL on
 
 ");

Modified: spamassassin/trunk/t/enable_compat.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/enable_compat.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/enable_compat.t (original)
+++ spamassassin/trunk/t/enable_compat.t Sat May 28 10:38:25 2022
@@ -29,7 +29,7 @@ ok_all_patterns();
   q{ 1.0 ANY_RULE }, '',
 );
 %anti_patterns = (
-  q{ 1.0 COMPAT_RULE }, '',
+  q{ COMPAT_RULE }, '',
 );
 
 tstprefs("

Modified: spamassassin/trunk/t/freemail.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/freemail.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/freemail.t (original)
+++ spamassassin/trunk/t/freemail.t Sat May 28 10:38:25 2022
@@ -36,15 +36,15 @@ tstlocalrules (q{
 });
 
 %patterns = (
-  q{ 3.3 FREEMAIL_FROM }, 'FREEMAIL_FROM',
+  q{ 3.3 FREEMAIL_FROM }, '',
 );
 %anti_patterns = (
   # No Reply-To or body
-  q{ 3.3 FREEMAIL_REPLYTO }, 'FREEMAIL_REPLYTO',
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
-  q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }, 'FREEMAIL_ENVFROM_END_DIGIT',
-  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, 'FREEMAIL_REPLYTO_END_DIGIT',
-  q{ 3.3 FREEMAIL_HDR_REPLYTO }, 'FREEMAIL_HDR_REPLYTO',
+  q{ FREEMAIL_REPLYTO }, '',
+  q{ FREEMAIL_REPLYXX }, '',
+  q{ FREEMAIL_ENVFROM_END_DIGIT }, '',
+  q{ FREEMAIL_REPLYTO_END_DIGIT }, '',
+  q{ FREEMAIL_HDR_REPLYTO }, '',
 );
 
 ok sarun ("-L -t < data/spam/relayUS.eml", \&patterns_run_cb);
@@ -55,7 +55,7 @@ clear_pattern_counters();
 
 %patterns = ();
 %anti_patterns = (
-  q{ 3.3 FREEMAIL_FROM }, 'FREEMAIL_FROM',
+  q{ FREEMAIL_FROM }, '',
 );
 
 tstlocalrules (q{
@@ -71,12 +71,12 @@ ok_all_patterns();
 ## From and Reply-To different
 
 %patterns = (
-  q{ 3.3 FREEMAIL_FROM }, 'FREEMAIL_FROM',
-  q{ 3.3 FREEMAIL_REPLYTO }, 'FREEMAIL_REPLYTO',
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
-  q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }, 'FREEMAIL_ENVFROM_END_DIGIT',
-  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, 'FREEMAIL_REPLYTO_END_DIGIT',
-  q{ 3.3 FREEMAIL_HDR_REPLYTO }, 'FREEMAIL_HDR_REPLYTO',
+  q{ 3.3 FREEMAIL_FROM }, '',
+  q{ 3.3 FREEMAIL_REPLYTO }, '',
+  q{ 3.3 FREEMAIL_REPLYXX }, '',
+  q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }, '',
+  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, '',
+  q{ 3.3 FREEMAIL_HDR_REPLYTO }, '',
 );
 %anti_patterns = ();
 
@@ -101,10 +101,10 @@ ok_all_patterns();
 ## Multiple Reply-To values, no email on body
 
 %patterns = (
-  q{ 3.3 FREEMAIL_REPLYTO }, 'FREEMAIL_REPLYTO',
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
-  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, 'FREEMAIL_REPLYTO_END_DIGIT',
-  q{ 3.3 FREEMAIL_HDR_REPLYTO }, 'FREEMAIL_HDR_REPLYTO',
+  q{ 3.3 FREEMAIL_REPLYTO }, '',
+  q{ 3.3 FREEMAIL_REPLYXX }, '',
+  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, '',
+  q{ 3.3 FREEMAIL_HDR_REPLYTO }, '',
 );
 %anti_patterns = ();
 
@@ -125,7 +125,7 @@ ok_all_patterns();
 ## No Reply-To, another freemail in body
 
 %patterns = (
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
+  q{ 3.3 FREEMAIL_REPLYXX }, '',
 );
 %anti_patterns = ();
 

Modified: spamassassin/trunk/t/freemail_welcome_block.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/freemail_welcome_block.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/freemail_welcome_block.t (original)
+++ spamassassin/trunk/t/freemail_welcome_block.t Sat May 28 10:38:25 2022
@@ -36,15 +36,15 @@ tstlocalrules (q{
 });
 
 %patterns = (
-  q{ 3.3 FREEMAIL_FROM }, 'FREEMAIL_FROM',
+  q{ 3.3 FREEMAIL_FROM }, '',
 );
 %anti_patterns = (
   # No Reply-To or body
-  q{ 3.3 FREEMAIL_REPLYTO }, 'FREEMAIL_REPLYTO',
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
-  q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }, 'FREEMAIL_ENVFROM_END_DIGIT',
-  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, 'FREEMAIL_REPLYTO_END_DIGIT',
-  q{ 3.3 FREEMAIL_HDR_REPLYTO }, 'FREEMAIL_HDR_REPLYTO',
+  q{ FREEMAIL_REPLYTO }, '',
+  q{ FREEMAIL_REPLYXX }, '',
+  q{ FREEMAIL_ENVFROM_END_DIGIT }, '',
+  q{ FREEMAIL_REPLYTO_END_DIGIT }, '',
+  q{ FREEMAIL_HDR_REPLYTO }, '',
 );
 
 ok sarun ("-L -t < data/spam/relayUS.eml", \&patterns_run_cb);
@@ -55,7 +55,7 @@ clear_pattern_counters();
 
 %patterns = ();
 %anti_patterns = (
-  q{ 3.3 FREEMAIL_FROM }, 'FREEMAIL_FROM',
+  q{ FREEMAIL_FROM }, '',
 );
 
 tstlocalrules (q{
@@ -71,12 +71,12 @@ ok_all_patterns();
 ## From and Reply-To different
 
 %patterns = (
-  q{ 3.3 FREEMAIL_FROM }, 'FREEMAIL_FROM',
-  q{ 3.3 FREEMAIL_REPLYTO }, 'FREEMAIL_REPLYTO',
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
-  q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }, 'FREEMAIL_ENVFROM_END_DIGIT',
-  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, 'FREEMAIL_REPLYTO_END_DIGIT',
-  q{ 3.3 FREEMAIL_HDR_REPLYTO }, 'FREEMAIL_HDR_REPLYTO',
+  q{ 3.3 FREEMAIL_FROM }, '',
+  q{ 3.3 FREEMAIL_REPLYTO }, '',
+  q{ 3.3 FREEMAIL_REPLYXX }, '',
+  q{ 3.3 FREEMAIL_ENVFROM_END_DIGIT }, '',
+  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, '',
+  q{ 3.3 FREEMAIL_HDR_REPLYTO }, '',
 );
 %anti_patterns = ();
 
@@ -101,10 +101,10 @@ ok_all_patterns();
 ## Multiple Reply-To values, no email on body
 
 %patterns = (
-  q{ 3.3 FREEMAIL_REPLYTO }, 'FREEMAIL_REPLYTO',
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
-  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, 'FREEMAIL_REPLYTO_END_DIGIT',
-  q{ 3.3 FREEMAIL_HDR_REPLYTO }, 'FREEMAIL_HDR_REPLYTO',
+  q{ 3.3 FREEMAIL_REPLYTO }, '',
+  q{ 3.3 FREEMAIL_REPLYXX }, '',
+  q{ 3.3 FREEMAIL_REPLYTO_END_DIGIT }, '',
+  q{ 3.3 FREEMAIL_HDR_REPLYTO }, '',
 );
 %anti_patterns = ();
 
@@ -125,7 +125,7 @@ ok_all_patterns();
 ## No Reply-To, another freemail in body
 
 %patterns = (
-  q{ 3.3 FREEMAIL_REPLYXX }, 'FREEMAIL_REPLYXX',
+  q{ 3.3 FREEMAIL_REPLYXX }, '',
 );
 %anti_patterns = ();
 

Modified: spamassassin/trunk/t/get_all_headers.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/get_all_headers.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/get_all_headers.t (original)
+++ spamassassin/trunk/t/get_all_headers.t Sat May 28 10:38:25 2022
@@ -13,27 +13,27 @@ plan tests => $tests;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{'MIME-Version: 1.0'} => 'no-extra-space',
-  q{'scalar-text-all-raw: Received: from yahoo.com[\n]    (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by[\n]    www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu,[\n]    30 Aug 2001 19:06:45 +0800 (CST) (envelope-from[\n]    pertand@email.mondolink.com)[\n]From  :<ts...@example.com>[\n]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n]To: jenny33436@netscape.net[\n]Subject: via.gra[\n]From:[\t]  <ts...@example.com>[\n]DATE: Fri, 7 Dec 2001 07:01:03[\n]MIME-Version: 1.0[\n]Message-Id: <20...@mail.netnoteinc.com>[\n]Sender: travelincentives@aol.com[\n]Content-Type: text/plain; charset="us-ascii"[\n][END]'} => 'scalar-text-all-raw',
-  q{'scalar-text-all-noraw: Received: from yahoo.com (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu, 30 Aug 2001 19:06:45 +0800 (CST) (envelope-from pertand@email.mondolink.com)[\n]From: <ts...@example.com>[\n]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n]To: jenny33436@netscape.net[\n]Subject: via.gra[\n]From: <ts...@example.com>[\n]DATE: Fri, 7 Dec 2001 07:01:03[\n]MIME-Version: 1.0[\n]Message-Id: <20...@mail.netnoteinc.com>[\n]Sender: travelincentives@aol.com[\n]Content-Type: text/plain; charset="us-ascii"[\n][END]'} => 'scalar-text-all-noraw',
-  q{'scalar-text-from-raw: <ts...@example.com>[\n][\t]  <ts...@example.com>[\n][END]'} => 'scalar-text-from-raw',
-  q{'scalar-text-from-noraw: <ts...@example.com>[\n][END]'} => 'scalar-text-from-noraw',
-  q{'scalar-text-from-addr: tst1@example.com[END]'} => 'scalar-text-from-addr',
-  q{'list-text-all-raw: Received: from yahoo.com[\n]    (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by[\n]    www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu,[\n]    30 Aug 2001 19:06:45 +0800 (CST) (envelope-from[\n]    pertand@email.mondolink.com)[\n][LIST]From  :<ts...@example.com>[\n][LIST]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n][LIST]To: jenny33436@netscape.net[\n][LIST]Subject: via.gra[\n][LIST]From:[\t]  <ts...@example.com>[\n][LIST]DATE: Fri, 7 Dec 2001 07:01:03[\n][LIST]MIME-Version: 1.0[\n][LIST]Message-Id: <20...@mail.netnoteinc.com>[\n][LIST]Sender: travelincentives@aol.com[\n][LIST]Content-Type: text/plain; charset="us-ascii"[\n][END]'} => 'list-text-all-raw',
-  q{'list-text-all-noraw: Received: from yahoo.com (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu, 30 Aug 2001 19:06:45 +0800 (CST) (envelope-from pertand@email.mondolink.com)[\n][LIST]From: <ts...@example.com>[\n][LIST]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n][LIST]To: jenny33436@netscape.net[\n][LIST]Subject: via.gra[\n][LIST]From: <ts...@example.com>[\n][LIST]DATE: Fri, 7 Dec 2001 07:01:03[\n][LIST]MIME-Version: 1.0[\n][LIST]Message-Id: <20...@mail.netnoteinc.com>[\n][LIST]Sender: travelincentives@aol.com[\n][LIST]Content-Type: text/plain; charset="us-ascii"[\n][END]'} => 'list-text-all-noraw',
-  q{'list-text-from-raw: <ts...@example.com>[\n][LIST][\t]  <ts...@example.com>[\n][END]'} => 'list-text-from-raw',
-  q{'list-text-from-noraw: <ts...@example.com>[\n][END]'} => 'list-text-from-noraw',
-  q{'list-text-from-addr: tst1@example.com[LIST]tst2@example.com[END]'} => 'list-text-from-addr',
-  q{'list-text-from-first-addr: tst1@example.com[END]'} => 'list-text-from-first-addr',
-  q{'list-text-from-last-addr: tst2@example.com[END]'} => 'list-text-from-last-addr',
-  q{'list-text-msgid-host: mail.netnoteinc.com[END]'} => 'list-text-msgid-host',
-  q{'list-text-msgid-domain: netnoteinc.com[END]'} => 'list-text-msgid-domain',
-  q{'list-text-received-ip: 4.48.136.190[END]'} => 'list-text-received-ip',
-  q{'list-text-received-revip: 190.136.48.4[END]'} => 'list-text-received-revip',
+  'MIME-Version: 1.0' => 'no-extra-space',
+  'scalar-text-all-raw: Received: from yahoo.com[\n]    (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by[\n]    www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu,[\n]    30 Aug 2001 19:06:45 +0800 (CST) (envelope-from[\n]    pertand@email.mondolink.com)[\n]From  :<ts...@example.com>[\n]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n]To: jenny33436@netscape.net[\n]Subject: via.gra[\n]From:[\t]  <ts...@example.com>[\n]DATE: Fri, 7 Dec 2001 07:01:03[\n]MIME-Version: 1.0[\n]Message-Id: <20...@mail.netnoteinc.com>[\n]Sender: travelincentives@aol.com[\n]Content-Type: text/plain; charset="us-ascii"[\n][END]' => 'scalar-text-all-raw',
+  'scalar-text-all-noraw: Received: from yahoo.com (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu, 30 Aug 2001 19:06:45 +0800 (CST) (envelope-from pertand@email.mondolink.com)[\n]From: <ts...@example.com>[\n]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n]To: jenny33436@netscape.net[\n]Subject: via.gra[\n]From: <ts...@example.com>[\n]DATE: Fri, 7 Dec 2001 07:01:03[\n]MIME-Version: 1.0[\n]Message-Id: <20...@mail.netnoteinc.com>[\n]Sender: travelincentives@aol.com[\n]Content-Type: text/plain; charset="us-ascii"[\n][END]' => 'scalar-text-all-noraw',
+  'scalar-text-from-raw: <ts...@example.com>[\n][\t]  <ts...@example.com>[\n][END]' => 'scalar-text-from-raw',
+  'scalar-text-from-noraw: <ts...@example.com>[\n][END]' => 'scalar-text-from-noraw',
+  'scalar-text-from-addr: tst1@example.com[END]' => 'scalar-text-from-addr',
+  'list-text-all-raw: Received: from yahoo.com[\n]    (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by[\n]    www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu,[\n]    30 Aug 2001 19:06:45 +0800 (CST) (envelope-from[\n]    pertand@email.mondolink.com)[\n][LIST]From  :<ts...@example.com>[\n][LIST]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n][LIST]To: jenny33436@netscape.net[\n][LIST]Subject: via.gra[\n][LIST]From:[\t]  <ts...@example.com>[\n][LIST]DATE: Fri, 7 Dec 2001 07:01:03[\n][LIST]MIME-Version: 1.0[\n][LIST]Message-Id: <20...@mail.netnoteinc.com>[\n][LIST]Sender: travelincentives@aol.com[\n][LIST]Content-Type: text/plain; charset="us-ascii"[\n][END]' => 'list-text-all-raw',
+  'list-text-all-noraw: Received: from yahoo.com (PPPa33-ResaleLosAngelesMetroB2-2R7452.dialinx.net [4.48.136.190]) by www.goabroad.com.cn (8.9.3/8.9.3) with SMTP id TAA96146; Thu, 30 Aug 2001 19:06:45 +0800 (CST) (envelope-from pertand@email.mondolink.com)[\n][LIST]From: <ts...@example.com>[\n][LIST]X-Mailer: Mozilla 4.04 [en]C-bls40  (Win95; U)[\n][LIST]To: jenny33436@netscape.net[\n][LIST]Subject: via.gra[\n][LIST]From: <ts...@example.com>[\n][LIST]DATE: Fri, 7 Dec 2001 07:01:03[\n][LIST]MIME-Version: 1.0[\n][LIST]Message-Id: <20...@mail.netnoteinc.com>[\n][LIST]Sender: travelincentives@aol.com[\n][LIST]Content-Type: text/plain; charset="us-ascii"[\n][END]' => 'list-text-all-noraw',
+  'list-text-from-raw: <ts...@example.com>[\n][LIST][\t]  <ts...@example.com>[\n][END]' => 'list-text-from-raw',
+  'list-text-from-noraw: <ts...@example.com>[\n][END]' => 'list-text-from-noraw',
+  'list-text-from-addr: tst1@example.com[LIST]tst2@example.com[END]' => 'list-text-from-addr',
+  'list-text-from-first-addr: tst1@example.com[END]' => 'list-text-from-first-addr',
+  'list-text-from-last-addr: tst2@example.com[END]' => 'list-text-from-last-addr',
+  'list-text-msgid-host: mail.netnoteinc.com[END]' => 'list-text-msgid-host',
+  'list-text-msgid-domain: netnoteinc.com[END]' => 'list-text-msgid-domain',
+  'list-text-received-ip: 4.48.136.190[END]' => 'list-text-received-ip',
+  'list-text-received-revip: 190.136.48.4[END]' => 'list-text-received-revip',
 );
 
 %anti_patterns = (
-  q{/MIME-Version:  1\.0/} => 'extra-space'
+  qr/MIME-Version:  1\.0/ => 'extra-space'
 );
 
 tstprefs ("

Modified: spamassassin/trunk/t/gtube.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/gtube.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/gtube.t (original)
+++ spamassassin/trunk/t/gtube.t Sat May 28 10:38:25 2022
@@ -15,7 +15,7 @@ ok (sarun ("-L -t < data/spam/gtube.eml"
 ok_all_patterns();
 
 %patterns = (
-  q{ X-Spam-Status: No }, 'not_marked_as_spam_from_awl_bonus',
+  qr/^X-Spam-Status: No/m, 'not_marked_as_spam_from_awl_bonus',
 );
 
 ok (sarun ("-L -t < data/nice/not_gtube.eml", \&patterns_run_cb));

Modified: spamassassin/trunk/t/header.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/header.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/header.t (original)
+++ spamassassin/trunk/t/header.t Sat May 28 10:38:25 2022
@@ -46,12 +46,12 @@ tstprefs('
   q{ 1.0 TEST_META }, '',
 );
 %anti_patterns = (
-  q{ 1.0 TEST_EXISTS2 }, '',
-  q{ 1.0 TEST_UNSET1 }, '',
-  q{ 1.0 TEST_UNSET3 }, '',
-  q{ 1.0 TEST_LEAK1 }, '',
-  q{ 1.0 TEST_LEAK2 }, '',
-  q{ 1.0 TEST_LEAK3 }, '',
+  q{ TEST_EXISTS2 }, '',
+  q{ TEST_UNSET1 }, '',
+  q{ TEST_UNSET3 }, '',
+  q{ TEST_LEAK1 }, '',
+  q{ TEST_LEAK2 }, '',
+  q{ TEST_LEAK3 }, '',
 );
 
 ok (sarun ("-L -t < data/nice/001", \&patterns_run_cb));
@@ -87,9 +87,9 @@ tstprefs('
   q{ 1.0 TOCC2 }, '',
 );
 %anti_patterns = (
-  q{ 1.0 TONEG }, '',
-  q{ 1.0 CCNEG }, '',
-  q{ 1.0 TOCCNEG }, '',
+  q{ TONEG }, '',
+  q{ CCNEG }, '',
+  q{ TOCCNEG }, '',
 );
 
 ok (sarun ("-L -t < data/nice/006", \&patterns_run_cb));

Modified: spamassassin/trunk/t/header_utf8.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/header_utf8.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/header_utf8.t [UTF-8] (original)
+++ spamassassin/trunk/t/header_utf8.t [UTF-8] Sat May 28 10:38:25 2022
@@ -28,100 +28,78 @@ plan tests => $tests;
 # ---------------------------------------------------------------------------
 
 %mypatterns = (
-  q{/ LT_RPATH /}     => 'LT_RPATH',
-  q{/ LT_ENVFROM /}   => 'LT_ENVFROM',
-  q{/ LT_FROM /}      => 'LT_FROM',
-  q{/ LT_FROM_ADDR /} => 'LT_FROM_ADDR',
-  q{/ LT_FROM_NAME /} => 'LT_FROM_NAME',
-  q{/ LT_FROM_RAW /}  => 'LT_FROM_RAW',
-  q{/ LT_TO_ADDR /}   => 'LT_TO_ADDR',
-  q{/ LT_TO_NAME /}   => 'LT_TO_NAME',
-  q{/ LT_CC_ADDR /}   => 'LT_CC_ADDR',
-  q{/ LT_SUBJ /}      => 'LT_SUBJ',
-  q{/ LT_SUBJ_RAW /}  => 'LT_SUBJ_RAW',
-  q{/ LT_MESSAGEID /} => 'LT_MESSAGEID',
-  q{/ LT_MSGID /}     => 'LT_MSGID',
-  q{/ LT_CT /}        => 'LT_CT',
-  q{/ LT_CT_RAW /}    => 'LT_CT_RAW',
-  q{/ LT_AUTH_DOM /}  => 'LT_AUTH_DOM',
-  q{/ LT_NOTE /}      => 'LT_NOTE',
-  q{/ LT_UTF8SMTP_ANY /}    => 'LT_UTF8SMTP_ANY',
-  q{/ LT_SPLIT_UTF8_SUBJ /} => 'LT_SPLIT_UTF8_SUBJ',
-  q{/ USER_IN_BLOCKLIST /}  => 'USER_IN_BLOCKLIST',
+  ' 1.0 LT_RPATH '     => '',
+  ' 1.0 LT_ENVFROM '   => '',
+  ' 1.0 LT_FROM '      => '',
+  ' 1.0 LT_FROM_ADDR ' => '',
+  ' 1.0 LT_FROM_NAME ' => '',
+  ' 1.0 LT_FROM_RAW '  => '',
+  ' 1.0 LT_TO_ADDR '   => '',
+  ' 1.0 LT_TO_NAME '   => '',
+  ' 1.0 LT_CC_ADDR '   => '',
+  ' 1.0 LT_SUBJ '      => '',
+  ' 1.0 LT_SUBJ_RAW '  => '',
+  ' 1.0 LT_MESSAGEID ' => '',
+  ' 1.0 LT_MSGID '     => '',
+  ' 1.0 LT_CT '        => '',
+  ' 1.0 LT_CT_RAW '    => '',
+  ' 1.0 LT_AUTH_DOM '  => '',
+  ' 1.0 LT_NOTE '      => '',
+  ' 1.0 LT_UTF8SMTP_ANY '    => '',
+  ' 1.0 LT_SPLIT_UTF8_SUBJ ' => '',
+  ' 100 USER_IN_BLOCKLIST '  => '',
 );
 
 %mypatterns_utf8 = (  # as it appears in a report body
-  q{/(?m)^ 0\.0 LT_ANY_CHARS \s*En-tête contient caractères$/} => 'LT_ANY_CHARS utf8',
+  ' 1.0 LT_ANY_CHARS En-tête contient caractères' => 'LT_ANY_CHARS utf8',
 );
 
 %mypatterns_mime_qp = (  # as it appears in a mail header section
-  q{/(?m)^\t\*  0\.0 LT_ANY_CHARS =\?UTF-8\?Q\?En-t=C3=AAte_contient_caract=C3=A8res\?=$/} => 'LT_ANY_CHARS mime encoded',
+  ' 1.0 LT_ANY_CHARS =?UTF-8?Q?En-t=C3=AAte_contient_caract=C3=A8res?=' => 'LT_ANY_CHARS mime encoded',
 );
 
 %mypatterns_mime_b64 = (  # as it appears in a mail header section
-  q{/(?m)^\t\*  0\.0 LT_ANY_CHARS =\?UTF-8\?B\?5a2X56ym6KKr5YyF5ZCr5Zyo5raI5oGv5oql5aS06YOo5YiG\?=$/} => 'LT_ANY_CHARS mime encoded',
+  ' 1.0 LT_ANY_CHARS =?UTF-8?B?5a2X56ym6KKr5YyF5ZCr5Zyo5raI5oGv5oql5aS06YOo5YiG?=' => 'LT_ANY_CHARS mime encoded',
 );
 
 %mypatterns_mime_b64_bug7307 = (
-  q{/ LT_SUBJ2 /}      => 'LT_SUBJ2',
-  q{/ LT_SUBJ2_RAW /}  => 'LT_SUBJ2_RAW',
+  ' 1.0 LT_SUBJ2 '      => '',
+  ' 1.0 LT_SUBJ2_RAW '  => '',
 );
 
 %anti_patterns = (
-  q{/ NO_RELAYS /}  => 'NO_RELAYS',
-# q{/ INVALID_MSGID /}  => 'INVALID_MSGID',
+  ' 1.0 NO_RELAYS '  => 'NO_RELAYS',
+# ' 1.0 INVALID_MSGID '  => 'INVALID_MSGID',
 );
 
 my $myrules = <<'END';
   header USER_IN_BLOCKLIST  eval:check_from_in_blocklist()
   tflags USER_IN_BLOCKLIST  userconf nice noautolearn
-  score USER_IN_BLOCKLIST   100
+  score USER_IN_BLOCKLIST 100
   add_header all  AuthorDomain _AUTHORDOMAIN_
   blocklist_from  Marilù.Gioffré@esempio-università.it
   header LT_UTF8SMTP_ANY  Received =~ /\bwith\s*UTF8SMTPS?A?\b/mi
-  score  LT_UTF8SMTP_ANY  -0.1
   header LT_RPATH   Return-Path:addr =~ /^Marilù\.Gioffré\@esempio-università\.it\z/
-  score  LT_RPATH     0.01
   header LT_ENVFROM EnvelopeFrom =~ /^Marilù\.Gioffré\@esempio-università\.it\z/
-  score  LT_ENVFROM   0.01
   header LT_FROM      From =~ /^Marilù Gioffré ♥ <Marilù\.Gioffré\@esempio-università\.it>$/m
-  score  LT_FROM      0.01
   header LT_FROM_ADDR From:addr =~ /^Marilù\.Gioffré\@esempio-università\.it\z/
-  score  LT_FROM_ADDR 0.01
   header LT_FROM_NAME From:name =~ /^Marilù Gioffré ♥\z/
-  score  LT_FROM_NAME 0.01
   header LT_FROM_RAW  From:raw  =~ /^\s*=\?ISO-8859-1\?Q\?Maril=F9\?= Gioffré ♥ <Marilù\.Gioffré\@esempio-università\.it>$/m
-  score  LT_FROM_RAW  0.01
   header LT_AUTH_DOM  X-AuthorDomain =~ /^xn--esempio-universit-4ob\.it\z/
-  score  LT_AUTH_DOM  0.01
   header LT_TO_ADDR   To:addr =~ /^Dörte\@Sörensen\.example\.com\z/
-  score  LT_TO_ADDR   0.01
   header LT_TO_NAME   To:name =~ /^Dörte Å\. Sörensen, Jr\./
-  score  LT_TO_NAME   0.01
   header LT_CC_ADDR   Cc:addr =~ /^θσερ\@εχαμπλε\.ψομ\z/
-  score  LT_CC_ADDR   0.01
   header LT_SUBJ      Subject =~ /^Domače omrežje$/m
-  score  LT_SUBJ      0.01
   header LT_SUBJ_RAW  Subject:raw  =~ /^\s*=\?iso-8859-2\*sl\?Q\?Doma=e8e\?=\s+=\?utf-8\*sl\?Q\?_omre=C5\?=/m
-  score  LT_SUBJ_RAW  0.01
   header LT_SUBJ2     Subject =~ /^【重要訊息】台電105年3月電費,委託金融機構扣繳成功電子繳費憑證\(電號07487616730\)$/m
-  score  LT_SUBJ2     0.01
   header LT_SUBJ2_RAW Subject:raw  =~ /^\s*=\?UTF-8\?B\?44CQ6YeN6KaB6KiK5oGv44CR5Y\+w6Zu7MTA15bm0\?=\s*=\?UTF-8\?B\?M\+aciOmbu\+iyu\+\+8jOWnlOiol\+mHkeiejeapn\+ani\+aJow==\?=\s*=\?UTF-8\?B\?57mz5oiQ5Yqf6Zu75a2Q57mz6LK75oaR6K2JKOmbu\+iZnw==\?=\s*=\?UTF-8\?B\?MDc0ODc2MTY3MzAp\?=$/m
-  score  LT_SUBJ2_RAW 0.01
   header LT_MSGID     Message-ID =~ /^<b497e6c2\@example\.срб>$/m
-  score  LT_MSGID     0.01
   header LT_MESSAGEID MESSAGEID  =~ /^<b497e6c2\@example\.срб>$/m
-  score  LT_MESSAGEID 0.01
   header LT_CT        Content-Type =~ /документы для отдела кадров\.pdf/
-  score  LT_CT        0.01
   header LT_CT_RAW    Content-Type:raw =~ /=\?utf-8\?B\?tdC70LAg0LrQsNC00YDQvtCyLnBkZg==\?="/
-  score  LT_CT_RAW    0.01
   header LT_SPLIT_UTF8_SUBJ Subject:raw =~ m{(=\?UTF-8) (?: \* [^?=<>, \t]* )? (\?Q\?) [^ ?]* =[89A-F][0-9A-F] \?= \s* \1 (?: \* [^ ?=]* )? \2 =[89AB][0-9A-F]}xsmi
-  score  LT_SPLIT_UTF8_SUBJ 0.01
   header LT_NOTE      X-Note =~ /^The above.*char =C5 =BE is invalid, .*wild$/m
-  score  LT_NOTE      0.01
   header LT_ANY_CHARS From =~ /./
-  score  LT_ANY_CHARS 0.001
   describe         LT_ANY_CHARS  Header contains characters
   lang fr describe LT_ANY_CHARS  En-tête contient caractères
   # sorry, Google translate:

Modified: spamassassin/trunk/t/html_obfu.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/html_obfu.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/html_obfu.t (original)
+++ spamassassin/trunk/t/html_obfu.t Sat May 28 10:38:25 2022
@@ -7,18 +7,18 @@ use Test::More tests => 9;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ MILLION_EMAIL } => 'MILLION_EMAIL',
-  q{ GUARANTEE } => 'GUARANTEE',
-  q{ NATURAL } => 'NATURAL',
-  q{ OUR_AFFILIATE_PARTNERS } => 'OUR_AFFILIATE_PARTNERS',
-  q{ VIAGRA } => 'VIAGRA',
+  q{ 1.0 MILLION_EMAIL } => '',
+  q{ 1.0 GUARANTEE } => '',
+  q{ 1.0 NATURAL } => '',
+  q{ 1.0 OUR_AFFILIATE_PARTNERS } => '',
+  q{ 1.0 VIAGRA } => '',
 );
 
 %anti_patterns = (
-  q{ OPPORTUNITY } => 'OPPORTUNITY',
-  q{ BUG5749_P_H2 } => 'BUG5749_P_H2',
-  q{ BUG5749_H2_H3 } => 'BUG5749_H2_H3',
-  q{ BUG6168_EXAMPLE } => 'BUG6168_EXAMPLE',
+  q{ OPPORTUNITY } => '',
+  q{ BUG5749_P_H2 } => '',
+  q{ BUG5749_H2_H3 } => '',
+  q{ BUG6168_EXAMPLE } => '',
 );
 
 tstlocalrules ('

Modified: spamassassin/trunk/t/html_utf8.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/html_utf8.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/html_utf8.t (original)
+++ spamassassin/trunk/t/html_utf8.t Sat May 28 10:38:25 2022
@@ -9,11 +9,11 @@ plan tests => 2;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ QUOTE_YOUR } => 'QUOTE_YOUR',
+  q{ 1.0 QUOTE_YOUR } => '',
 );
 
 %anti_patterns = (
-  q{ OPPORTUNITY } => 'OPPORTUNITY',
+  q{ OPPORTUNITY } => '',
 );
 
 tstlocalrules ('

Modified: spamassassin/trunk/t/if_can.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/if_can.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/if_can.t (original)
+++ spamassassin/trunk/t/if_can.t Sat May 28 10:38:25 2022
@@ -8,28 +8,28 @@ use Test::More tests => 19;
 
 %patterns = (
 
-  q{ GTUBE }, 'gtube',
-  q{ SHOULD_BE_CALLED01 }, 'should_be_called01',
-  q{ SHOULD_BE_CALLED02 }, 'should_be_called02',
-  q{ SHOULD_BE_CALLED03 }, 'should_be_called03',
-  q{ SHOULD_BE_CALLED04 }, 'should_be_called04',
-  q{ SHOULD_BE_CALLED05 }, 'should_be_called05',
-  q{ SHOULD_BE_CALLED06 }, 'should_be_called06',
-  q{ SHOULD_BE_CALLED07 }, 'should_be_called07',
-  q{ SHOULD_BE_CALLED08 }, 'should_be_called08',
-  q{ SHOULD_BE_CALLED09 }, 'should_be_called09',
-  q{ SHOULD_BE_CALLED10 }, 'should_be_called10',
-  q{ SHOULD_BE_CALLED11 }, 'should_be_called11',
-  q{ SHOULD_BE_CALLED12 }, 'should_be_called12',
+  q{ 1000 GTUBE }, '',
+  q{ 1.0 SHOULD_BE_CALLED01 }, '',
+  q{ 1.0 SHOULD_BE_CALLED02 }, '',
+  q{ 1.0 SHOULD_BE_CALLED03 }, '',
+  q{ 1.0 SHOULD_BE_CALLED04 }, '',
+  q{ 1.0 SHOULD_BE_CALLED05 }, '',
+  q{ 1.0 SHOULD_BE_CALLED06 }, '',
+  q{ 1.0 SHOULD_BE_CALLED07 }, '',
+  q{ 1.0 SHOULD_BE_CALLED08 }, '',
+  q{ 1.0 SHOULD_BE_CALLED09 }, '',
+  q{ 1.0 SHOULD_BE_CALLED10 }, '',
+  q{ 1.0 SHOULD_BE_CALLED11 }, '',
+  q{ 1.0 SHOULD_BE_CALLED12 }, '',
 
 );
 %anti_patterns = (
 
-  q{ SHOULD_NOT_BE_CALLED01 }, 'should_not_be_called01',
-  q{ SHOULD_NOT_BE_CALLED02 }, 'should_not_be_called02',
-  q{ SHOULD_NOT_BE_CALLED03 }, 'should_not_be_called03',
-  q{ SHOULD_NOT_BE_CALLED04 }, 'should_not_be_called04',
-  q{ SHOULD_NOT_BE_CALLED05 }, 'should_not_be_called05',
+  q{ SHOULD_NOT_BE_CALLED01 }, '',
+  q{ SHOULD_NOT_BE_CALLED02 }, '',
+  q{ SHOULD_NOT_BE_CALLED03 }, '',
+  q{ SHOULD_NOT_BE_CALLED04 }, '',
+  q{ SHOULD_NOT_BE_CALLED05 }, '',
 
 );
 tstlocalrules (q{

Modified: spamassassin/trunk/t/if_else.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/if_else.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/if_else.t (original)
+++ spamassassin/trunk/t/if_else.t Sat May 28 10:38:25 2022
@@ -8,30 +8,30 @@ use Test::More tests => 21;
 
 %patterns = (
 
-  q{ GTUBE }, 'gtube',
-  q{ SHOULD_BE_CALLED01 }, 'should_be_called01',
-  q{ SHOULD_BE_CALLED02 }, 'should_be_called02',
-  q{ SHOULD_BE_CALLED03 }, 'should_be_called03',
-  q{ SHOULD_BE_CALLED04 }, 'should_be_called04',
-  q{ SHOULD_BE_CALLED05 }, 'should_be_called05',
-  q{ SHOULD_BE_CALLED06 }, 'should_be_called06',
-  q{ SHOULD_BE_CALLED07 }, 'should_be_called07',
+  q{ 1000 GTUBE }, '',
+  q{ 1.0 SHOULD_BE_CALLED01 }, '',
+  q{ 1.0 SHOULD_BE_CALLED02 }, '',
+  q{ 1.0 SHOULD_BE_CALLED03 }, '',
+  q{ 1.0 SHOULD_BE_CALLED04 }, '',
+  q{ 1.0 SHOULD_BE_CALLED05 }, '',
+  q{ 1.0 SHOULD_BE_CALLED06 }, '',
+  q{ 1.0 SHOULD_BE_CALLED07 }, '',
 
 );
 %anti_patterns = (
 
-  q{ SHOULD_NOT_BE_CALLED01 }, 'should_not_be_called01',
-  q{ SHOULD_NOT_BE_CALLED02 }, 'should_not_be_called02',
-  q{ SHOULD_NOT_BE_CALLED03 }, 'should_not_be_called03',
-  q{ SHOULD_NOT_BE_CALLED04 }, 'should_not_be_called04',
-  q{ SHOULD_NOT_BE_CALLED05 }, 'should_not_be_called05',
-  q{ SHOULD_NOT_BE_CALLED06 }, 'should_not_be_called06',
-  q{ SHOULD_NOT_BE_CALLED07 }, 'should_not_be_called07',
-  q{ SHOULD_NOT_BE_CALLED08 }, 'should_not_be_called08',
-  q{ SHOULD_NOT_BE_CALLED09 }, 'should_not_be_called09',
-  q{ SHOULD_NOT_BE_CALLED10 }, 'should_not_be_called10',
-  q{ SHOULD_NOT_BE_CALLED11 }, 'should_not_be_called11',
-  q{ SHOULD_NOT_BE_CALLED12 }, 'should_not_be_called12',
+  q{ SHOULD_NOT_BE_CALLED01 }, '',
+  q{ SHOULD_NOT_BE_CALLED02 }, '',
+  q{ SHOULD_NOT_BE_CALLED03 }, '',
+  q{ SHOULD_NOT_BE_CALLED04 }, '',
+  q{ SHOULD_NOT_BE_CALLED05 }, '',
+  q{ SHOULD_NOT_BE_CALLED06 }, '',
+  q{ SHOULD_NOT_BE_CALLED07 }, '',
+  q{ SHOULD_NOT_BE_CALLED08 }, '',
+  q{ SHOULD_NOT_BE_CALLED09 }, '',
+  q{ SHOULD_NOT_BE_CALLED10 }, '',
+  q{ SHOULD_NOT_BE_CALLED11 }, '',
+  q{ SHOULD_NOT_BE_CALLED12 }, '',
 
 );
 

Modified: spamassassin/trunk/t/ifversion.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/ifversion.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/ifversion.t (original)
+++ spamassassin/trunk/t/ifversion.t Sat May 28 10:38:25 2022
@@ -7,12 +7,12 @@ use Test::More tests => 4;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ GTUBE }, 'gtube',
-  q{ SHOULD_BE_CALLED }, 'should_be_called'
+  q{ 1000 GTUBE }, '',
+  q{ 1.0 SHOULD_BE_CALLED }, ''
 );
 
 %anti_patterns = (
-  q{ SHOULD_NOT_BE_CALLED }, 'should_not_be_called'
+  q{ SHOULD_NOT_BE_CALLED }, ''
 );
 
 tstlocalrules ("

Modified: spamassassin/trunk/t/lang_lint.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/lang_lint.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/lang_lint.t (original)
+++ spamassassin/trunk/t/lang_lint.t Sat May 28 10:38:25 2022
@@ -10,7 +10,7 @@ plan tests => 8;
 # ---------------------------------------------------------------------------
 
 my @locales = qw( de es fr it nl pl pl pt_BR );
-%patterns = ( q{  }, 'anything', );
+%patterns = ( qr/^/, 'anything', );
 
 for $locale (@locales) {
   $ENV{'LANGUAGE'} = $locale;

Modified: spamassassin/trunk/t/lint_nocreate_prefs.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/lint_nocreate_prefs.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/lint_nocreate_prefs.t (original)
+++ spamassassin/trunk/t/lint_nocreate_prefs.t Sat May 28 10:38:25 2022
@@ -6,7 +6,7 @@ use Test::More tests => 2;
 
 # ---------------------------------------------------------------------------
 
-%patterns = ( q{  }, 'anything' );
+%patterns = ( qr/^/, 'anything' );
 
 # override locale for this test!
 $ENV{'LANGUAGE'} = $ENV{'LC_ALL'} = 'C';

Modified: spamassassin/trunk/t/local_tests_only.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/local_tests_only.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/local_tests_only.t (original)
+++ spamassassin/trunk/t/local_tests_only.t Sat May 28 10:38:25 2022
@@ -20,6 +20,6 @@ tstprefs("
 ");
 
 # we need -D output for patterns
-sarun ("-D -L -t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb);
+sarun ("-D dns -L -t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb);
 ok_all_patterns();
 

Modified: spamassassin/trunk/t/mimeheader.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/mimeheader.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/mimeheader.t (original)
+++ spamassassin/trunk/t/mimeheader.t Sat May 28 10:38:25 2022
@@ -23,11 +23,11 @@ use Test::More tests => 18;
   q{ 1.0 MIMEHEADER_MULTI2 }, '',
   q{ 1.0 MIMEHEADER_MULTIMETA2 }, '',
   q{ 1.0 MIMEHEADER_CAPTURE1 }, '',
-  q{/tag MIMECAP1 is now ready, value: text/plain\n/}, '',
+  qr/tag MIMECAP1 is now ready, value: text\/plain\n/, '',
 );
 
 %anti_patterns = (
-  q{ MIMEHEADER_NOTFOUND }, '',
+  'MIMEHEADER_NOTFOUND', '',
 );
 
 tstprefs (q{

Modified: spamassassin/trunk/t/mkrules_else.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/mkrules_else.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/mkrules_else.t (original)
+++ spamassassin/trunk/t/mkrules_else.t Sat May 28 10:38:25 2022
@@ -15,18 +15,13 @@ mkdir($tdir);
 
 %patterns = (
   # ensure these have the appropriate conditional attached
-  "/(?s)ifplugin Mail::SpamAssassin::Plugin::WhateverNonExistent".
-        "[^\\n]*\\n".
-        "die_with_a_syntax_error/" => die_with_a_syntax_error_found,
-
-  "/(?s)if !plugin\\(Mail::SpamAssassin::Plugin::WhateverNonExistent\\)".
-        "[^\\n]*\\n".
-        "body GOOD \\/foo\\//" => rule_GOOD,
+  qr/ifplugin Mail::SpamAssassin::Plugin::WhateverNonExistent[^\n]*\ndie_with_a_syntax_error/s => 'die_with_a_syntax_error_found',
+  qr/if !plugin\(Mail::SpamAssassin::Plugin::WhateverNonExistent\)[^\n]*\nbody GOOD \/foo\//s => 'rule_GOOD',
 
 );
 %anti_patterns = (
-  "ERROR"        => ERROR_in_stdout,
-  "WARNING"      => WARNING_in_stdout,
+  'ERROR'        => 'ERROR_in_stdout',
+  'WARNING'      => 'WARNING_in_stdout',
 );
 
 mkpath ([ "$tdir/rulesrc/sandbox/foo", "$tdir/rules" ]);
@@ -57,11 +52,9 @@ rmtree([ $tdir ]);
 %patterns = (
 );
 %anti_patterns = (
-  "/(?s)meta\\s+T_B1\\s+\\S+\\n".
-        "meta\\s+T_B1\\s+\\S+/" => two_metas_in_one_ifplugin_scope,
-
-  "ERROR"        => ERROR_in_stdout,
-  "WARNING"      => WARNING_in_stdout,
+  qr/meta\s+T_B1\s+\S+\nmeta\s+T_B1\s+\S+/s => 'two_metas_in_one_ifplugin_scope',
+  'ERROR'        => 'ERROR_in_stdout',
+  'WARNING'      => 'WARNING_in_stdout',
 );
 
 mkpath ([ "$tdir/rulesrc/sandbox/foo", "$tdir/rules" ]);
@@ -101,11 +94,9 @@ rmtree([ $tdir ]);
 %patterns = (
 );
 %anti_patterns = (
-  "/(?s)meta\\s+__B1\\s+\\S+\\n".
-        "meta\\s+__B1\\s+\\S+/" => two_metas_in_one_ifplugin_scope,
-
-  "ERROR"        => ERROR_in_stdout,
-  "WARNING"      => WARNING_in_stdout,
+  qr/meta\s+__B1\s+\S+\nmeta\s+__B1\s+\S+/s => 'two_metas_in_one_ifplugin_scope',
+  'ERROR'        => 'ERROR_in_stdout',
+  'WARNING'      => 'WARNING_in_stdout',
 );
 
 mkpath ([ "$tdir/rulesrc/sandbox/foo", "$tdir/rules" ]);
@@ -136,8 +127,8 @@ ok (mkrun ("--src $tdir/rulesrc --out $t
 checkfile("$tdir/rules/70_sandbox.cf", \&patterns_run_cb);
 
 %patterns = (
-  "body T_A1" => T_A1_defined,
-  "meta __B1" => __B1_defined,
+  'body T_A1' => 'T_A1_defined',
+  'meta __B1' => '__B1_defined',
 );
 checkfile("$tdir/rules/72_active.cf", \&patterns_run_cb);
 ok ok_all_patterns();

Modified: spamassassin/trunk/t/olevbmacro.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/olevbmacro.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/olevbmacro.t (original)
+++ spamassassin/trunk/t/olevbmacro.t Sat May 28 10:38:25 2022
@@ -34,7 +34,7 @@ tstlocalrules (q{
 
 
 %patterns = (
-  q{ 0.1 OLEMACRO_FOUND }, 'OLEMACRO_FOUND',
+  q{ 0.1 OLEMACRO_FOUND }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/macro.eml", \&patterns_run_cb);
@@ -42,8 +42,8 @@ ok_all_patterns();
 clear_pattern_counters();
 
 %patterns = (
-  q{ 0.1 OLEMACRO_FOUND }, 'OLEMACRO_FOUND',
-  q{ 0.1 OLEMACRO_MALICE }, 'OLEMACRO_MALICE',
+  q{ 0.1 OLEMACRO_FOUND }, '',
+  q{ 0.1 OLEMACRO_MALICE }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/malicemacro.eml", \&patterns_run_cb);
@@ -51,8 +51,8 @@ ok_all_patterns();
 clear_pattern_counters();
 
 %patterns = (
-  q{ 0.1 OLEMACRO_FOUND }, 'OLEMACRO_FOUND',
-  q{ 0.1 OLEMACRO_RENAME }, 'OLEMACRO_RENAME',
+  q{ 0.1 OLEMACRO_FOUND }, '',
+  q{ 0.1 OLEMACRO_RENAME }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/renamedmacro.eml", \&patterns_run_cb);
@@ -60,7 +60,7 @@ ok_all_patterns();
 clear_pattern_counters();
 
 %patterns = (
-  q{ 0.1 OLEMACRO_ENCRYPTED }, 'OLEMACRO_ENCRYPTED',
+  q{ 0.1 OLEMACRO_ENCRYPTED }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/encrypted.eml", \&patterns_run_cb);
@@ -68,8 +68,8 @@ ok_all_patterns();
 clear_pattern_counters();
 
 %patterns = (
-  q{ 0.1 OLEMACRO_FOUND }, 'OLEMACRO_FOUND',
-  q{ 0.1 OLEMACRO_ZIP_PW }, 'OLEMACRO_ZIP_PW',
+  q{ 0.1 OLEMACRO_FOUND }, '',
+  q{ 0.1 OLEMACRO_ZIP_PW }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/zippwmacro.eml", \&patterns_run_cb);
@@ -78,7 +78,7 @@ clear_pattern_counters();
 
 %patterns = ();
 %anti_patterns = (
-  q{ 0.1 OLEMACRO_FOUND }, 'OLEMACRO_FOUND',
+  q{ 0.1 OLEMACRO_FOUND }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/nomacro.eml", \&patterns_run_cb);
@@ -86,15 +86,15 @@ ok_all_patterns();
 
 %patterns = ();
 %anti_patterns = (
-  q{ 0.1 OLEMACRO_FOUND }, 'OLEMACRO_FOUND',
-  q{ 0.1 OLEMACRO_CSV }, 'OLEMACRO_CSV',
+  q{ 0.1 OLEMACRO_FOUND }, '',
+  q{ 0.1 OLEMACRO_CSV }, '',
 );
 
 sarun ("-L -t < data/spam/olevbmacro/goodcsv.eml", \&patterns_run_cb);
 ok_all_patterns();
 
 %patterns = (
-  q{ 0.1 OLEMACRO_TURI }, 'OLEMACRO_TURI',
+  q{ 0.1 OLEMACRO_TURI }, '',
 );
 %anti_patterns = ();
 

Modified: spamassassin/trunk/t/originating_ip_hdr.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/originating_ip_hdr.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/originating_ip_hdr.t (original)
+++ spamassassin/trunk/t/originating_ip_hdr.t Sat May 28 10:38:25 2022
@@ -16,8 +16,8 @@ tstlocalrules (q{
   score  TEST_ORIG_IP_H2 0.1
 });
 
-%patterns      = ( q{ TEST_ORIG_IP_H1 }, 'test_orig_ip_h1' );
-%anti_patterns = ( q{ TEST_ORIG_IP_H2 }, 'test_orig_ip_h2' );
+%patterns      = ( q{ 0.1 TEST_ORIG_IP_H1 }, '' );
+%anti_patterns = ( q{ TEST_ORIG_IP_H2 }, '' );
 
 ok(sarun("-L -t < data/nice/orig_ip_hdr.eml", \&patterns_run_cb));
 ok_all_patterns();
@@ -35,8 +35,8 @@ tstlocalrules (q{
   score  TEST_ORIG_IP_H2 0.1
 });
 
-%patterns      = ( q{ TEST_ORIG_IP_H1 }, 'test_orig_ip_h1',
-                   q{ TEST_ORIG_IP_H2 }, 'test_orig_ip_h2' );
+%patterns      = ( q{ 0.1 TEST_ORIG_IP_H1 }, '',
+                   q{ TEST_ORIG_IP_H2 }, '' );
 %anti_patterns = ();
 
 ok(sarun("-L -t < data/nice/orig_ip_hdr.eml", \&patterns_run_cb));
@@ -53,8 +53,8 @@ tstlocalrules (q{
 });
 
 %patterns = ();
-%anti_patterns = ( q{ TEST_ORIG_IP_H1 }, 'test_orig_ip_h1',
-                   q{ TEST_ORIG_IP_H2 }, 'test_orig_ip_h2' );
+%anti_patterns = ( q{ 0.1 TEST_ORIG_IP_H1 }, '',
+                   q{ TEST_ORIG_IP_H2 }, '' );
 
 ok(sarun("-L -t < data/nice/orig_ip_hdr.eml", \&patterns_run_cb));
 ok_all_patterns();

Modified: spamassassin/trunk/t/pdfinfo.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/pdfinfo.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/pdfinfo.t (original)
+++ spamassassin/trunk/t/pdfinfo.t Sat May 28 10:38:25 2022
@@ -8,27 +8,27 @@ use Test::More;
 plan tests => 17;
 
 %patterns = (
- '1.0 PDFINFO_NAMED_REANY', '',
- '1.0 PDFINFO_DETAILS_CREATED', '',
- '1.0 PDFINFO_DETAILS_PRODUCER', '',
- '1.0 PDFINFO_DETAILS_CREATOR', '',
- '1.0 PDFINFO_COUNT_1', '',
- '1.0 PDFINFO_EMPTY_BODY_0', '',
- '1.0 PDFINFO_EMPTY_BODY_1000', '',
+ q{ 1.0 PDFINFO_NAMED_REANY }, '',
+ q{ 1.0 PDFINFO_DETAILS_CREATED }, '',
+ q{ 1.0 PDFINFO_DETAILS_PRODUCER }, '',
+ q{ 1.0 PDFINFO_DETAILS_CREATOR }, '',
+ q{ 1.0 PDFINFO_COUNT_1 }, '',
+ q{ 1.0 PDFINFO_EMPTY_BODY_0 }, '',
+ q{ 1.0 PDFINFO_EMPTY_BODY_1000 }, '',
 );
 %anti_patterns = (
- '1.0 PDFINFO_DETAILS_AUTHOR', '',
- '1.0 PDFINFO_DETAILS_TITLE', '',
- '1.0 PDFINFO_COUNT_2_3', '',
- '1.0 PDFINFO_IMAGE_COUNT', '',
- '1.0 PDFINFO_NAMED_FOO', '',
- '1.0 PDFINFO_DETAILS_MODIFIED', '',
- '1.0 PDFINFO_ENCRYPTED', '',
- '1.0 PDFINFO_DETAILS_MODIFIED', '',
- '1.0 PDFINFO_ENCRYPTED', '',
- '1.0 PDFINFO_MD5', '',
- '1.0 PDFINFO_FUZZY_MD5', '',
- '1.0 PDFINFO_PC', ''
+ q{ PDFINFO_DETAILS_AUTHOR }, '',
+ q{ PDFINFO_DETAILS_TITLE }, '',
+ q{ PDFINFO_COUNT_2_3 }, '',
+ q{ PDFINFO_IMAGE_COUNT }, '',
+ q{ PDFINFO_NAMED_FOO }, '',
+ q{ PDFINFO_DETAILS_MODIFIED }, '',
+ q{ PDFINFO_ENCRYPTED }, '',
+ q{ PDFINFO_DETAILS_MODIFIED }, '',
+ q{ PDFINFO_ENCRYPTED }, '',
+ q{ PDFINFO_MD5 }, '',
+ q{ PDFINFO_FUZZY_MD5 }, '',
+ q{ PDFINFO_PC }, ''
 );
 
 tstprefs("

Modified: spamassassin/trunk/t/plugin.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/plugin.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/plugin.t (original)
+++ spamassassin/trunk/t/plugin.t Sat May 28 10:38:25 2022
@@ -7,14 +7,14 @@ use Test::More tests => 6;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ GTUBE }, 'gtube',
-  q{ MY_TEST_PLUGIN }, 'plugin_called',
-  q{ registered Mail::SpamAssassin::Plugin::Test }, 'registered',
-  q{ Mail::SpamAssassin::Plugin::Test eval test called }, 'test_called',
+  q{ 1000 GTUBE }, 'gtube',
+  q{ 1.0 MY_TEST_PLUGIN }, 'plugin_called',
+  'registered Mail::SpamAssassin::Plugin::Test', 'registered',
+  'Mail::SpamAssassin::Plugin::Test eval test called', 'test_called',
 );
 
 %anti_patterns = (
-  q{ SHOULD_NOT_BE_CALLED }, 'should_not_be_called'
+  'SHOULD_NOT_BE_CALLED', '',
 );
 
 tstlocalrules ("

Modified: spamassassin/trunk/t/plugin_file.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/plugin_file.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/plugin_file.t (original)
+++ spamassassin/trunk/t/plugin_file.t Sat May 28 10:38:25 2022
@@ -7,17 +7,17 @@ use Test::More tests => 9;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ GTUBE }, 'gtube',
-  q{ MY_TEST_PLUGIN }, 'plugin_called',
-  q{ registered myTestPlugin }, 'registered',
-  q{ myTestPlugin eval test called }, 'test_called',
-  q{ myTestPlugin finishing }, 'plugin_finished',
-  q{ test: plugins loaded: Mail::SpamAssassin::Plugin::ASN=HASH }, 'plugins_loaded',
-  q{ myTestPlugin=HASH }, 'plugins_loaded2',
+  q{ 1000 GTUBE },		'gtube',
+  q{ 1.0 MY_TEST_PLUGIN },	'plugin_called',
+  'registered myTestPlugin',	'registered',
+  'myTestPlugin eval test called', 'test_called',
+  'myTestPlugin finishing',	'plugin_finished',
+  'test: plugins loaded: Mail::SpamAssassin::Plugin::ASN=HASH', 'plugins_loaded',
+  'myTestPlugin=HASH',		'plugins_loaded2',
 );
 
 %anti_patterns = (
-  q{ SHOULD_NOT_BE_CALLED }, 'should_not_be_called'
+  'SHOULD_NOT_BE_CALLED', 'should_not_be_called'
 );
 
 tstlocalrules ("

Modified: spamassassin/trunk/t/prefs_include.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/prefs_include.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/prefs_include.t (original)
+++ spamassassin/trunk/t/prefs_include.t Sat May 28 10:38:25 2022
@@ -9,9 +9,9 @@ $ENV{'LANGUAGE'} = $ENV{'LC_ALL'} = 'C';
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{/(?m)^X-Spam-Report:\s*$/}, 'qp-encoded-hdr',
-  q{/(?m)^\t\*\s+[0-9.-]+ INVALID_DATE\s+Invalid Date: header =\?UTF-8\?B\?wq4gwq8gwrA=\?=$/}, 'qp-encoded-desc',
-  q{/(?m)^ [0-9.-]+ INVALID_DATE\s+Invalid Date: header ® ¯ °$/}, 'report-desc',
+  qr/^X-Spam-Report:\s*$/m, 'qp-encoded-hdr',
+  qr/^\t\*\s+[0-9.-]+ INVALID_DATE\s+Invalid Date: header =\?UTF-8\?B\?wq4gwq8gwrA=\?=$/m, 'qp-encoded-desc',
+  qr/^ [0-9.-]+ INVALID_DATE\s+Invalid Date: header ® ¯ °$/m, 'report-desc',
 );
 
 tstprefs ("

Modified: spamassassin/trunk/t/recips.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/recips.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/recips.t (original)
+++ spamassassin/trunk/t/recips.t Sat May 28 10:38:25 2022
@@ -7,22 +7,22 @@ use Test::More tests => 6;
 
 # ---------------------------------------------------------------------------
 
-%patterns = ( q{ SORTED_RECIPS } => 'SORTED_RECIPS',
-	      q{ SUSPICIOUS_RECIPS } => 'SUSPICIOUS_RECIPS');
+%patterns = ( q{ SORTED_RECIPS } => '',
+	      q{ SUSPICIOUS_RECIPS } => '');
 %anti_patterns = ( );
 
 sarun ("-L -t < data/spam/010", \&patterns_run_cb);
 ok_all_patterns();
 
-%patterns = ( q{ SUSPICIOUS_RECIPS } => 'SUSPICIOUS_RECIPS');
-%anti_patterns = ( q{ SORTED_RECIPS } => 'SORTED_RECIPS');
+%patterns = ( q{ SUSPICIOUS_RECIPS } => '');
+%anti_patterns = ( q{ SORTED_RECIPS } => '');
 
 sarun ("-L -t < data/spam/011", \&patterns_run_cb);
 ok_all_patterns();
 
 %patterns = ( );
-%anti_patterns = ( q{ SORTED_RECIPS } => 'SORTED_RECIPS',
-		   q{ SUSPICIOUS_RECIPS } => 'SUSPICIOUS_RECIPS');
+%anti_patterns = ( q{ SORTED_RECIPS } => '',
+		   q{ SUSPICIOUS_RECIPS } => '');
 
 sarun ("-L -t < data/nice/006", \&patterns_run_cb);
 ok_all_patterns();

Modified: spamassassin/trunk/t/regexp_named_capture.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/regexp_named_capture.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/regexp_named_capture.t (original)
+++ spamassassin/trunk/t/regexp_named_capture.t Sat May 28 10:38:25 2022
@@ -17,11 +17,11 @@ plan tests => 12;
   q{ 1.0 TEST_CAPTURE_5 } => '',
   q{ 1.0 TEST_CAPTURE_6 } => '',
   q{ 1.0 TEST_CAPTURE_7 } => '',
-  q{/tag TESTCAP1 is now ready, value: Ximian\n/} => '',
-  q{/tag TESTCAP2 is now ready, value: Ximian\n/} => '',
-  q{/tag TESTCAP3 is now ready, value: gnome.org\n/} => '',
-  q{/tag TESTCAP4 is now ready, value: milkplus\n/} => '',
-  q{/tag TESTCAP5 is now ready, value: release\n/} => '',
+  qr/tag TESTCAP1 is now ready, value: Ximian\n/ => '',
+  qr/tag TESTCAP2 is now ready, value: Ximian\n/ => '',
+  qr/tag TESTCAP3 is now ready, value: gnome\.org\n/ => '',
+  qr/tag TESTCAP4 is now ready, value: milkplus\n/ => '',
+  qr/tag TESTCAP5 is now ready, value: release\n/ => '',
 );
 %anti_patterns = ();
 
@@ -39,6 +39,6 @@ tstlocalrules (q{
    body TEST_CAPTURE_7 m{www\.%{HEADER(From:addr:domain)}/}
 });
 
-sarun ("-D check -L -t < data/nice/001 2>&1", \&patterns_run_cb);
+sarun ("-D check,config -L -t < data/nice/001 2>&1", \&patterns_run_cb);
 ok_all_patterns();
 

Modified: spamassassin/trunk/t/reportheader_8bit.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/reportheader_8bit.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/reportheader_8bit.t (original)
+++ spamassassin/trunk/t/reportheader_8bit.t Sat May 28 10:38:25 2022
@@ -10,9 +10,9 @@ $ENV{'LANGUAGE'} = $ENV{'LC_ALL'} = 'C';
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{/(?m)^X-Spam-Report:\s*$/}, 'qp-encoded-hdr',
-  q{/(?m)^\t\*\s+[0-9.-]+ INVALID_DATE\s+Invalid Date: header =\?UTF-8\?B\?wq4gwq8gwrA=\?= foo$/}, 'qp-encoded-desc',
-  q{/(?m)^ [0-9.-]+ INVALID_DATE\s+Invalid Date: header ® ¯ ° foo$/}, 'report-desc',
+  qr/^X-Spam-Report:\s*$/m, 'qp-encoded-hdr',
+  qr/^\t\*\s+[0-9.-]+ INVALID_DATE\s+Invalid Date: header =\?UTF-8\?B\?wq4gwq8gwrA=\?= foo$/m, 'qp-encoded-desc',
+  qr/^ [0-9.-]+ INVALID_DATE\s+Invalid Date: header ® ¯ ° foo$/m, 'report-desc',
 );
 
 tstprefs ("

Modified: spamassassin/trunk/t/reuse.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/reuse.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/reuse.t (original)
+++ spamassassin/trunk/t/reuse.t Sat May 28 10:38:25 2022
@@ -70,17 +70,17 @@ write_mail(0);
 ok_system("$perl_path -w ../masses/mass-check -c=$localrules --reuse --file $workdir/mail.txt > $workdir/noxss.out");
 
 %patterns = (
-  'BODY_RULE_1' => 'BODY_RULE_1',
-  'HEADER_RULE_1' => 'HEADER_RULE_1',
-  'META_RULE_1' => 'META_RULE_1'
+  'BODY_RULE_1' => '',
+  'HEADER_RULE_1' => '',
+  'META_RULE_1' => '',
 );
 %anti_patterns = (
-  'NEW_RULE' => 'NEW_RULE',
-  'OTHER_RULE' => 'OTHER_RULE',
-  'RENAMED_RULE' => 'RENAMED_RULE',
-  'NONEXISTANT_RULE' => 'NONEXISTANT_RULE',
-  'BODY_RULE_2' => 'BODY_RULE_2',
-  'SCORED_RULE' => 'SCORED_RULE'
+  'NEW_RULE' => '',
+  'OTHER_RULE' => '',
+  'RENAMED_RULE' => '',
+  'NONEXISTANT_RULE' => '',
+  'BODY_RULE_2' => '',
+  'SCORED_RULE' => '',
 );
 
 checkfile("$workdir/noxss.out", \&patterns_run_cb);
@@ -94,17 +94,17 @@ write_mail(1);
 ok_system("$perl_path -w ../masses/mass-check -c=$localrules --file $workdir/mail.txt > $workdir/noreuse.out");
 
 %patterns = (
-  'BODY_RULE_1' => 'BODY_RULE_1',
-  'HEADER_RULE_1' => 'HEADER_RULE_1',
-  'META_RULE_1' => 'META_RULE_1'
+  'BODY_RULE_1' => '',
+  'HEADER_RULE_1' => '',
+  'META_RULE_1' => '',
 );
 %anti_patterns = (
-  'NEW_RULE' => 'NEW_RULE',
-  'OTHER_RULE' => 'OTHER_RULE',
-  'RENAMED_RULE' => 'RENAMED_RULE',
-  'NONEXISTANT_RULE' => 'NONEXISTANT_RULE',
-  'BODY_RULE_2' => 'BODY_RULE_2',
-  'SCORED_RULE' => 'SCORED_RULE'
+  'NEW_RULE' => '',
+  'OTHER_RULE' => '',
+  'RENAMED_RULE' => '',
+  'NONEXISTANT_RULE' => '',
+  'BODY_RULE_2' => '',
+  'SCORED_RULE' => '',
 );
 checkfile("$workdir/noreuse.out", \&patterns_run_cb);
 ok_all_patterns();
@@ -115,18 +115,18 @@ ok_system("$perl_path -w ../masses/mass-
 
 
 %patterns = (
-  'HEADER_RULE_1' => 'HEADER_RULE_1',
-  'BODY_RULE_2' => 'BODY_RULE_2',
-  'META_RULE_1' => 'META_RULE_1',
-  'NEW_RULE' => 'NEW_RULE',
-  'OTHER_RULE' => 'OTHER_RULE',
-  'RENAMED_RULE' => 'RENAMED_RULE',
-  'SCORED_RULE' => 'SCORED_RULE',
-  'Y 8' => 'score'
+  'HEADER_RULE_1' => '',
+  'BODY_RULE_2' => '',
+  'META_RULE_1' => '',
+  'NEW_RULE' => '',
+  'OTHER_RULE' => '',
+  'RENAMED_RULE' => '',
+  'SCORED_RULE' => '',
+  'Y 8' => '',
 );
 %anti_patterns = (
-  'BODY_RULE_1' => 'BODY_RULE_1',
-  'NONEXISTANT_RULE' => 'NONEXISTANT_RULE'
+  'BODY_RULE_1' => '',
+  'NONEXISTANT_RULE' => '',
 );
 
 checkfile("$workdir/reuse.out", \&patterns_run_cb);
@@ -153,13 +153,13 @@ write_mail(1);
 ok_system("$perl_path -w ../masses/mass-check -c=$localrules --reuse --file $workdir/mail.txt > $workdir/metareuse.out");
 
 %patterns = (
-  'META_RULE_2' => 'META_RULE_2',
-  'RULE_A' => 'RULE_A',
-  'RULE_B' => 'RULE_B',
+  'META_RULE_2' => '',
+  'RULE_A' => '',
+  'RULE_B' => '',
 );
 %anti_patterns = (
-  'META_RULE_1' => 'META_RULE_1',
-  'RULE_C' => 'RULE_C',
+  'META_RULE_1' => '',
+  'RULE_C' => '',
 );
 checkfile("$workdir/metareuse.out", \&patterns_run_cb);
 ok_all_patterns();

Modified: spamassassin/trunk/t/rule_multiple.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/rule_multiple.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/rule_multiple.t (original)
+++ spamassassin/trunk/t/rule_multiple.t Sat May 28 10:38:25 2022
@@ -7,30 +7,30 @@ use Test::More tests => 21;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ META_HEADER_RULE }, 'header',
-  q{ META_URI_RULE }, 'uri',
-  q{ META_BODY_RULE }, 'body',
-  q{ META_RAWBODY_RULE }, 'rawbody',
-  q{ META_FULL_RULE }, 'full',
-  q{ META_META_RULE }, 'meta',
-  q{ META_RULE_6 }, 'meta',
-  q{ META_EVAL_RULE }, 'eval',
-  q{ META_HEADER_RULE_MAX }, 'header_max',
-  q{ META_URI_RULE_MAX }, 'uri_max',
-  q{ META_BODY_RULE_MAX }, 'body_max',
-  q{ META_RAWBODY_RULE_MAX }, 'rawbody_max',
-  q{ META_FULL_RULE_MAX }, 'full_max',
+  q{ 1.0 META_BODY_RULE }, '',
+  q{ 1.0 META_BODY_RULE_MAX }, '',
+  q{ 1.0 META_EVAL_RULE }, '',
+  q{ 1.0 META_FULL_RULE }, '',
+  q{ 1.0 META_FULL_RULE_MAX }, '',
+  q{ 1.0 META_HEADER_RULE }, '',
+  q{ 1.0 META_HEADER_RULE_MAX }, '',
+  q{ 1.0 META_META_RULE }, '',
+  q{ 1.0 META_RAWBODY_RULE }, '',
+  q{ 1.0 META_RAWBODY_RULE_MAX }, '',
+  q{ 1.0 META_RULE_6 }, '',
+  q{ 1.0 META_URI_RULE }, '',
+  q{ 1.0 META_URI_RULE_MAX }, '',
 );
 
 %anti_patterns = (
-  q{ META_HEADER_RULE_2 }, 'header_2',
-  q{ META_BODY_RULE_2 }, 'body_2',
-  q{ META_FULL_RULE_2 }, 'full_2',
-  q{ META_HEADER_RULE_MAX_2 }, 'header_max_2',
-  q{ META_URI_RULE_MAX_2 }, 'uri_max_2',
-  q{ META_BODY_RULE_MAX_2 }, 'body_max_2',
-  q{ META_RAWBODY_RULE_MAX_2 }, 'rawbody_max_2',
-  q{ META_FULL_RULE_MAX_2 }, 'full_max_2',
+  q{ META_BODY_RULE_2 }, '',
+  q{ META_BODY_RULE_MAX_2 }, '',
+  q{ META_FULL_RULE_2 }, '',
+  q{ META_FULL_RULE_MAX_2 }, '',
+  q{ META_HEADER_RULE_2 }, '',
+  q{ META_HEADER_RULE_MAX_2 }, '',
+  q{ META_RAWBODY_RULE_MAX_2 }, '',
+  q{ META_URI_RULE_MAX_2 }, '',
 );
 
 tstlocalrules ('
@@ -41,21 +41,17 @@ tstlocalrules ('
   header HEADER_RULE_2	Subject =~ /--/
   meta META_HEADER_RULE_2 HEADER_RULE_2 > 1
 
-  uri URI_RULE		/WWW.SUPERSITESCENTRAL.COM/i
-  tflags URI_RULE	multiple
-  meta META_URI_RULE URI_RULE == 3
-
   body BODY_RULE	/WWW.SUPERSITESCENTRAL.COM/i
   tflags BODY_RULE	multiple
   meta META_BODY_RULE BODY_RULE == 3
 
+  body BODY_RULE_2	/WWW.SUPERSITESCENTRAL.COM/i
+  meta META_BODY_RULE_2 BODY_RULE_2 > 2
+
   rawbody RAWBODY_RULE	/WWW.SUPERSITESCENTRAL.COM/i
   tflags RAWBODY_RULE	multiple
   meta META_RAWBODY_RULE RAWBODY_RULE == 3
 
-  body BODY_RULE_2	/WWW.SUPERSITESCENTRAL.COM/i
-  meta META_BODY_RULE_2 BODY_RULE_2 > 2
-
   full FULL_RULE	/WWW.SUPERSITESCENTRAL.COM/i
   tflags FULL_RULE	multiple
   meta META_FULL_RULE FULL_RULE == 3
@@ -71,14 +67,6 @@ tstlocalrules ('
   tflags HEADER_RULE_MAX_2 multiple maxhits=1
   meta META_HEADER_RULE_MAX_2 HEADER_RULE_MAX_2 > 1
 
-  uri URI_RULE_MAX	/WWW.SUPERSITESCENTRAL.COM/i
-  tflags URI_RULE_MAX	multiple maxhits=2
-  meta META_URI_RULE_MAX URI_RULE_MAX > 1
-
-  uri URI_RULE_MAX_2	/WWW.SUPERSITESCENTRAL.COM/i
-  tflags URI_RULE_MAX_2	multiple maxhits=1
-  meta META_URI_RULE_MAX_2 URI_RULE_MAX_2 > 1
-
   body BODY_RULE_MAX	/WWW.SUPERSITESCENTRAL.COM/i
   tflags BODY_RULE_MAX	multiple maxhits=3
   meta META_BODY_RULE_MAX BODY_RULE_MAX == 3
@@ -103,16 +91,29 @@ tstlocalrules ('
   tflags FULL_RULE_MAX_2	multiple maxhits=2
   meta META_FULL_RULE_MAX_2 FULL_RULE_MAX_2 > 2
 
+  # Note that this is supposed to hit 2 times -> 2 unique urls
+  uri URI_RULE		/WWW.SUPERSITESCENTRAL.COM/i
+  tflags URI_RULE	multiple
+  meta META_URI_RULE URI_RULE == 2
+
+  uri URI_RULE_MAX	/WWW.SUPERSITESCENTRAL.COM/i
+  tflags URI_RULE_MAX	multiple maxhits=1
+  meta META_URI_RULE_MAX URI_RULE_MAX == 1
+
+  uri URI_RULE_MAX_2	/WWW.SUPERSITESCENTRAL.COM/i
+  tflags URI_RULE_MAX_2	multiple maxhits=1
+  meta META_URI_RULE_MAX_2 URI_RULE_MAX_2 > 1
+
   meta META_RULE	META_BODY_RULE + META_RAWBODY_RULE
   meta META_META_RULE	META_RULE == 2
 
-  meta META_RULE_6	META_BODY_RULE + META_RAWBODY_RULE == 6
+  meta META_RULE_6	BODY_RULE + RAWBODY_RULE == 6
 
   loadplugin myTestPlugin ../../../data/testplugin.pm
   header EVAL_RULE	eval:check_return_2()
   meta META_EVAL_RULE	EVAL_RULE > 1
 ');
 
-sarun ("-L -t < data/spam/002", \&patterns_run_cb);
+sarun ("-L -t < data/spam/002 2>&1", \&patterns_run_cb);
 ok_all_patterns();
 

Modified: spamassassin/trunk/t/sa_compile.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/sa_compile.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/sa_compile.t (original)
+++ spamassassin/trunk/t/sa_compile.t Sat May 28 10:38:25 2022
@@ -64,10 +64,10 @@ meta META2 FOO5 && FOO6 && FOO7 && FOO8
 untaint_system("rm -rf $instdir/var/spamassassin/compiled");
 
 %patterns = (
-  '/ check: tests=FOO1,FOO2,FOO3,FOO4,META1\n/', '',
+  qr/ check: tests=FOO1,FOO2,FOO3,FOO4,META1\n/, '',
 );
 %anti_patterns = (
-  '/ zoom: able to use /', '',
+  'zoom: able to use', '',
 );
 ok sarun ("-D check,zoom -L -t --cf 'normalize_charset 1' < $cwd/data/spam/001 2>&1", \&patterns_run_cb);
 ok_all_patterns();
@@ -75,10 +75,10 @@ ok sarun ("-D check,zoom -L -t --cf 'nor
 ok_all_patterns();
 
 %patterns = (
-  '/ check: tests=FOO4,FOO5,FOO6,FOO7,FOO8,META2\n/', '',
+  qr/ check: tests=FOO4,FOO5,FOO6,FOO7,FOO8,META2\n/, '',
 );
 %anti_patterns = (
-  '/ zoom: able to use /', '',
+  'zoom: able to use', '',
 );
 ok sarun ("-D check,zoom -L -t --cf 'normalize_charset 1' < $cwd/data/spam/unicode1 2>&1", \&patterns_run_cb);
 ok_all_patterns();
@@ -93,8 +93,8 @@ $scr = "$instdir/$temp_binpath/spamassas
 $scr_localrules_args = $scr_cf_args = "";      # use the default rules dir, from our "install"
 
 %patterns = (
-  q{ zoom: able to use 5/5 'body_0' compiled rules }, '',
-  '/ check: tests=FOO1,FOO2,FOO3,FOO4,META1\n/', '',
+  ' zoom: able to use 5/5 \'body_0\' compiled rules ', '',
+  qr/ check: tests=FOO1,FOO2,FOO3,FOO4,META1\n/, '',
 );
 %anti_patterns = ();
 ok sarun ("-D check,zoom -L -t --cf 'normalize_charset 1' < $cwd/data/spam/001 2>&1", \&patterns_run_cb);
@@ -103,8 +103,8 @@ ok sarun ("-D check,zoom -L -t --cf 'nor
 ok_all_patterns();
 
 %patterns = (
-  q{ zoom: able to use 5/5 'body_0' compiled rules }, '',
-  '/ check: tests=FOO4,FOO5,FOO6,FOO7,FOO8,META2\n/', '',
+  ' zoom: able to use 5/5 \'body_0\' compiled rules ', '',
+  qr/ check: tests=FOO4,FOO5,FOO6,FOO7,FOO8,META2\n/, '',
 );
 %anti_patterns = ();
 ok sarun ("-D check,zoom -L -t --cf 'normalize_charset 1' < $cwd/data/spam/unicode1 2>&1", \&patterns_run_cb);

Modified: spamassassin/trunk/t/shortcircuit.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/shortcircuit.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/shortcircuit.t (original)
+++ spamassassin/trunk/t/shortcircuit.t Sat May 28 10:38:25 2022
@@ -43,28 +43,28 @@ tstlocalrules ('
 ');
 
 %patterns = (
-  q{ SC_PRI_SPAM_001 }, 'hit',
-  q{ shortcircuit=spam }, 'sc',
-  q{ X-Spam-Status: Yes, score=103.0 required=5.0 }, 'shortcircuit_spam_score',
-  q{ 100 SHORTCIRCUIT Not all rules were run }, 'shortcircuit rule desc',
+  ' 1.0 SC_PRI_SPAM_001 ', 'hit',
+  'shortcircuit=spam', 'sc',
+  qr/X-Spam-Status: Yes, score=103.0 required=5.0 /m, 'shortcircuit_spam_score',
+  ' 100 SHORTCIRCUIT Not all rules were run', 'shortcircuit rule desc',
 );
 ok (sarun ("-L -t < data/spam/001", \&patterns_run_cb));
 ok_all_patterns();
 
 %patterns = (
-  q{ SC_002 }, 'hit',
-  q{ shortcircuit=spam }, 'sc',
-  q{ X-Spam-Status: Yes, score=50.0 required=5.0 }, 'SC_002 score',
-  q{ 0.0 SHORTCIRCUIT Not all rules were run }, 'shortcircuit rule desc',
+  ' 50 SC_002 ', 'hit',
+  'shortcircuit=spam', 'sc',
+  qr/^X-Spam-Status: Yes, score=50.0 required=5.0 /m, 'SC_002 score',
+  ' 0.0 SHORTCIRCUIT Not all rules were run', 'shortcircuit rule desc',
 );
 ok (sarun ("-L -t < data/spam/002", \&patterns_run_cb));
 ok_all_patterns();
 
 %patterns = (
-  q{ SC_HAM_001 }, 'SC_HAM_001',
-  q{ shortcircuit=ham }, 'sc_ham',
-  q{ X-Spam-Status: No, score=-101.0 required=5.0 }, 'SC_HAM_001 score',
-  q{ -100 SHORTCIRCUIT Not all rules were run }, 'shortcircuit rule desc',
+  ' -1.0 SC_HAM_001 ', 'SC_HAM_001',
+  'shortcircuit=ham', 'sc_ham',
+  qr/^X-Spam-Status: No, score=-101.0 required=5.0 /m, 'SC_HAM_001 score',
+  ' -100 SHORTCIRCUIT Not all rules were run', 'shortcircuit rule desc',
 );
 ok (sarun ("-L -t < data/nice/001", \&patterns_run_cb));
 ok_all_patterns();

Modified: spamassassin/trunk/t/shortcircuit_before_dns.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/shortcircuit_before_dns.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/shortcircuit_before_dns.t (original)
+++ spamassassin/trunk/t/shortcircuit_before_dns.t Sat May 28 10:38:25 2022
@@ -15,8 +15,8 @@ plan tests => 5;
 );
 
 %anti_patterns = (
- q{ dns: bgsend } => '',
- q{ 1.0 DNSBL_TEST_TOP } => '',
+ q{ DNSBL_TEST_TOP } => '',
+ 'dns: bgsend' => '',
 );
 
 
@@ -46,7 +46,7 @@ my $conf = "
 tstprefs($conf);
 
 # we need -D output for patterns
-sarun ("-D dns -t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb);
+sarun ("-D dns,async -t < data/spam/dnsbl.eml 2>&1", \&patterns_run_cb);
 ok_all_patterns();
 clear_pattern_counters();
 
@@ -59,7 +59,7 @@ $conf =~ s/SC_TEST_NO_DNS -101/SC_TEST_N
 
 %patterns = (
  q{ 1.0 SC_TEST_NO_DNS } => '',
- q{ dns: bgsend } => '',
+ 'dns: bgsend' => '',
 );
 %anti_patterns = ();
 

Modified: spamassassin/trunk/t/spamc.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamc.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamc.t (original)
+++ spamassassin/trunk/t/spamc.t Sat May 28 10:38:25 2022
@@ -10,7 +10,7 @@ plan tests => 2;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ hello world }, 'spamc', 
+  'hello world', 'spamc', 
 );
 
 # connect on port 9 (discard): should always fail

Modified: spamassassin/trunk/t/spamc_headers.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamc_headers.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamc_headers.t (original)
+++ spamassassin/trunk/t/spamc_headers.t Sat May 28 10:38:25 2022
@@ -10,10 +10,10 @@ plan tests => 5;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ Message-Id: <78...@yahoo.com> } => 'msgid',
-  q{ X-Spam-Status: Yes, } => 'xss',
-  q{ TEST_NOREALNAME}, 'noreal',
-  q{ subscription cancelable at anytime } => 'body',
+  qr/^Message-Id: <78w08\.t365th3y6x7h\@yahoo\.com>/m => 'msgid',
+  qr/^X-Spam-Status: Yes/m => 'xss',
+  'TEST_NOREALNAME', 'noreal',
+  'subscription cancelable at anytime' => 'body',
 );
 
 %anti_patterns = (

Modified: spamassassin/trunk/t/spamc_x_E_R.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamc_x_E_R.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamc_x_E_R.t (original)
+++ spamassassin/trunk/t/spamc_x_E_R.t Sat May 28 10:38:25 2022
@@ -47,10 +47,10 @@ stop_spamd(); # just to be sure
 # max-size of 512 bytes; EX_TOOBIG, pass through message despite -x
 
 %patterns = (
-  q{ Subject: There yours for FREE!}, 'subj',
+  'Subject: There yours for FREE!', 'subj',
 );
 %anti_patterns = (
-  q{ X-Spam-Flag: }, 'flag',
+  'X-Spam-Flag:', 'flag',
 );
 
 # this should have exit code == 0, and pass through the full
@@ -66,11 +66,11 @@ ok(scrun("-s 512 -x -E < data/spam/001",
 ok ok_all_patterns();
 
 %patterns = (
-  q{ 0/0 }, '0/0',
+  '0/0', '0/0',
 );
 %anti_patterns = (
-  q{ Subject: There yours for FREE!}, 'subj',
-  q{ X-Spam-Flag: }, 'flag',
+  'Subject: There yours for FREE!', 'subj',
+  'X-Spam-Flag:', 'flag',
 );
 
 # this should have exit code == 0, and emit "0/0"
@@ -94,8 +94,8 @@ ok(scrun("--connect-retries 1 -R < data/
 # we do not want to see the output with -x on error
 %patterns = ();
 %anti_patterns = (
-  q{ Subject: There yours for FREE!}, 'subj',
-  q{ X-Spam-Flag: YES}, 'flag',
+  'Subject: There yours for FREE!', 'subj',
+  'X-Spam-Flag: YES', 'flag',
 );
 
 # this should have exit code != 0

Modified: spamassassin/trunk/t/spamc_y.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamc_y.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamc_y.t (original)
+++ spamassassin/trunk/t/spamc_y.t Sat May 28 10:38:25 2022
@@ -14,7 +14,7 @@ plan tests => 2;
 
 %anti_patterns = (
   # the text should NOT be output, bug 4991
-  q{ hello world }, 'spamc_y',
+  'hello world', 'spamc_y',
 );
 
 # connect on port 8 (unassigned): should always fail

Modified: spamassassin/trunk/t/spamd_allow_user_rules.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamd_allow_user_rules.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamd_allow_user_rules.t (original)
+++ spamassassin/trunk/t/spamd_allow_user_rules.t Sat May 28 10:38:25 2022
@@ -14,7 +14,7 @@ plan tests => 5;
 );
 
 %anti_patterns = (
-  q{  redefined at }, 'redefined_errors_in_spamd_log',
+  'redefined at', 'redefined_errors_in_spamd_log',
 );
 
 tstprefs ("

Modified: spamassassin/trunk/t/spamd_client.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamd_client.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamd_client.t (original)
+++ spamassassin/trunk/t/spamd_client.t Sat May 28 10:38:25 2022
@@ -31,9 +31,9 @@ my $testmsg = getmessage("data/spam/gtub
 ok($testmsg);
 
 %patterns = (
-  q{ X-Spam-Flag: YES}, 'flag',
+  qr/^X-Spam-Flag: YES/m, 'flag',
   q{ 1000 GTUBE }, 'gtube',
-  q{ XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X }, 'gtube string',
+  'XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X', 'gtube string',
 );
 
 ok(start_spamd("-L"));
@@ -66,11 +66,11 @@ ok_all_patterns();
 
 clear_pattern_counters();
 %patterns = (
-q{ X-Spam-Flag: YES}, 'flag',
+qr/^X-Spam-Flag: YES/m, 'flag',
 );
 
 %anti_patterns = (
-q{ XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X }, 'gtube string',
+  'XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X', 'gtube string',
 );
 
 $result = $client->headers($testmsg);
@@ -90,9 +90,9 @@ if (!$RUNNING_ON_WINDOWS) {
   $spamd_already_killed = undef;
 
   %patterns = (
-    q{ X-Spam-Flag: YES}, 'flag',
+    qr/^X-Spam-Flag: YES/m, 'flag',
     q{ 1000 GTUBE }, 'gtube',
-    q{ XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X }, 'gtube string',
+    'XJS*C4JDBQADN1.NSBN3*2IDNEN*GTUBE-STANDARD-ANTI-UBE-TEST-EMAIL*C.34X', 'gtube string',
       );
 
   %anti_patterns = ();

Modified: spamassassin/trunk/t/spamd_protocol_10.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamd_protocol_10.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamd_protocol_10.t (original)
+++ spamassassin/trunk/t/spamd_protocol_10.t Sat May 28 10:38:25 2022
@@ -13,9 +13,9 @@ use IO::Socket;
 # ---------------------------------------------------------------------------
 
 %patterns = (
-  q{ SPAMD/1.1 0 EX_OK }, 'response-11',
-  q{ Spam: True ; }, 'spamheader',	# we use a regexp later for the rest
-  q{ GTUBE }, 'gtube',
+  qr/^SPAMD\/1.1 0 EX_OK/m, 'response-11',
+  'Spam: True ;', 'spamheader',	# we use a regexp later for the rest
+  'GTUBE', 'gtube',
 );
 
 

Modified: spamassassin/trunk/t/spamd_report_ifspam.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/spamd_report_ifspam.t?rev=1901346&r1=1901345&r2=1901346&view=diff
==============================================================================
--- spamassassin/trunk/t/spamd_report_ifspam.t (original)
+++ spamassassin/trunk/t/spamd_report_ifspam.t Sat May 28 10:38:25 2022
@@ -10,9 +10,9 @@ plan tests => 10;
 # ---------------------------------------------------------------------------
 
 %is_spam_patterns = (
-  q{ TEST_INVALID_DATE}, 'date',
-  q{ TEST_ENDSNUMS}, 'endsinnums',
-  q{ TEST_NOREALNAME}, 'noreal',
+  q{ 5.0 TEST_INVALID_DATE }, 'date',
+  q{ 5.0 TEST_ENDSNUMS }, 'endsinnums',
+  q{ 5.0 TEST_NOREALNAME }, 'noreal',
 );
 
 %patterns = %is_spam_patterns;