Hello community,

here is the log from the commit of package perl-Test-Trap for openSUSE:Factory 
checked in at 2017-09-04 12:37:06
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Trap (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Test-Trap.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Test-Trap"

Mon Sep  4 12:37:06 2017 rev:8 rq:520449 version:0.3.3

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Trap/perl-Test-Trap.changes    
2015-04-15 16:27:18.000000000 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-Trap.new/perl-Test-Trap.changes       
2017-09-04 12:37:07.788697070 +0200
@@ -1,0 +2,17 @@
+Thu Aug 24 06:28:24 UTC 2017 - [email protected]
+
+- updated to 0.3.3
+   see /usr/share/doc/packages/perl-Test-Trap/Changes
+
+  0.3.3   Tue Aug 22 02:06:09 CEST 2017
+       For this release, many thanks go to Slaven Rezic, who found
+          that Test::More::is() (or Test2::Formatter::TAP::write())
+          clobbers $^E on Windows.
+          - RT #105125 is addressed:  The tests now use a copy of $^E
+            taken before Test::More gets a chance to touch it.
+       - Further, the Test::Trap test methods might also clobber $^E
+            (via Test::More or other modules), so they now localize $^E
+            before invoking the callback.
+          - Regression tests have been added for this.
+
+-------------------------------------------------------------------

Old:
----
  Test-Trap-v0.3.2.tar.gz

New:
----
  Test-Trap-v0.3.3.tar.gz
  cpanspec.yml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ perl-Test-Trap.spec ++++++
--- /var/tmp/diff_new_pack.5Hz3uj/_old  2017-09-04 12:37:08.352617732 +0200
+++ /var/tmp/diff_new_pack.5Hz3uj/_new  2017-09-04 12:37:08.356617169 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Test-Trap
 #
-# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
+# Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -17,14 +17,15 @@
 
 
 Name:           perl-Test-Trap
-Version:        0.3.2
+Version:        0.3.3
 Release:        0
 %define cpan_name Test-Trap
 Summary:        Trap exit codes, exceptions, output, etc
 License:        Artistic-1.0 or GPL-1.0+
 Group:          Development/Libraries/Perl
 Url:            http://search.cpan.org/dist/Test-Trap/
-Source:         
http://www.cpan.org/authors/id/E/EB/EBHANSSEN/%{cpan_name}-v%{version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/E/EB/EBHANSSEN/%{cpan_name}-v%{version}.tar.gz
+Source1:        cpanspec.yml
 BuildArch:      noarch
 BuildRoot:      %{_tmppath}/%{name}-%{version}-build
 BuildRequires:  perl

++++++ Test-Trap-v0.3.2.tar.gz -> Test-Trap-v0.3.3.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/Changes new/Test-Trap-v0.3.3/Changes
--- old/Test-Trap-v0.3.2/Changes        2015-02-24 00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/Changes        2017-08-23 21:57:50.000000000 +0200
@@ -1,5 +1,16 @@
 Revision history for Test-Trap
 
+0.3.3   Tue Aug 22 02:06:09 CEST 2017
+       For this release, many thanks go to Slaven Rezic, who found
+        that Test::More::is() (or Test2::Formatter::TAP::write())
+        clobbers $^E on Windows.
+        - RT #105125 is addressed:  The tests now use a copy of $^E
+          taken before Test::More gets a chance to touch it.
+       - Further, the Test::Trap test methods might also clobber $^E
+          (via Test::More or other modules), so they now localize $^E
+          before invoking the callback.
+        - Regression tests have been added for this.
+
 0.3.2  Tue Feb 24 00:19:23 CET 2015
         The tempfile-preserve strategy was (always) broken on
         non-perlio perls.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/META.json 
new/Test-Trap-v0.3.3/META.json
--- old/Test-Trap-v0.3.2/META.json      2015-02-24 00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/META.json      2017-08-23 21:57:50.000000000 +0200
@@ -4,7 +4,7 @@
       "Eirik Berg Hanssen <[email protected]>"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "Module::Build version 0.421",
+   "generated_by" : "Module::Build version 0.4224",
    "license" : [
       "perl_5"
    ],
@@ -42,23 +42,23 @@
    "provides" : {
       "Test::Trap" : {
          "file" : "lib/Test/Trap.pm",
-         "version" : "v0.3.2"
+         "version" : "v0.3.3"
       },
       "Test::Trap::Builder" : {
          "file" : "lib/Test/Trap/Builder.pm",
-         "version" : "v0.3.2"
+         "version" : "v0.3.3"
       },
       "Test::Trap::Builder::PerlIO" : {
          "file" : "lib/Test/Trap/Builder/PerlIO.pm",
-         "version" : "v0.3.2"
+         "version" : "v0.3.3"
       },
       "Test::Trap::Builder::SystemSafe" : {
          "file" : "lib/Test/Trap/Builder/SystemSafe.pm",
-         "version" : "v0.3.2"
+         "version" : "v0.3.3"
       },
       "Test::Trap::Builder::TempFile" : {
          "file" : "lib/Test/Trap/Builder/TempFile.pm",
-         "version" : "v0.3.2"
+         "version" : "v0.3.3"
       }
    },
    "release_status" : "stable",
@@ -67,5 +67,6 @@
          "http://dev.perl.org/licenses/";
       ]
    },
-   "version" : "v0.3.2"
+   "version" : "v0.3.3",
+   "x_serialization_backend" : "JSON::PP version 2.27400_02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/META.yml 
new/Test-Trap-v0.3.3/META.yml
--- old/Test-Trap-v0.3.2/META.yml       2015-02-24 00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/META.yml       2017-08-23 21:57:50.000000000 +0200
@@ -6,7 +6,7 @@
 configure_requires:
   Module::Build: '0'
 dynamic_config: 1
-generated_by: 'Module::Build version 0.421, CPAN::Meta::Converter version 
2.142060'
+generated_by: 'Module::Build version 0.4224, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -15,19 +15,19 @@
 provides:
   Test::Trap:
     file: lib/Test/Trap.pm
-    version: v0.3.2
+    version: v0.3.3
   Test::Trap::Builder:
     file: lib/Test/Trap/Builder.pm
-    version: v0.3.2
+    version: v0.3.3
   Test::Trap::Builder::PerlIO:
     file: lib/Test/Trap/Builder/PerlIO.pm
-    version: v0.3.2
+    version: v0.3.3
   Test::Trap::Builder::SystemSafe:
     file: lib/Test/Trap/Builder/SystemSafe.pm
-    version: v0.3.2
+    version: v0.3.3
   Test::Trap::Builder::TempFile:
     file: lib/Test/Trap/Builder/TempFile.pm
-    version: v0.3.2
+    version: v0.3.3
 requires:
   Carp: '0'
   Data::Dump: '0'
@@ -46,4 +46,5 @@
   warnings: '0'
 resources:
   license: http://dev.perl.org/licenses/
-version: v0.3.2
+version: v0.3.3
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/Makefile.PL 
new/Test-Trap-v0.3.3/Makefile.PL
--- old/Test-Trap-v0.3.2/Makefile.PL    2015-02-24 00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/Makefile.PL    2017-08-23 21:57:50.000000000 +0200
@@ -1,31 +1,31 @@
-# Note: this file was auto-generated by Module::Build::Compat version 0.4210
+# Note: this file was auto-generated by Module::Build::Compat version 0.4224
 require 5.006002;
 use ExtUtils::MakeMaker;
 WriteMakefile
 (
+  'VERSION_FROM' => 'lib/Test/Trap.pm',
+  'INSTALLDIRS' => 'site',
+  'EXE_FILES' => [],
   'PREREQ_PM' => {
-                   'constant' => 0,
                    'version' => 0,
-                   'IO::Handle' => 0,
-                   'Data::Dump' => 0,
-                   'Test::Builder' => 0,
-                   'Exporter' => 0,
-                   'Test::Tester' => '0.107',
                    'File::Temp' => 0,
-                   'Carp' => 0,
-                   'Test::More' => 0,
+                   'Test::Tester' => '0.107',
+                   'warnings' => 0,
+                   'Exporter' => 0,
+                   'lib' => 0,
+                   'Test::Builder' => 0,
                    'base' => 0,
+                   'Test::More' => 0,
+                   'constant' => 0,
+                   'Carp' => 0,
                    'strict' => 0,
-                   'warnings' => 0,
-                   'lib' => 0
+                   'IO::Handle' => 0,
+                   'Data::Dump' => 0
                  },
-  'VERSION_FROM' => 'lib/Test/Trap.pm',
-  'EXE_FILES' => [],
-  'INSTALLDIRS' => 'site',
-  'NAME' => 'Test::Trap',
   'PL_FILES' => {
-                  't/11-systemsafe-basic.PL' => 't/11-systemsafe-basic.t',
-                  't/08-fork.PL' => 't/08-fork.t'
-                }
+                  't/08-fork.PL' => 't/08-fork.t',
+                  't/11-systemsafe-basic.PL' => 't/11-systemsafe-basic.t'
+                },
+  'NAME' => 'Test::Trap'
 )
 ;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/lib/Test/Trap/Builder/PerlIO.pm 
new/Test-Trap-v0.3.3/lib/Test/Trap/Builder/PerlIO.pm
--- old/Test-Trap-v0.3.2/lib/Test/Trap/Builder/PerlIO.pm        2015-02-24 
00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/lib/Test/Trap/Builder/PerlIO.pm        2017-08-23 
21:57:50.000000000 +0200
@@ -1,6 +1,6 @@
 package Test::Trap::Builder::PerlIO;
 
-use version; $VERSION = qv('0.3.2');
+use version; $VERSION = qv('0.3.3');
 
 use strict;
 use warnings;
@@ -30,7 +30,7 @@
 
 =head1 VERSION
 
-Version 0.3.2
+Version 0.3.3
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/lib/Test/Trap/Builder/SystemSafe.pm 
new/Test-Trap-v0.3.3/lib/Test/Trap/Builder/SystemSafe.pm
--- old/Test-Trap-v0.3.2/lib/Test/Trap/Builder/SystemSafe.pm    2015-02-24 
00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/lib/Test/Trap/Builder/SystemSafe.pm    2017-08-23 
21:57:50.000000000 +0200
@@ -1,6 +1,6 @@
 package Test::Trap::Builder::SystemSafe;
 
-use version; $VERSION = qv('0.3.2');
+use version; $VERSION = qv('0.3.3');
 
 use strict;
 use warnings;
@@ -141,7 +141,7 @@
 
 =head1 VERSION
 
-Version 0.3.2
+Version 0.3.3
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/lib/Test/Trap/Builder/TempFile.pm 
new/Test-Trap-v0.3.3/lib/Test/Trap/Builder/TempFile.pm
--- old/Test-Trap-v0.3.2/lib/Test/Trap/Builder/TempFile.pm      2015-02-24 
00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/lib/Test/Trap/Builder/TempFile.pm      2017-08-23 
21:57:50.000000000 +0200
@@ -1,6 +1,6 @@
 package Test::Trap::Builder::TempFile;
 
-use version; $VERSION = qv('0.3.2');
+use version; $VERSION = qv('0.3.3');
 
 use strict;
 use warnings;
@@ -80,7 +80,7 @@
 
 =head1 VERSION
 
-Version 0.3.2
+Version 0.3.3
 
 =head1 DESCRIPTION
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/lib/Test/Trap/Builder.pm 
new/Test-Trap-v0.3.3/lib/Test/Trap/Builder.pm
--- old/Test-Trap-v0.3.2/lib/Test/Trap/Builder.pm       2015-02-24 
00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/lib/Test/Trap/Builder.pm       2017-08-23 
21:57:50.000000000 +0200
@@ -1,6 +1,6 @@
 package Test::Trap::Builder;
 
-use version; $VERSION = qv('0.3.2');
+use version; $VERSION = qv('0.3.3');
 
 use strict;
 use warnings;
@@ -165,6 +165,7 @@
     my $ok;
     local $trap->Prop->{test_accessor} = "$accessor->{name}($index)";
     local $Test::Builder::Level = $Test::Builder::Level+1;
+    local($!, $^E) = ($!, $^E);
     $ok = $test->{code}->(@targs) or $trap->TestFailure;
     $ok;
   };
@@ -380,7 +381,7 @@
 
 =head1 VERSION
 
-Version 0.3.2
+Version 0.3.3
 
 =head1 SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/lib/Test/Trap.pm 
new/Test-Trap-v0.3.3/lib/Test/Trap.pm
--- old/Test-Trap-v0.3.2/lib/Test/Trap.pm       2015-02-24 00:19:39.000000000 
+0100
+++ new/Test-Trap-v0.3.3/lib/Test/Trap.pm       2017-08-23 21:57:50.000000000 
+0200
@@ -1,6 +1,6 @@
 package Test::Trap;
 
-use version; $VERSION = qv('0.3.2');
+use version; $VERSION = qv('0.3.3');
 
 use strict;
 use warnings;
@@ -304,7 +304,7 @@
 
 =head1 VERSION
 
-Version 0.3.2
+Version 0.3.3
 
 =head1 SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/t/03-files.pl 
new/Test-Trap-v0.3.3/t/03-files.pl
--- old/Test-Trap-v0.3.2/t/03-files.pl  2015-02-24 00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/t/03-files.pl  2017-08-23 21:57:50.000000000 +0200
@@ -15,7 +15,7 @@
   local $@;
   eval qq{ use $class };
   if (exists &{"$class\::import"}) {
-    plan tests => 1 + 6*10 + 5*3 + 17; # 10 runtests; 3 inner_tests; another 
bunch ...
+    plan tests => 1 + 6*10 + 5*3 + 11; # 10 runtests; 3 inner_tests; another 
bunch ...
   }
   else {
     plan skip_all => "$strategy strategy not supported; skipping";
@@ -196,13 +196,19 @@
 my $errstring = do { local $! = $errnum; "$!" };
 my $erros = do { local $! = $errnum; $^E };
 my ($errsym) = do { local $! = $errnum; grep { $!{$_} } keys(%!) };
-for my $case ([Bare => sub { return 42 }], [Dying => sub { die 42 }], [Exiting 
=> sub { exit 42 }]) {
+{
   local $! = $errnum;
   trap {};
   my ($sym) = grep { $!{$_} } keys(%!);
-  is $!+0, $errnum, "$strategy trap doesn't change errno (remains 
$errnum/$errstring)";
-  is $^E,  $erros,  "$strategy trap doesn't change extended OS error (remains 
$erros)";
-  is $sym, $errsym, "$strategy trap doesn't change the error symbol (remains 
$errsym)";
+  {
+    # rt.cpan.org #105125: Test::More::is() does not preserve $^E, so ...
+    my $postbang = $!+0;
+    my $postos   = $^E;
+    local($!, $^E);
+    is $postbang,$errnum, "$strategy trap doesn't change errno (remains 
$errnum/$errstring)";
+    is $postos, $erros,  "$strategy trap doesn't change extended OS error 
(remains $erros)";
+    is $sym,    $errsym, "$strategy trap doesn't change the error symbol 
(remains $errsym)";
+  }
 }
 
 {
@@ -212,9 +218,15 @@
     $^E = '';
   };
   my ($sym) = grep { $!{$_} } keys(%!);
-  is $!+0,     0, "Errno-unsetting trap unsets errno (it's not localized)";
-  is $^E,     '', "Errno-unsetting trap unsets extended OS error (it's not 
localized)";
-  is $sym, undef, "Errno-unsetting trap unsets the error symbol (it's not 
localized)";
+  {
+    # rt.cpan.org #105125: Test::More::is() does not preserve $^E, so ...
+    my $postbang = $!+0;
+    my $postos   = $^E;
+    local($!, $^E);
+    is $postbang,0, "Errno-unsetting trap unsets errno (it's not localized)";
+    is $postos, '', "Errno-unsetting trap unsets extended OS error (it's not 
localized)";
+    is $sym, undef, "Errno-unsetting trap unsets the error symbol (it's not 
localized)";
+  }
 }
 
 1;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/t/04-exit.t 
new/Test-Trap-v0.3.3/t/04-exit.t
--- old/Test-Trap-v0.3.2/t/04-exit.t    2015-02-24 00:19:39.000000000 +0100
+++ new/Test-Trap-v0.3.3/t/04-exit.t    2017-08-23 21:57:50.000000000 +0200
@@ -43,9 +43,11 @@
 like( $trap->stderr, qr/^Subroutine (?:CORE::GLOBAL::)?exit redefined at 
\Q${\__FILE__} line/, 'Override warning' );
 
 my ($sym) = grep { $!{$_} } keys(%!);
-is $!+0, $errnum, "These traps don't change errno (remains 
$errnum/$errstring)";
-is $^E, $erros,  "These traps don't change extended OS error (remains $erros)";
-is $sym, $errsym, "These traps don't change the error symbol (remains 
$errsym)";
+# rt.cpan.org #105125: Test::More::is() does not preserve $^E, so ...
+my $postos = $^E;
+is $!+0,    $errnum, "These traps don't change errno (remains 
$errnum/$errstring)";
+is $postos, $erros,  "These traps don't change extended OS error (remains 
$erros)";
+is $sym,    $errsym, "These traps don't change the error symbol (remains 
$errsym)";
 
 $ready_for_exit++;
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Trap-v0.3.2/t/13-regressions.t 
new/Test-Trap-v0.3.3/t/13-regressions.t
--- old/Test-Trap-v0.3.2/t/13-regressions.t     2015-02-24 00:19:39.000000000 
+0100
+++ new/Test-Trap-v0.3.3/t/13-regressions.t     2017-08-23 21:57:50.000000000 
+0200
@@ -2,7 +2,7 @@
 # -*- mode: cperl ; compile-command: "cd .. ; ./Build ; prove -vb t/13-*.t" -*-
 
 BEGIN { $_ = defined && /(.*)/ && $1 for @ENV{qw/ TMPDIR TEMP TMP /} } # taint 
vs tempfile
-use Test::More tests => 7;
+use Test::More tests => 11;
 use strict;
 use warnings;
 
@@ -31,3 +31,15 @@
   }
   is( $destroyed, 1, 'One Foo destroyed' );
 }
+
+local $^E;
+scalar trap { die Data::Dump::dump($^E) if $^E; $^E };
+$trap->return_is(0, '', '$^E is unchanged inside return_is()') or 
$trap->diag_all;
+my $copy = $^E;
+is( $copy, '', '$^E is unchanged after return_is()');
+
+local $^E;
+scalar trap { die Data::Dump::dump($^E) if $^E; $^E };
+$trap->did_return() or $trap->diag_all;
+$copy = $^E;
+is( $copy, '', '$^E is unchanged after did_return()');

++++++ cpanspec.yml ++++++
---
#description_paragraphs: 3
#description: |-
#  override description from CPAN
#summary: override summary from CPAN
#no_testing: broken upstream
#sources:
#  - source1
#  - source2
#patches:
#  foo.patch: -p1
#  bar.patch:
#preamble: |-
# BuildRequires:  gcc-c++
#post_prep: |-
# hunspell=`pkg-config --libs hunspell | sed -e 's,-l,,; s,  *,,g'`
# sed -i -e "s,hunspell-X,$hunspell," t/00-prereq.t Makefile.PL 
#post_build: |-
# rm unused.files
#post_install: |-
# sed on %{name}.files
#license: SUSE-NonFree
#skip_noarch: 1
#custom_build: |-
#./Build build flags=%{?_smp_mflags} --myflag
#custom_test: |-
#startserver && make test
#ignore_requires: Bizarre::Module

Reply via email to