Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XSConfig compatibility #77

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open

XSConfig compatibility #77

wants to merge 1 commit into from

Conversation

bulk88
Copy link
Contributor

@bulk88 bulk88 commented May 29, 2018

With XSConfig with p5p perl, or cperl, Test::Harness fails in
t/nofork-mux.t because of reliance on internal implementation of Config.pm.

Without using any external libraries or modules, fake not having fork by
putting a shim between the XS FETCH sub/method and the Config class that
traps and changes 'd_fork' key. Sample of error below that is fixed with
this patch.

C:\cpan\testharness>prove -v t/nofork-mux.t
t/nofork-mux.t .. Not a HASH reference at t/lib/NoFork.pm line 7.
Compilation failed in require at t/nofork-mux.t line 10.
BEGIN failed--compilation aborted at t/nofork-mux.t line 10.
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run

Test Summary Report

t/nofork-mux.t (Wstat: 65280 Tests: 0 Failed: 0)
Non-zero exit status: 255
Parse errors: No plan found in TAP output
Files=1, Tests=0, 0 wallclock secs ( 0.11 usr + 0.00 sys = 0.11 CPU)
Result: FAIL

Original author of this code is Reini Urban, in cperl commit
42cac300080de7d3a9df8eed040750ec9583de20 "Test-Harness: fix 2 tests"
on "Date: 9/28/2015 10:59:36 AM". The code was submitted upstream in Apr
2017 in #63 but
that PR stalled. I've extracted the minimum code needed to get T::H to pass
with XSConfig with p5p perl and placed it in this patch so that the code
can be published sooner.

With XSConfig with p5p perl, or cperl, Test::Harness fails in
t/nofork-mux.t because of reliance on internal implementation of Config.pm.

Without using any external libraries or modules, fake not having fork by
putting a shim between the XS FETCH sub/method and the Config class that
traps and changes 'd_fork' key. Sample of error below that is fixed with
this patch.

C:\cpan\testharness>prove -v t/nofork-mux.t
t/nofork-mux.t .. Not a HASH reference at t/lib/NoFork.pm line 7.
Compilation failed in require at t/nofork-mux.t line 10.
BEGIN failed--compilation aborted at t/nofork-mux.t line 10.
Dubious, test returned 255 (wstat 65280, 0xff00)
No subtests run

Test Summary Report
-------------------
t/nofork-mux.t (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: No plan found in TAP output
Files=1, Tests=0,  0 wallclock secs ( 0.11 usr +  0.00 sys =  0.11 CPU)
Result: FAIL

Original author of this code is Reini Urban, in cperl commit
42cac300080de7d3a9df8eed040750ec9583de20 "Test-Harness: fix 2 tests"
on "Date: 9/28/2015 10:59:36 AM". The code was submitted upstream in Apr
2017 in #63 but
that PR stalled. I've extracted the minimum code needed to get T::H to pass
with XSConfig with p5p perl and placed it in this patch so that the code
can be published sooner.
@bulk88
Copy link
Contributor Author

bulk88 commented Jul 13, 2018

Bump.

@Leont Leont self-assigned this Jul 16, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants