Developer-Dashboard
view release on metacpan or search on metacpan
t/47-zombie-coverage-closure.t view on Meta::CPAN
undef $keep_reader;
undef $result_reader;
POSIX::_exit(0);
}
close $result_writer;
my $payload = <$result_reader>;
close $result_reader;
waitpid( $pid, 0 );
chomp $payload if defined $payload;
is(
$payload,
'1:0',
'_close_inherited_fds ignores invalid keep entries while preserving numeric descriptors that must stay open',
);
}
done_testing();
__END__
=pod
=head1 NAME
t/47-zombie-coverage-closure.t
=head1 PURPOSE
Provides isolated regression coverage for the zombie-process fixes that were
hard to exercise reliably inside broader runtime tests.
=head1 WHAT IT TESTS
This test file verifies two narrow internal behaviors:
=over 4
=item *
the runtime helper command probe can recognize a matching internal helper
command string from a helper file body
=item *
the collector loop shutdown path can execute its forced-kill cleanup branch and
still clear the tracked active worker set
=back
=head1 WHY IT EXISTS
The broader runtime and refactor suites carry a lot of setup and monkey-patched
state. These two coverage points are simpler and more reliable when exercised in
their own minimal test file.
=head1 WHEN TO USE
Use this focused regression while changing collector child-reaping behavior,
forced worker shutdown, or the runtime helper command detection code. It is
meant for narrow zombie-fix iterations where the broader runtime suites would
add unnecessary setup noise.
=head1 HOW TO USE
Run it directly while iterating on collector zombie handling or runtime helper
resolution:
prove -lv t/47-zombie-coverage-closure.t
Run it under coverage when closing the final library coverage gap:
HARNESS_PERL_SWITCHES=-MDevel::Cover prove -lv t/47-zombie-coverage-closure.t
=head1 EXAMPLES
Direct focused rerun:
prove -lv t/47-zombie-coverage-closure.t
Covered focused rerun:
HARNESS_PERL_SWITCHES=-MDevel::Cover prove -lv t/47-zombie-coverage-closure.t
=head1 WHAT USES IT
This file is a focused regression for the collector zombie cleanup and runtime
helper command-detection code paths in
C<Developer::Dashboard::CollectorRunner> and
C<Developer::Dashboard::RuntimeManager>.
=cut
( run in 0.729 second using v1.01-cache-2.11-cpan-71847e10f99 )