Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package perl-Test-Most for openSUSE:Factory 
checked in at 2026-05-18 17:47:55
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/perl-Test-Most (Old)
 and      /work/SRC/openSUSE:Factory/.perl-Test-Most.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "perl-Test-Most"

Mon May 18 17:47:55 2026 rev:13 rq:1353752 version:0.420.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/perl-Test-Most/perl-Test-Most.changes    
2025-10-11 22:49:16.610845220 +0200
+++ /work/SRC/openSUSE:Factory/.perl-Test-Most.new.1966/perl-Test-Most.changes  
2026-05-18 17:48:41.681983464 +0200
@@ -1,0 +2,23 @@
+Fri May  8 07:04:29 UTC 2026 - Tina Müller <[email protected]>
+
+- updated to 0.420.0 (0.42)
+   see /usr/share/doc/packages/perl-Test-Most/Changes
+
+  0.42    2026-05-07
+          - Bugfix: restore support for `use Test::Most import => [...]` to
+            select which symbols to export. The 0.39 export rework broke it.
+            See https://github.com/Ovid/test--most/issues/18
+  0.41    2026-04-30
+          - No functional changes
+          - ANOTHER book-keeping fix. Once a module has been indexed it needs
+            to always have a version number. Grargh!
+  0.40    2026-04-30
+          - No functional changes
+          - Test::Most::Exception didn't get indexed last time because I forgot
+            to bump the version. It doesn't need a version at all, so get rid 
of
+            it to avoid this happening again.
+  0.39    2026-04-30
+          - Bugfix: prevent strange import behaviour caused by @EXPORT 
twiddling
+            see @dmaestro's patch f436edb and also later 7d20ddb
+
+-------------------------------------------------------------------

Old:
----
  Test-Most-0.38.tar.gz

New:
----
  Test-Most-0.42.tar.gz

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

Other differences:
------------------
++++++ perl-Test-Most.spec ++++++
--- /var/tmp/diff_new_pack.3aMOui/_old  2026-05-18 17:48:42.394012886 +0200
+++ /var/tmp/diff_new_pack.3aMOui/_new  2026-05-18 17:48:42.398013052 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package perl-Test-Most
 #
-# Copyright (c) 2025 SUSE LLC
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -18,14 +18,14 @@
 
 %define cpan_name Test-Most
 Name:           perl-Test-Most
-Version:        0.380.0
+Version:        0.420.0
 Release:        0
-# 0.38 -> normalize -> 0.380.0
-%define cpan_version 0.38
+# 0.42 -> normalize -> 0.420.0
+%define cpan_version 0.42
 License:        Artistic-1.0 OR GPL-1.0-or-later
 Summary:        Most commonly needed test functions and features
 URL:            https://metacpan.org/release/%{cpan_name}
-Source0:        
https://cpan.metacpan.org/authors/id/O/OV/OVID/%{cpan_name}-%{cpan_version}.tar.gz
+Source0:        
https://cpan.metacpan.org/authors/id/D/DC/DCANTRELL/%{cpan_name}-%{cpan_version}.tar.gz
 Source1:        cpanspec.yml
 Source100:      README.md
 BuildArch:      noarch

++++++ Test-Most-0.38.tar.gz -> Test-Most-0.42.tar.gz ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/Changes new/Test-Most-0.42/Changes
--- old/Test-Most-0.38/Changes  2022-09-24 15:40:01.000000000 +0200
+++ new/Test-Most-0.42/Changes  2026-05-07 18:25:55.000000000 +0200
@@ -1,5 +1,29 @@
 Revision history for Test::Most
 
+0.42    2026-05-07
+
+        - Bugfix: restore support for `use Test::Most import => [...]` to
+          select which symbols to export. The 0.39 export rework broke it.
+          See https://github.com/Ovid/test--most/issues/18
+
+0.41    2026-04-30
+
+        - No functional changes
+        - ANOTHER book-keeping fix. Once a module has been indexed it needs
+          to always have a version number. Grargh!
+
+0.40    2026-04-30
+
+        - No functional changes
+        - Test::Most::Exception didn't get indexed last time because I forgot
+          to bump the version. It doesn't need a version at all, so get rid of
+          it to avoid this happening again.
+
+0.39    2026-04-30
+
+        - Bugfix: prevent strange import behaviour caused by @EXPORT twiddling
+          see @dmaestro's patch f436edb and also later 7d20ddb
+
 0.38    2022-09-24
         - Stop permanently altering Test::More's export list (RT#73299)
           (thanks to 2shortplanks for this)
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/MANIFEST new/Test-Most-0.42/MANIFEST
--- old/Test-Most-0.38/MANIFEST 2022-09-24 15:30:06.000000000 +0200
+++ new/Test-Most-0.42/MANIFEST 2026-05-07 18:22:45.000000000 +0200
@@ -21,9 +21,12 @@
 t/function_die.t
 t/import_bail.t
 t/import_die.t
+t/import_list.t
 t/import_strict_and_warnings.t
 t/lib/DuplicatePlanRegression.pm
 t/lib/OurTester.pm
 t/timex.t
 xt/author/pod-coverage.t
 xt/author/pod.t
+t/carried-over-imports.t
+t/lib/UsesTestMost.pm
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/META.json new/Test-Most-0.42/META.json
--- old/Test-Most-0.38/META.json        2022-09-24 15:48:07.000000000 +0200
+++ new/Test-Most-0.42/META.json        2026-05-07 18:27:32.000000000 +0200
@@ -4,7 +4,7 @@
       "unknown"
    ],
    "dynamic_config" : 1,
-   "generated_by" : "ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter 
version 2.150010",
+   "generated_by" : "ExtUtils::MakeMaker version 7.66, CPAN::Meta::Converter 
version 2.150010",
    "license" : [
       "perl_5"
    ],
@@ -49,6 +49,6 @@
          "web" : "https://github.com/Ovid/test--most";
       }
    },
-   "version" : "0.38",
-   "x_serialization_backend" : "JSON::PP version 4.09"
+   "version" : "0.42",
+   "x_serialization_backend" : "JSON::PP version 4.02"
 }
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/META.yml new/Test-Most-0.42/META.yml
--- old/Test-Most-0.38/META.yml 2022-09-24 15:48:07.000000000 +0200
+++ new/Test-Most-0.42/META.yml 2026-05-07 18:27:32.000000000 +0200
@@ -7,7 +7,7 @@
 configure_requires:
   ExtUtils::MakeMaker: '0'
 dynamic_config: 1
-generated_by: 'ExtUtils::MakeMaker version 7.64, CPAN::Meta::Converter version 
2.150010'
+generated_by: 'ExtUtils::MakeMaker version 7.66, CPAN::Meta::Converter version 
2.150010'
 license: perl
 meta-spec:
   url: http://module-build.sourceforge.net/META-spec-v1.4.html
@@ -27,5 +27,5 @@
   Test::Warn: '0.30'
 resources:
   repository: https://github.com/Ovid/test--most
-version: '0.38'
+version: '0.42'
 x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/lib/Test/Most/Exception.pm 
new/Test-Most-0.42/lib/Test/Most/Exception.pm
--- old/Test-Most-0.38/lib/Test/Most/Exception.pm       2022-09-24 
15:47:26.000000000 +0200
+++ new/Test-Most-0.42/lib/Test/Most/Exception.pm       2026-05-07 
18:26:26.000000000 +0200
@@ -6,7 +6,7 @@
 use base 'Exporter';
 our @EXPORT_OK = ('throw_failure');
 
-our $VERSION = '0.38';
+our $VERSION = '0.42';
 $VERSION = eval $VERSION;
 
 use Exception::Class 'Test::Most::Exception' => {
@@ -24,7 +24,7 @@
 
 =head1 VERSION
 
-Version 0.38
+Version 0.41
 
 =head1 SYNOPSIS
 
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/lib/Test/Most.pm 
new/Test-Most-0.42/lib/Test/Most.pm
--- old/Test-Most-0.38/lib/Test/Most.pm 2022-09-24 15:47:48.000000000 +0200
+++ new/Test-Most-0.42/lib/Test/Most.pm 2026-05-07 18:26:17.000000000 +0200
@@ -33,7 +33,7 @@
     $OK_FUNC = \&Test::Builder::ok;
 }
 
-our $VERSION = '0.38';
+our $VERSION = '0.42';
 $VERSION = eval $VERSION;
 
 BEGIN {
@@ -59,7 +59,9 @@
 }
 
 sub import {
+    my $class = shift;
     my $bail_set = 0;
+    local @EXPORT = @EXPORT; # localize effect of %exclude_symbol
 
     my %modules_to_load = map { $_ => 1 } qw/
         Test::Differences
@@ -100,9 +102,31 @@
     my %exclude_symbol;
     my $i = 0;
 
+    # Pull out `import => [...]` so it doesn't fall through to plan(), which
+    # doesn't understand it. The list drives export_to_level below.
+    #
+    # The while-with-index loop is intentional: we mutate @_ via splice as
+    # we go, and this matches the existing parser further down the sub.
+    my @explicit;
+    while ( $i < @_ ) {
+        if ( $_[$i] eq 'import' && ref $_[ $i + 1 ] eq 'ARRAY' ) {
+            @explicit = @{ ( splice @_, $i, 2 )[1] };
+            last;
+        }
+        $i++;
+    }
+    $i = 0;
+
     foreach my $do_not_import_by_default (qw/blessed reftype/) {
-        if ( grep { $_ eq $do_not_import_by_default } @_ ) {
+        if ( grep { $_ eq $do_not_import_by_default } @_, @explicit ) {
             @_ = grep { $_ ne $do_not_import_by_default } @_;
+            # If the user opted in positionally AND used import => [...],
+            # the explicit list is the export source — make sure the symbol
+            # is in it, or it would be silently dropped.
+            if ( @explicit
+                && !grep { $_ eq $do_not_import_by_default } @explicit ) {
+                push @explicit, $do_not_import_by_default;
+            }
         }
         else {
             $exclude_symbol{$do_not_import_by_default} = 1;
@@ -154,6 +178,7 @@
         }
         $i++;
     }
+    local @EXPORT = @EXPORT; # localize effect of %exclude_symbol
     foreach my $module (keys %modules_to_load) {
         eval "use $module";
 
@@ -162,12 +187,21 @@
             Carp::croak($error);
         }
         no strict 'refs';
-        # Note: export_to_level would be better here.
         push @EXPORT => grep { !$exclude_symbol{$_} } @{"${module}::EXPORT"};
     }
 
-    # 'magic' goto to avoid updating the callstack
-    goto &Test::Builder::Module::import;
+    my $test = $class->builder;
+    $test->exported_to($caller);
+    $test->plan(@_);
+
+    # Empty @explicit covers two cases that should both fall through to the
+    # default exports: no `import =>` was given, or `import => []` was given
+    # (which matches Test::Builder::Module / Exporter, where an empty import
+    # list means "use defaults"). When @explicit has items but `!sym`
+    # exclusions empty it out, @to_export is empty and we export nothing.
+    my @to_export
+        = @explicit ? grep { !$exclude_symbol{$_} } @explicit : @EXPORT;
+    $class->export_to_level( 1, $class, @to_export ) if @to_export;
 }
 
 sub explain {
@@ -319,7 +353,7 @@
 
 =head1 VERSION
 
-Version 0.38
+Version 0.41
 
 =head1 SYNOPSIS
 
@@ -824,7 +858,9 @@
 
 =head1 COPYRIGHT & LICENSE
 
-Copyright 2008 Curtis Poe, all rights reserved.
+originally Copyright 2008 Curtis Poe
+
+now maintained by David Cantrell, his changes Copyright 2026
 
 This program is free software; you can redistribute it and/or modify it
 under the same terms as Perl itself.
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/t/carried-over-imports.t 
new/Test-Most-0.42/t/carried-over-imports.t
--- old/Test-Most-0.38/t/carried-over-imports.t 1970-01-01 01:00:00.000000000 
+0100
+++ new/Test-Most-0.42/t/carried-over-imports.t 2026-04-30 20:34:49.000000000 
+0200
@@ -0,0 +1,18 @@
+use strict;
+use warnings;
+
+use lib 't/lib';
+use UsesTestMost;
+
+use Test::Most qw(!any); # exclude an import that has already been imported in 
UsesTestMost
+
+warning_is {
+    require List::Util;
+    List::Util->import('any');
+} undef, 'List::Util::any imports without warnings after exclusion';
+
+ok any( sub { $_ == 1 }, 1 ), 'List::Util::any is imported into the caller';
+
+UsesTestMost::is_it_one(1);
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/t/import_list.t 
new/Test-Most-0.42/t/import_list.t
--- old/Test-Most-0.38/t/import_list.t  1970-01-01 01:00:00.000000000 +0100
+++ new/Test-Most-0.42/t/import_list.t  2026-05-07 18:22:45.000000000 +0200
@@ -0,0 +1,70 @@
+#!/usr/bin/perl
+
+use strict;
+use warnings;
+
+use lib 'lib';
+
+# Regression test for GH#18: `use Test::Most import => [...]` died with
+# "plan() doesn't understand import ARRAY(...)" because the pair fell
+# through to plan() instead of being consumed as an export filter.
+#
+# `import => [...]` must be supplied as the first arg to actually exercise
+# the regression — it's what gets handed to plan() and what plan() chokes on.
+use Test::Most import => [qw( ok done_testing is blessed subtest )];
+
+ok 1, 'ok was imported via the explicit list';
+is 2, 2, 'is was imported via the explicit list';
+ok defined( &main::blessed ),
+    'symbols normally excluded by default may be imported when listed 
explicitly';
+ok !defined( &main::eq_or_diff ),
+    'symbols not in the import list are not exported';
+ok !defined( &main::dies_ok ),
+    'Test::Exception symbols not in the import list are not exported';
+ok !defined( &main::cmp_deeply ),
+    'Test::Deep symbols not in the import list are not exported';
+ok !defined( &main::warning_is ),
+    'Test::Warn symbols not in the import list are not exported';
+
+subtest 'empty import list falls through to default exports' => sub {
+    # This matches Test::Builder::Module and Exporter, both of which treat
+    # an empty import list as "use defaults". Pre-0.39 Test::Most inherited
+    # the same behaviour via `goto &Test::Builder::Module::import`, so we
+    # preserve it here.
+    package EmptyList;
+    Test::Most->import( import => [] );
+    main::ok( defined( &EmptyList::ok ),         'ok exported (default)' );
+    main::ok( defined( &EmptyList::cmp_deeply ), 'cmp_deeply exported 
(default)' );
+};
+
+subtest 'fully excluded import list exports nothing' => sub {
+    package AllExcluded;
+    Test::Most->import( import => [qw( is )], '!is' );
+    main::ok( !defined( &AllExcluded::is ), 'excluded symbol not exported' );
+    main::ok( !defined( &AllExcluded::ok ), 'unrelated default not exported' );
+};
+
+subtest 'import list combined with plan args' => sub {
+    package WithPlan;
+    Test::Most->import( 'no_plan', import => [qw( ok )] );
+    main::ok( defined( &WithPlan::ok ),         'ok was imported' );
+    main::ok( !defined( &WithPlan::cmp_deeply ), 'cmp_deeply not exported' );
+};
+
+subtest 'positional blessed alongside import list is honored' => sub {
+    package WithBlessed;
+    Test::Most->import( 'blessed', import => [qw( ok )] );
+    main::ok( defined( &WithBlessed::blessed ),
+        'blessed listed positionally still gets exported' );
+    main::ok( defined( &WithBlessed::ok ), 'ok from import list exported' );
+};
+
+subtest 'module exclusion still applies' => sub {
+    package WithoutDeep;
+    Test::Most->import( '-Test::Deep', import => [qw( ok )] );
+    main::ok( defined( &WithoutDeep::ok ), 'ok exported' );
+    main::ok( !defined( &WithoutDeep::cmp_deeply ),
+        'Test::Deep symbols not exported even if Test::Deep stayed loaded' );
+};
+
+done_testing;
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/Test-Most-0.38/t/lib/UsesTestMost.pm 
new/Test-Most-0.42/t/lib/UsesTestMost.pm
--- old/Test-Most-0.38/t/lib/UsesTestMost.pm    1970-01-01 01:00:00.000000000 
+0100
+++ new/Test-Most-0.42/t/lib/UsesTestMost.pm    2026-04-30 20:34:49.000000000 
+0200
@@ -0,0 +1,9 @@
+package UsesTestMost;
+
+use strict;
+use warnings;
+use Test::Most;
+
+sub is_it_one { ok(shift == 1, "yes it's one") }
+
+1;

++++++ _scmsync.obsinfo ++++++
--- /var/tmp/diff_new_pack.3aMOui/_old  2026-05-18 17:48:42.638022969 +0200
+++ /var/tmp/diff_new_pack.3aMOui/_new  2026-05-18 17:48:42.650023465 +0200
@@ -1,6 +1,6 @@
-mtime: 1760133635
-commit: 7c34064cf9502fd5f5d8b2f84edbed18422167767ff0dca03418234f3113583b
-url: https://src.opensuse.org/perl/perl-Test-Most.git
-revision: 7c34064cf9502fd5f5d8b2f84edbed18422167767ff0dca03418234f3113583b
+mtime: 1778223869
+commit: 11cd11199aaf219b45119256465289987433655dd3e6387b1e6b6bc83ede2011
+url: https://src.opensuse.org/perl/perl-Test-Most
+revision: 11cd11199aaf219b45119256465289987433655dd3e6387b1e6b6bc83ede2011
 projectscmsync: https://src.opensuse.org/perl/_ObsPrj
 

++++++ build.specials.obscpio ++++++

++++++ build.specials.obscpio ++++++
diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' 
'--exclude=.svnignore' old/.gitignore new/.gitignore
--- old/.gitignore      1970-01-01 01:00:00.000000000 +0100
+++ new/.gitignore      2026-05-08 09:04:29.000000000 +0200
@@ -0,0 +1 @@
+.osc

Reply via email to