You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@spamassassin.apache.org by mm...@apache.org on 2015/10/16 18:46:21 UTC

svn commit: r1709055 - /spamassassin/trunk/t/header_utf8.t

Author: mmartinec
Date: Fri Oct 16 16:46:20 2015
New Revision: 1709055

URL: http://svn.apache.org/viewvc?rev=1709055&view=rev
Log:
t/header_utf8.t: let it run also under perl 5.8 or without Net::LibIDN

Modified:
    spamassassin/trunk/t/header_utf8.t

Modified: spamassassin/trunk/t/header_utf8.t
URL: http://svn.apache.org/viewvc/spamassassin/trunk/t/header_utf8.t?rev=1709055&r1=1709054&r2=1709055&view=diff
==============================================================================
--- spamassassin/trunk/t/header_utf8.t (original)
+++ spamassassin/trunk/t/header_utf8.t Fri Oct 16 16:46:20 2015
@@ -3,7 +3,12 @@
 use lib '.'; use lib 't';
 use SATest; sa_t_init("header_utf8.t");
 
-use constant TEST_ENABLED => ($] >= 5.010);
+use constant TEST_ENABLED => ($] >= 5.008);
+
+our $have_libidn;
+BEGIN {
+  eval { require Net::LibIDN } and do { $have_libidn = 1 };
+}
 
 use Test; BEGIN { plan tests => (TEST_ENABLED ? 154 : 0) };
 
@@ -60,29 +65,29 @@ my $myrules = <<'END';
   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>$/
+  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é ♥$/
+  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>$/
+  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/
+  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/
+  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$/
+  header LT_SUBJ      Subject =~ /^Domače omrežje$/m
   score  LT_SUBJ      0.01
-  header LT_SUBJ_RAW  Subject:raw  =~ /=\?utf-8\*sl\?Q\?_omre=C5\?=/
+  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_MSGID     Message-ID =~ /^<b497e6c2\@example\.срб>$/
+  header LT_MSGID     Message-ID =~ /^<b497e6c2\@example\.срб>$/m
   score  LT_MSGID     0.01
-  header LT_MESSAGEID MESSAGEID  =~ /^<b497e6c2\@example\.срб>$/
+  header LT_MESSAGEID MESSAGEID  =~ /^<b497e6c2\@example\.срб>$/m
   score  LT_MESSAGEID 0.01
   header LT_CT        Content-Type =~ /документы для отдела кадров\.pdf/
   score  LT_CT        0.01
@@ -100,6 +105,13 @@ my $myrules = <<'END';
   lang zh describe LT_ANY_CHARS  字符被包含在消息报头部分
 END
 
+if (!$have_libidn) {
+  # temporary fudge to prevent a test failing
+  # until the Net::LibIDN becomes a mandatory module
+  $myrules =~ s{^(\s*header LT_AUTH_DOM\s+X-AuthorDomain =~)\s*(/.*/)$}
+               {$1 /esempio-università\.it/}m
+}
+
 $ENV{PERL_BADLANG} = 0;  # suppresses Perl warning about failed locale setting
 # see Mail::SpamAssassin::Conf::Parser::parse(), also Bug 6992
 $ENV{LANGUAGE} = $ENV{LANG} = 'fr_CH.UTF-8';
@@ -110,6 +122,7 @@ tstlocalrules ($myrules . '
   report_safe 0
   normalize_charset 1
 ');
+
 %patterns = (%mypatterns, %mypatterns_mime_qp);
 sarun ("-L < data/nice/unicode1", \&patterns_run_cb);
 ok_all_patterns();