Update Filter-Util-Call to CPAN version 1.57
authorChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 16 Jun 2017 12:07:11 +0000 (13:07 +0100)
committerChris 'BinGOs' Williams <chris@bingosnet.co.uk>
Fri, 16 Jun 2017 12:08:45 +0000 (13:08 +0100)
  [DELTA]

1.57 2017-01-22 rurban
----
  * Todo the t/exec.t test 2 on cygwin.
  * Fixed/Todo the t/decrypt.t test 7 utf8 failures.
    Skip with non UTF-8 locale.

1.56 2017-01-20 rurban
----

  * add binmode to the decrypt/encr,decrypt sample scripts
  * add utf8-encoded testcase to t/decrypt.t [cpan #110921]. use -C
  * stabilized some tests, add diag to sometimes failing sh tests
  * moved filter-util.pl to t/
  * fixed INSTALLDIRS back to site since 5.12 [gh #2]
  * fixed exec/sh test races using the same temp. filenames
  * reversed this Changes file to latest first
  * added Travis CI

Porting/Maintainers.pl
cpan/Filter-Util-Call/Call.pm
cpan/Filter-Util-Call/Call.xs
cpan/Filter-Util-Call/filter-util.pl
cpan/Filter-Util-Call/t/call.t
cpan/Filter-Util-Call/t/rt_101033.t
cpan/Filter-Util-Call/t/rt_54452-rebless.t
pod/perlfilter.pod

index d9445c7..0d0d037 100755 (executable)
@@ -523,7 +523,7 @@ use File::Glob qw(:case);
     },
 
     'Filter::Util::Call' => {
-        'DISTRIBUTION' => 'RURBAN/Filter-1.55.tar.gz',
+        'DISTRIBUTION' => 'RURBAN/Filter-1.57.tar.gz',
         'FILES'        => q[cpan/Filter-Util-Call
                  pod/perlfilter.pod
                 ],
index 8b4d41a..f5c1e7b 100644 (file)
@@ -2,6 +2,7 @@
 #
 # Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
 # Copyright (c) 2011-2014 Reini Urban. All rights reserved.
+# Copyright (c) 2014-2017 cPanel Inc. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or
 # modify it under the same terms as Perl itself.
@@ -14,11 +15,13 @@ require Exporter;
 use Carp ;
 use strict;
 use warnings;
-use vars qw($VERSION @ISA @EXPORT) ;
+use vars qw($VERSION $XS_VERSION @ISA @EXPORT) ;
 
 @ISA = qw(Exporter DynaLoader);
 @EXPORT = qw( filter_add filter_del filter_read filter_read_exact) ;
-$VERSION = "1.55" ;
+$VERSION = "1.57" ;
+$XS_VERSION = $VERSION;
+$VERSION = eval $VERSION;
 
 sub filter_read_exact($)
 {
@@ -525,6 +528,7 @@ Paul Marquess
 
 Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
 Copyright (c) 2011-2014 Reini Urban. All rights reserved.
+Copyright (c) 2014-2017 cPanel Inc. All rights reserved.
 
 This program is free software; you can redistribute it and/or
 modify it under the same terms as Perl itself.
index 97280d7..487c20b 100644 (file)
@@ -3,7 +3,7 @@
  * 
  * Author   : Paul Marquess 
  * Date     : 2014-12-09 02:48:44 rurban
- * Version  : 1.55
+ * Version  : 1.57
  *
  *    Copyright (c) 1995-2011 Paul Marquess. All rights reserved.
  *    Copyright (c) 2011-2014 Reini Urban. All rights reserved.
index 44e8b1e..a8755e4 100644 (file)
@@ -30,7 +30,7 @@ sub writeFile
 
 sub ok
 {
-    my($number, $result, $note) = @_ ;
+    my ($number, $result, $note) = @_ ;
  
     $note = "" if ! defined $note ;
     if ($note) {
@@ -40,11 +40,17 @@ sub ok
 
     print "not " if !$result ;
     print "ok ${number}${note}\n";
+    return $result;
+}
+
+sub diag {
+    print STDERR 
+      (map { /^#/ ? "$_\n" : "# $_\n" }
+       map { split /\n/ } @_);
 }
 
 $Inc = '' ;
-foreach (@INC)
- { $Inc .= "\"-I$_\" " }
+foreach (@INC) { $Inc .= "\"-I$_\" " }
 $Inc = "-I::lib" if $^O eq 'MacOS';
 
 $Perl = '' ;
index b1e32c4..7da20be 100644 (file)
@@ -1,12 +1,12 @@
+use Config;
 BEGIN {
-    if ($ENV{PERL_CORE}){
-        require Config; import Config;
-        %Config=%Config if 0; # cease -w
+    if ($ENV{PERL_CORE}) {
         if ($Config{'extensions'} !~ m{\bFilter/Util/Call\b}) {
             print "1..0 # Skip: Filter::Util::Call was not built\n";
             exit 0;
         }
     }
+    unshift @INC, 't';
     require 'filter-util.pl';
 }
 
@@ -23,9 +23,9 @@ use Cwd ;
 my $here = getcwd ;
 
 
-my $filename = "call.tst" ;
-my $filename2 = "call2.tst" ;
-my $filenamebin = "call.bin" ;
+my $filename = "call$$.tst" ;
+my $filename2 = "call2$$.tst" ;
+my $filenamebin = "call$$.bin" ;
 my $module   = "MyTest" ;
 my $module2  = "MyTest2" ;
 my $module3  = "MyTest3" ;
@@ -68,14 +68,27 @@ sub import { filter_add() }
  
 1 ;
 EOM
+
 $a = `$Perl "-I." $Inc -e "use ${module} ;"  $redir` ;
-ok(3, (($? >>8) != 0 or (($^O eq 'MSWin32' || $^O eq 'MacOS' || $^O eq 'NetWare' || $^O eq 'mpeix') && $? != 0))) ;
+#warn "# $a\n";
+ok(3, (($? >>8) != 0 
+       or (($^O eq 'MSWin32' || $^O eq 'MacOS' || $^O eq 'NetWare' || $^O eq 'mpeix')
+           && $? != 0))) ;
 #ok(4, $a =~ /^usage: filter_add\(ref\) at ${module}.pm/) ;
-ok(4, $a =~ /^Not enough arguments for Filter::Util::Call::filter_add/m) ;
-
-
+my $errmsg = $Config{usecperl}
+  ? qr/^Not enough arguments for subroutine entry Filter::Util::Call::filter_add at ${module}\.pm line/m
+  : qr/^Not enough arguments for Filter::Util::Call::filter_add at ${module}\.pm line/m;
+$a =~ s/^(.*?\n).*$/$1/s; # only the first line
+if ($] < 5.007) {
+    if ($a =~ $errmsg) {
+        ok(4, 1);
+    } else {
+        ok(4, 1, "TODO");
+    }
+} else {
+    ok(4, $a =~ $errmsg, 'usage error')
+       or diag("The error was: ", $a);
+}
 
 # non-error cases
 #################
@@ -92,9 +105,9 @@ use Filter::Util::Call ;
 sub import { 
     filter_add(
        sub {
+
            my ($status) ;
+
            if (($status = filter_read()) > 0) {
                s/ABC/DEF/g 
            }
@@ -214,20 +227,20 @@ sub import { filter_add(
     sub 
     {
         my ($status) ;
-     
+
         if (($status = filter_read()) > 0) {
             s/Fred/Joe/g
         }
         $status ;
     } ) ;
 }
+
 1 ;
 EOM
+
 writeFile("${module4}.pm", <<EOM) ;
 package ${module4} ;
+
 use $module5 ;
 
 print "I'm feeling used!\n" ;
index 4df3614..2c4a323 100644 (file)
@@ -4,7 +4,7 @@ use rt_101033;
 
 print "1..1\n";
 my $s = <DATA>;
-print "not " if $s !~ /^test/;
+print "not " if !$s or $s !~ /^test/;
 print "ok 1 # TODO RT #101033 + Switch #97440 ignores __DATA__\n";
 
 __DATA__
index b6f7aa0..c212b2d 100644 (file)
@@ -8,8 +8,9 @@ if ($] < 5.004_55) {
 
 use strict;
 use warnings;
+BEGIN { unshift @INC, 't'; }
 
-require "./filter-util.pl" ;
+require "filter-util.pl" ;
 
 use vars qw( $Inc $Perl) ;
 
index f81ee8a..60d0864 100644 (file)
@@ -562,9 +562,11 @@ or the byteloader, to translate binary code back to source code.
 See for example the limitations in L<Switch>, which uses source filters,
 and thus is does not work inside a string eval, the presence of
 regexes with embedded newlines that are specified with raw C</.../>
-delimiters and don't have a modifier C</x> are indistinguishable from
+delimiters and don't have a modifier C<//x> are indistinguishable from
 code chunks beginning with the division operator C</>. As a workaround
-you must use C<m/.../> or C<m?...?> for such patterns.  See
+you must use C<m/.../> or C<m?...?> for such patterns. Also, the presence of
+regexes specified with raw C<?...?> delimiters may cause mysterious
+errors. The workaround is to use C<m?...?> instead.  See
 L<http://search.cpan.org/perldoc?Switch#LIMITATIONS>
 
 Currently the content of the C<__DATA__> block is not filtered.