diff -Nru libclass-accessor-grouped-perl-0.10010/Changes libclass-accessor-grouped-perl-0.10012/Changes --- libclass-accessor-grouped-perl-0.10010/Changes 2013-04-24 02:53:43.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/Changes 2014-10-05 21:20:29.000000000 +0000 @@ -1,5 +1,12 @@ Revision history for Class::Accessor::Grouped. +0.10012 2014-10-05 21:22 (UTC) + - Fix tests tickling deficient threads on perl 5.10.0 + +0.10011 2014-09-26 11:24 (UTC) + - Soft-depend on newer (bugfixed and *simpler*) Class::XSAccessor 1.19 + - More robust threading tests + 0.10010 2013-04-24 02:58 (UTC) - Fix bug with identically-named 'simple' accessors in different classes set to access *differently named fields* getting their diff -Nru libclass-accessor-grouped-perl-0.10010/debian/changelog libclass-accessor-grouped-perl-0.10012/debian/changelog --- libclass-accessor-grouped-perl-0.10010/debian/changelog 2013-05-01 19:00:38.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/debian/changelog 2014-10-06 16:00:30.000000000 +0000 @@ -1,3 +1,21 @@ +libclass-accessor-grouped-perl (0.10012-1) unstable; urgency=medium + + [ gregor herrmann ] + * Strip trailing slash from metacpan URLs. + + [ Salvatore Bonaccorso ] + * Update Vcs-Browser URL to cgit web frontend + + [ gregor herrmann ] + * Add debian/upstream/metadata + * Imported upstream version 0.10012 + * Update years of packaging copyright. + * Bump versioned (build) dependency on libclass-xsaccessor-perl. + * Mark package as autopkgtest-able. + * Declare compliance with Debian Policy 3.9.6. + + -- gregor herrmann Mon, 06 Oct 2014 18:00:19 +0200 + libclass-accessor-grouped-perl (0.10010-1) unstable; urgency=low * Imported Upstream version 0.10010 diff -Nru libclass-accessor-grouped-perl-0.10010/debian/control libclass-accessor-grouped-perl-0.10012/debian/control --- libclass-accessor-grouped-perl-0.10010/debian/control 2013-05-01 19:00:38.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/debian/control 2014-10-06 16:00:30.000000000 +0000 @@ -9,7 +9,7 @@ Section: perl Priority: optional Build-Depends: debhelper (>= 8) -Build-Depends-Indep: libclass-xsaccessor-perl (>= 1.13), +Build-Depends-Indep: libclass-xsaccessor-perl (>= 1.19), libdevel-hide-perl, libmodule-runtime-perl (>= 0.012), libpackage-stash-perl, @@ -17,17 +17,18 @@ libtest-exception-perl (>= 0.31), perl (>= 5.11.2) | libextutils-cbuilder-perl, perl -Standards-Version: 3.9.4 -Vcs-Browser: http://anonscm.debian.org/gitweb/?p=pkg-perl/packages/libclass-accessor-grouped-perl.git +Standards-Version: 3.9.6 +Vcs-Browser: https://anonscm.debian.org/cgit/pkg-perl/packages/libclass-accessor-grouped-perl.git Vcs-Git: git://anonscm.debian.org/pkg-perl/packages/libclass-accessor-grouped-perl.git -Homepage: https://metacpan.org/release/Class-Accessor-Grouped/ +Homepage: https://metacpan.org/release/Class-Accessor-Grouped +Testsuite: autopkgtest-pkg-perl Package: libclass-accessor-grouped-perl Architecture: all Depends: ${misc:Depends}, ${perl:Depends}, libmodule-runtime-perl (>= 0.012) -Recommends: libclass-xsaccessor-perl (>= 1.13), +Recommends: libclass-xsaccessor-perl (>= 1.19), libsub-name-perl (>= 0.05) Description: Perl module to build groups of accessors Class::Accessor::Grouped is a Perl module that allows you to build groups diff -Nru libclass-accessor-grouped-perl-0.10010/debian/copyright libclass-accessor-grouped-perl-0.10012/debian/copyright --- libclass-accessor-grouped-perl-0.10010/debian/copyright 2013-03-19 22:00:17.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/debian/copyright 2014-10-06 16:00:30.000000000 +0000 @@ -1,6 +1,6 @@ Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Class-Accessor-Grouped -Source: https://metacpan.org/release/Class-Accessor-Grouped/ +Source: https://metacpan.org/release/Class-Accessor-Grouped Upstream-Contact: Peter Rabbitson Files: * @@ -9,7 +9,7 @@ Files: debian/* Copyright: 2007-2009, Krzysztof Krzyżaniak (eloy) - 2007-2011, gregor herrmann + 2007-2014, gregor herrmann 2008, Roberto C. Sanchez 2008-2010, Ansgar Burchardt 2009-2010, Jonathan Yu diff -Nru libclass-accessor-grouped-perl-0.10010/debian/upstream/metadata libclass-accessor-grouped-perl-0.10012/debian/upstream/metadata --- libclass-accessor-grouped-perl-0.10010/debian/upstream/metadata 1970-01-01 00:00:00.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/debian/upstream/metadata 2014-10-06 16:00:30.000000000 +0000 @@ -0,0 +1,5 @@ +--- +Archive: CPAN +Contact: Matt S. Trout +Name: Class-Accessor-Grouped +Repository: git://git.shadowcat.co.uk/p5sagit/Class-Accessor-Grouped.git diff -Nru libclass-accessor-grouped-perl-0.10010/debian/watch libclass-accessor-grouped-perl-0.10012/debian/watch --- libclass-accessor-grouped-perl-0.10010/debian/watch 2013-01-27 17:38:36.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/debian/watch 2014-10-06 16:00:30.000000000 +0000 @@ -1,2 +1,2 @@ version=3 -https://metacpan.org/release/Class-Accessor-Grouped/ .*/Class-Accessor-Grouped-v?(\d[\d.]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip) +https://metacpan.org/release/Class-Accessor-Grouped .*/Class-Accessor-Grouped-v?(\d[\d.]+)\.(?:tar(?:\.gz|\.bz2)?|tgz|zip) diff -Nru libclass-accessor-grouped-perl-0.10010/lib/Class/Accessor/Grouped.pm libclass-accessor-grouped-perl-0.10012/lib/Class/Accessor/Grouped.pm --- libclass-accessor-grouped-perl-0.10010/lib/Class/Accessor/Grouped.pm 2013-04-24 02:52:13.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/lib/Class/Accessor/Grouped.pm 2014-10-05 21:20:02.000000000 +0000 @@ -15,12 +15,12 @@ } } -our $VERSION = '0.10010'; +our $VERSION = '0.10012'; $VERSION = eval $VERSION if $VERSION =~ /_/; # numify for warning-free dev releases # when changing minimum version don't forget to adjust Makefile.PL as well our $__minimum_xsa_version; -BEGIN { $__minimum_xsa_version = '1.15' } +BEGIN { $__minimum_xsa_version = '1.19' } our $USE_XS; # the unless defined is here so that we can override the value @@ -68,16 +68,10 @@ constant->import( TRACK_UNDEFER_FAIL => ( $INC{'Test/Builder.pm'} || $INC{'Test/Builder2.pm'} and - $0 =~ m|^ x?t / .+ \.t $|x + $0 =~ m{ ^ (?: \. \/ )? x?t / .+ \.t $}x ) ? 1 : 0 ); - require B; - # a perl 5.6 kludge - unless (B->can('perlstring')) { - require Data::Dumper; - my $d = Data::Dumper->new([])->Indent(0)->Purity(0)->Pad('')->Useqq(1)->Terse(1)->Freezer('')->Toaster(''); - *B::perlstring = sub { $d->Values([shift])->Dump }; - } + sub perlstring ($) { q{"}. quotemeta( shift ). q{"} }; } # Yes this method is undocumented @@ -105,7 +99,7 @@ if ($name =~ /\0/) { Carp::croak(sprintf "Illegal accessor name %s - nulls should never appear in stash keys", - B::perlstring($name), + __CAG_ENV__::perlstring($name), ); } elsif (! $ENV{CAG_ILLEGAL_ACCESSOR_NAME_OK} ) { @@ -126,7 +120,7 @@ # idiot, there is now a ton of DBIC code out there that attempts # to create column accessors with illegal names. In the interest # of not cluttering the logs of unsuspecting victims (unsuspecting - # because these accessors are unusuable anyway) we provide an + # because these accessors are unusable anyway) we provide an # explicit "do not warn at all" escape, until all such code is # fixed (this will be a loooooong time >:( $ENV{CAG_ILLEGAL_ACCESSOR_NAME_OK} ne 'DO_NOT_WARN' @@ -703,7 +697,7 @@ cxsa_call => 'accessors', pp_generator => sub { # my ($group, $fieldname) = @_; - my $quoted_fieldname = B::perlstring($_[1]); + my $quoted_fieldname = __CAG_ENV__::perlstring($_[1]); sprintf <<'EOS', ($_[0], $quoted_fieldname) x 2; @_ > 1 @@ -717,7 +711,7 @@ cxsa_call => 'getters', pp_generator => sub { # my ($group, $fieldname) = @_; - my $quoted_fieldname = B::perlstring($_[1]); + my $quoted_fieldname = __CAG_ENV__::perlstring($_[1]); sprintf <<'EOS', $_[0], $quoted_fieldname; @_ > 1 @@ -737,7 +731,7 @@ cxsa_call => 'setters', pp_generator => sub { # my ($group, $fieldname) = @_; - my $quoted_fieldname = B::perlstring($_[1]); + my $quoted_fieldname = __CAG_ENV__::perlstring($_[1]); sprintf <<'EOS', $_[0], $quoted_fieldname; @_ > 1 diff -Nru libclass-accessor-grouped-perl-0.10010/Makefile.PL libclass-accessor-grouped-perl-0.10012/Makefile.PL --- libclass-accessor-grouped-perl-0.10010/Makefile.PL 2013-03-27 00:52:02.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/Makefile.PL 2014-09-26 10:47:10.000000000 +0000 @@ -15,7 +15,7 @@ my $recommends = { 'Sub::Name' => '0.05', # when changing CXSA version don't forget to adjust lib/Class/Accessor/Grouped.pm as well - 'Class::XSAccessor' => '1.15', + 'Class::XSAccessor' => '1.19', }; recommends( $_ => $recommends->{$_} ) diff -Nru libclass-accessor-grouped-perl-0.10010/META.yml libclass-accessor-grouped-perl-0.10012/META.yml --- libclass-accessor-grouped-perl-0.10010/META.yml 2013-04-24 02:58:18.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/META.yml 2014-10-05 21:21:41.000000000 +0000 @@ -22,7 +22,7 @@ - inc - t recommends: - Class::XSAccessor: 1.15 + Class::XSAccessor: 1.19 Sub::Name: 0.05 requires: Carp: 0 @@ -32,4 +32,4 @@ resources: license: http://dev.perl.org/licenses/ repository: git://git.shadowcat.co.uk/p5sagit/Class-Accessor-Grouped.git -version: 0.10010 +version: 0.10012 diff -Nru libclass-accessor-grouped-perl-0.10010/t/accessors_pp.t libclass-accessor-grouped-perl-0.10012/t/accessors_pp.t --- libclass-accessor-grouped-perl-0.10010/t/accessors_pp.t 2013-03-27 00:52:02.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/t/accessors_pp.t 2014-09-28 18:03:56.000000000 +0000 @@ -40,28 +40,60 @@ my $todo = sub { note "\nTesting $tname without Sub::Name (pass @{[ $pass ++ ]})\n\n"; - my $tfn = catfile($Bin, $tname); + my ($tfn) = catfile($Bin, $tname) =~ /(.+)/; - delete $INC{$_} for ( - qw/AccessorGroups.pm AccessorGroupsRO.pm AccessorGroupsSubclass.pm AccessorGroupsParent.pm AccessorGroupsWO.pm/, + for ( + qw|AccessorGroups.pm AccessorGroups/BeenThereDoneThat.pm AccessorGroupsRO.pm AccessorGroupsSubclass.pm AccessorGroupsParent.pm AccessorGroupsWO.pm|, File::Spec::Unix->catfile ($tfn), - ); + ) { + delete $INC{$_}; + no strict 'refs'; + if (my ($mod) = $_ =~ /(.+)\.pm$/ ) { + %{"${mod}::"} = (); + } + } local $SIG{__WARN__} = sub { warn @_ unless $_[0] =~ /subroutine .+ redefined/i }; do($tfn); + + 666; }; if ($has_threads) { - threads->create(sub { - threads->create(sub { - $todo->() for (1,2) } - )->join; - $todo->() for (1,2); - })->join for (1,2) + for (1,2) { + is ( + threads->create(sub { + + # nested threading of this sort badly blows up on 5.10.0 (fixed with 5.10.1) + unless ($] > 5.009 and $] < 5.010001) { + is ( + + threads->create(sub { + $todo->(); + })->join, + + 666, + + 'Innner thread joined ok', + ); + + is ($todo->(), 666, "Intermediate result ok"); + } + + return 777; + })->join, + + 777, + + 'Outer thread joined ok', + ); + + is ($todo->(), 666, "Unthreaded run ok") for (1,2); + } } else { - $todo->() for (1, 2); + is ($todo->(), 666, "Unthreaded run ok") for (1,2); } } diff -Nru libclass-accessor-grouped-perl-0.10010/t/accessors_ro.t libclass-accessor-grouped-perl-0.10012/t/accessors_ro.t --- libclass-accessor-grouped-perl-0.10010/t/accessors_ro.t 2013-03-27 00:52:02.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/t/accessors_ro.t 2014-09-26 10:46:53.000000000 +0000 @@ -3,7 +3,6 @@ use strict; use warnings; no warnings 'once'; -use Config; use lib 't/lib'; # we test the pure-perl versions only, but allow overrides @@ -84,15 +83,12 @@ : qr/$name(:?_accessor)?\Q' cannot alter its value (read-only attribute of class AccessorGroupsRO)/ ; - { - local $TODO = "Class::XSAccessor emits broken error messages on 5.10 or -DDEBUGGING 5.8" - if ( - $test_accessors->{$name}{is_xs} - and - $] < '5.011' - and - ( $] > '5.009' or $Config{config_args} =~ /DEBUGGING/ ) - ); + SKIP: { + skip "Class::XSAccessor emits broken error messages on 5.10 and earlier", 1 if ( + $test_accessors->{$name}{is_xs} + and + $] < '5.011' + ); # die on set via name/alias throws_ok { diff -Nru libclass-accessor-grouped-perl-0.10010/t/accessors_wo.t libclass-accessor-grouped-perl-0.10012/t/accessors_wo.t --- libclass-accessor-grouped-perl-0.10010/t/accessors_wo.t 2013-03-27 00:52:02.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/t/accessors_wo.t 2014-09-26 10:46:53.000000000 +0000 @@ -3,7 +3,6 @@ use strict; use warnings; no warnings 'once'; -use Config; use lib 't/lib'; # we test the pure-perl versions only, but allow overrides @@ -82,15 +81,12 @@ ; # die on get via name/alias - { - local $TODO = "Class::XSAccessor emits broken error messages on 5.10 or -DDEBUGGING 5.8" - if ( - $test_accessors->{$name}{is_xs} - and - $] < '5.011' - and - ( $] > '5.009' or $Config{config_args} =~ /DEBUGGING/ ) - ); + SKIP: { + skip "Class::XSAccessor emits broken error messages on 5.10 and earlier", 1 if ( + $test_accessors->{$name}{is_xs} + and + $] < '5.011' + ); throws_ok { $obj->$name; diff -Nru libclass-accessor-grouped-perl-0.10010/t/accessors_xs_cachedwarn.t libclass-accessor-grouped-perl-0.10012/t/accessors_xs_cachedwarn.t --- libclass-accessor-grouped-perl-0.10010/t/accessors_xs_cachedwarn.t 2013-03-27 00:52:02.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/t/accessors_xs_cachedwarn.t 2014-09-27 10:16:42.000000000 +0000 @@ -1,6 +1,6 @@ my $has_threads; BEGIN { eval ' - use 5.008004; # older perls get confused by $SIG fiddling + use 5.008005; # older perls get confused by $SIG fiddling under CXSA use threads; use threads::shared; $has_threads = 1; @@ -45,9 +45,15 @@ is ($obj->singlefield, 2, 'Normal get'); is ($obj2->singlefield, undef, 'Normal get on unrelated object'); + + 42; }; - $has_threads ? threads->create( $todo )->join : $todo->(); + is ( + ($has_threads ? threads->create( $todo )->join : $todo->()), + 42, + "Correct result after do-er", + ) } is (@w, 3, '3 warnings total'); diff -Nru libclass-accessor-grouped-perl-0.10010/t/accessors_xs.t libclass-accessor-grouped-perl-0.10012/t/accessors_xs.t --- libclass-accessor-grouped-perl-0.10010/t/accessors_xs.t 2013-04-10 03:47:55.000000000 +0000 +++ libclass-accessor-grouped-perl-0.10012/t/accessors_xs.t 2014-09-28 18:43:02.000000000 +0000 @@ -1,6 +1,6 @@ my $has_threads; BEGIN { eval ' - use 5.008001; + use 5.008005; # older perls segfault on threading under CXSA use threads; use threads::shared; $has_threads = 1; @@ -42,7 +42,7 @@ my $todo = sub { note "\nTesting $tname with USE_XS (pass @{[ $pass++ ]})\n\n"; - my $tfn = catfile($Bin, $tname); + my ($tfn) = catfile($Bin, $tname) =~ /(.+)/; for ( qw|AccessorGroups.pm AccessorGroups/BeenThereDoneThat.pm AccessorGroupsRO.pm AccessorGroupsSubclass.pm AccessorGroupsParent.pm AccessorGroupsWO.pm|, @@ -58,18 +58,44 @@ local $SIG{__WARN__} = sub { warn @_ unless $_[0] =~ /subroutine .+ redefined/i }; do($tfn); + + 666; }; if ($has_threads) { - threads->create(sub { - threads->create(sub { - $todo->() for (1,2) } - )->join; - $todo->() for (1,2); - })->join for (1,2) + for (1,2) { + is ( + threads->create(sub { + + # nested threading of this sort badly blows up on 5.10.0 (fixed with 5.10.1) + unless ($] > 5.009 and $] < 5.010001) { + is ( + + threads->create(sub { + $todo->(); + })->join, + + 666, + + 'Innner thread joined ok', + ); + + is ($todo->(), 666, "Intermediate result ok"); + } + + return 777; + })->join, + + 777, + + 'Outer thread joined ok', + ); + + is ($todo->(), 666, "Unthreaded run ok") for (1,2); + } } else { - $todo->() for (1, 2); + is ($todo->(), 666, "Unthreaded run ok") for (1,2); } }