summaryrefslogtreecommitdiff
path: root/Master/tlpkg/tlperl/lib/Test2/Hub
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2019-03-10 21:56:14 +0000
committerKarl Berry <karl@freefriends.org>2019-03-10 21:56:14 +0000
commite0a2a718e89f9700d627f1e6a8eea8f21d2fbeb8 (patch)
tree39972f65008b0d70f306a5f976494d29411bc41e /Master/tlpkg/tlperl/lib/Test2/Hub
parentb206fdc77d81ed1600949062f08de5690a4bf66f (diff)
tl19 perl 5.28.1 for Windows, from Siep
git-svn-id: svn://tug.org/texlive/trunk@50322 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/tlpkg/tlperl/lib/Test2/Hub')
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Test2/Hub/Interceptor.pm12
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Test2/Hub/Interceptor/Terminator.pm4
-rwxr-xr-xMaster/tlpkg/tlperl/lib/Test2/Hub/Subtest.pm59
3 files changed, 47 insertions, 28 deletions
diff --git a/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor.pm b/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor.pm
index 42be265f8d7..b7af4cf427d 100755
--- a/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor.pm
+++ b/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Interceptor;
use strict;
use warnings;
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
use Test2::Hub::Interceptor::Terminator();
@@ -10,10 +10,18 @@ use Test2::Hub::Interceptor::Terminator();
BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
use Test2::Util::HashBase;
+sub init {
+ my $self = shift;
+ $self->SUPER::init();
+ $self->{+NESTED} = 0;
+}
+
sub inherit {
my $self = shift;
my ($from, %params) = @_;
+ $self->{+NESTED} = 0;
+
if ($from->{+IPC} && !$self->{+IPC} && !exists($params{ipc})) {
my $ipc = $from->{+IPC};
$self->{+IPC} = $ipc;
@@ -70,7 +78,7 @@ F<http://github.com/Test-More/test-more/>.
=head1 COPYRIGHT
-Copyright 2016 Chad Granum E<lt>exodist@cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist@cpan.orgE<gt>.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor/Terminator.pm b/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor/Terminator.pm
index f7201904689..76ad94a94cc 100755
--- a/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor/Terminator.pm
+++ b/Master/tlpkg/tlperl/lib/Test2/Hub/Interceptor/Terminator.pm
@@ -2,7 +2,7 @@ package Test2::Hub::Interceptor::Terminator;
use strict;
use warnings;
-our $VERSION = '1.302073';
+our $VERSION = '1.302133';
1;
@@ -41,7 +41,7 @@ F<http://github.com/Test-More/test-more/>.
=head1 COPYRIGHT
-Copyright 2016 Chad Granum E<lt>exodist@cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist@cpan.orgE<gt>.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.
diff --git a/Master/tlpkg/tlperl/lib/Test2/Hub/Subtest.pm b/Master/tlpkg/tlperl/lib/Test2/Hub/Subtest.pm
index adb3d6f15ed..c36a19e1ad6 100755
--- a/Master/tlpkg/tlperl/lib/Test2/Hub/Subtest.pm
+++ b/Master/tlpkg/tlperl/lib/Test2/Hub/Subtest.pm
@@ -2,29 +2,29 @@ package Test2::Hub::Subtest;
use strict;
use warnings;
-our $VERSION = '1.302073';
-
+our $VERSION = '1.302133';
BEGIN { require Test2::Hub; our @ISA = qw(Test2::Hub) }
-use Test2::Util::HashBase qw/nested bailed_out exit_code manual_skip_all id/;
+use Test2::Util::HashBase qw/nested exit_code manual_skip_all/;
use Test2::Util qw/get_tid/;
-my $ID = 1;
-sub init {
- my $self = shift;
- $self->SUPER::init(@_);
- $self->{+ID} ||= join "-", $$, get_tid, $ID++;
-}
-
sub is_subtest { 1 }
-sub process {
+sub inherit {
my $self = shift;
- my ($e) = @_;
- $e->set_nested($self->nested);
- $e->set_in_subtest($self->{+ID});
- $self->set_bailed_out($e) if $e->isa('Test2::Event::Bail');
- $self->SUPER::process($e);
+ my ($from) = @_;
+
+ $self->SUPER::inherit($from);
+
+ $self->{+NESTED} = $from->nested + 1;
+}
+
+{
+ # Legacy
+ no warnings 'once';
+ *ID = \&Test2::Hub::HID;
+ *id = \&Test2::Hub::hid;
+ *set_id = \&Test2::Hub::set_hid;
}
sub send {
@@ -34,9 +34,15 @@ sub send {
my $out = $self->SUPER::send($e);
return $out if $self->{+MANUAL_SKIP_ALL};
- return $out unless $e->isa('Test2::Event::Plan')
- && $e->directive eq 'SKIP'
- && ($e->trace->pid != $self->pid || $e->trace->tid != $self->tid);
+
+ my $f = $e->facet_data;
+
+ my $plan = $f->{plan} or return $out;
+ return $out unless $plan->{skip};
+
+ my $trace = $f->{trace} or die "Missing Trace!";
+ return $out unless $trace->{pid} != $self->pid
+ || $trace->{tid} != $self->tid;
no warnings 'exiting';
last T2_SUBTEST_WRAPPER;
@@ -44,13 +50,18 @@ sub send {
sub terminate {
my $self = shift;
- my ($code, $e) = @_;
+ my ($code, $e, $f) = @_;
$self->set_exit_code($code);
return if $self->{+MANUAL_SKIP_ALL};
- return if $e->isa('Test2::Event::Plan')
- && $e->directive eq 'SKIP'
- && ($e->trace->pid != $$ || $e->trace->tid != get_tid);
+
+ $f ||= $e->facet_data;
+
+ if(my $plan = $f->{plan}) {
+ my $trace = $f->{trace} or die "Missing Trace!";
+ return if $plan->{skip}
+ && ($trace->{pid} != $$ || $trace->{tid} != get_tid);
+ }
no warnings 'exiting';
last T2_SUBTEST_WRAPPER;
@@ -115,7 +126,7 @@ F<http://github.com/Test-More/test-more/>.
=head1 COPYRIGHT
-Copyright 2016 Chad Granum E<lt>exodist@cpan.orgE<gt>.
+Copyright 2018 Chad Granum E<lt>exodist@cpan.orgE<gt>.
This program is free software; you can redistribute it and/or
modify it under the same terms as Perl itself.