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

Task::Kensho install failures. #103

Closed
genio opened this issue May 28, 2023 · 25 comments
Closed

Task::Kensho install failures. #103

genio opened this issue May 28, 2023 · 25 comments

Comments

@genio
Copy link
Member

genio commented May 28, 2023

One of the easiest way to test things is to look at any failures Task::Kensho presents.

Using https://github.com/StrawberryPerl/Perl-Dist-Strawberry/releases/tag/dev_5.36.1_20230528_gcc13 results in the following install failures:

lib::relative
Specio::Library::Path::Tiny
Code::TidyAll
Test::MockObject
Test::WWW::Mechanize
Time::ParseDate
Module::CPANfile
App::FatPacker
File::Next
File::NFSLock
CPAN::Checksums
@genio
Copy link
Member Author

genio commented May 28, 2023

cpanm -v lib::relative
cpanm (App::cpanminus) 1.7046 on perl 5.036001 built for MSWin32-x64-multi-thread
Work directory is C:\Users\CWHITE~2\DOWNLO~1\STRAWB~1.1-6\data/.cpanm/work/1685302965.4352
You have make C:\Users\cwhitener\Downloads\strawberry-perl-5.36.1.1-64bit-portable\c\bin\gmake.exe
You have LWP 6.70
Falling back to Archive::Tar 3.02
Searching lib::relative () on cpanmetadb ...
--> Working on lib::relative
Fetching http://www.cpan.org/authors/id/D/DB/DBOOK/lib-relative-1.001.tar.gz ... OK
Unpacking lib-relative-1.001.tar.gz
Entering lib-relative-1.001
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.58 ... Yes (7.70)
Running Makefile.PL
Configuring lib-relative-1.001 ... Checking if your kit is complete...
Looks good
Generating a gmake-style Makefile
Writing Makefile for lib::relative
Writing MYMETA.yml and MYMETA.json
OK
Checking dependencies from MYMETA.json ...
Checking if you have lib 0 ... Yes (0.65)
Checking if you have File::Spec 0 ... Yes (3.84)
Checking if you have Test::More 0.88 ... Yes (1.302195)
Checking if you have Cwd 0 ... Yes (3.84)
Checking if you have File::Basename 0 ... Yes (2.85)
Checking if you have File::Temp 0.19 ... Yes (0.2311)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (7.70)
Building and testing lib-relative-1.001 ... cp lib/lib/relative.pm blib\lib\lib\relative.pm
"C:\Users\cwhitener\Downloads\strawberry-perl-5.36.1.1-64bit-portable\perl\bin\perl.exe" "-MExtUtils::Command::MM" "-MTest::Harness" "-e" "undef *Test::Harness::Switches; test_harness(0, 'blib\lib', 'blib\arch')" t/*.t
t/00-report-prereqs.t .. #
# Versions for all modules listed in MYMETA.json (including optional ones):
#
# === Configure Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.70
#
# === Build Requires ===
#
#     Module              Want Have
#     ------------------- ---- ----
#     ExtUtils::MakeMaker  any 7.70
#
# === Test Requires ===
#
#     Module              Want     Have
#     ------------------- ---- --------
#     ExtUtils::MakeMaker  any     7.70
#     File::Spec           any     3.84
#     File::Temp          0.19   0.2311
#     Test::More          0.88 1.302195
#
# === Test Recommends ===
#
#     Module         Want     Have
#     ---------- -------- --------
#     CPAN::Meta 2.120900 2.150010
#
# === Runtime Requires ===
#
#     Module         Want Have
#     -------------- ---- ----
#     Cwd             any 3.84
#     File::Basename  any 2.85
#     File::Spec      any 3.84
#     lib             any 0.65
#
t/00-report-prereqs.t .. ok
t/lib_relative.t ....... 1/? symlink failed: Operation not permitted at t/lib_relative.t line 48.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 1 just after 6.
t/lib_relative.t ....... Dubious, test returned 1 (wstat 256, 0x100)
All 6 subtests passed

Test Summary Report
-------------------
t/lib_relative.t     (Wstat: 256 (exited 1) Tests: 6 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
Files=2, Tests=7,  1 wallclock secs ( 0.05 usr +  0.00 sys =  0.05 CPU)
Result: FAIL
Failed 1/2 test programs. 0/7 subtests failed.
gmake: *** [makefile:866: test_dynamic] Error 1
FAIL
! Installing lib::relative failed. See C:\Users\CWHITE~2\DOWNLO~1\STRAWB~1.1-6\data\.cpanm\work\1685302965.4352\build.log for details. Retry with --force to force install it.

@shawnlaffan
Copy link
Contributor

The current Strawberry 5.36.1 builds disable symlinks due to test failures of other modules.

#d_symlink => 'undef', # many cpan modules fail tests when defined

It would seem lib::relative needs to modify its skip checks in that test, perhaps adapting the code in Path::Tiny
https://github.com/dagolden/Path-Tiny/blob/7a84e3c6952e8d27e3963c92e6087aac36534451/t/lib/TestUtils.pm#L26-L41

The solution/workaround for now is to install it as part of the build process, skipping that test file.

@shawnlaffan
Copy link
Contributor

See also #67 for the list of known symlink issues in the build, some of which only manifest on the docker instance.

@shawnlaffan
Copy link
Contributor

shawnlaffan commented May 28, 2023

MCE is also failing. t/02_do_callback_args.t appears to be hanging.

Edit:

(gdb) set args -Mblib t\02_do_callback_args.t
(gdb) set disable-randomization off
(gdb) run
Starting program: C:\strawberry_5361_gcc13_20230528\perl\bin\perl.exe -Mblib t\02_do_callback_args.t
[New Thread 15772.0x5268]
[New Thread 15772.0x9180]
[New Thread 15772.0x1a24]
ok 1 - use MCE;
[New Thread 15772.0x984c]

Thread 5 received signal SIGSEGV, Segmentation fault.
[Switching to Thread 15772.0x984c]
0x00007ffec334ab33 in perl536!Perl_drand48_r () from C:\strawberry_5361_gcc13_20230528\perl\bin\perl536.dll

@shawnlaffan
Copy link
Contributor

Specio::Library::Path::Tiny is the same basic failure as lib::relative. The check for symlink capacity is not functioning correctly.

@shawnlaffan
Copy link
Contributor

I think I'll re-enable the symlinks in the builds and update the test skips as needed. Most of the issues only manifest under docker.

@shawnlaffan
Copy link
Contributor

shawnlaffan commented May 29, 2023

So I force installed lib::relative and Specio::Library::Path::Tiny and checked the others in the list.

Later edits for additional modules:

@shawnlaffan
Copy link
Contributor

shawnlaffan commented May 29, 2023

Net::Server raises issues with SSLeay (see below). These are not raised for SP5.32. They might not be an issue, though.

It then hangs on t/server_PreFork test 5. However, SP5.32 hangs on test 2 of the same file so this would not seem to be a new issue in general.

Edit - this looks to be a long standing issue: https://rt.cpan.org/Public/Bug/Display.html?id=82542

# Unable to load module for proto "Net::Server::Proto::SSLEAY": Could not access Fcntl constant while loading Net::Server::Proto::SSLEAY: Your vendor has not defined Fcntl macro F_GETFL, used at C:\ST5EA9~1\data\.cpanm\work\1685326113.35108\Net-Server-2.014\blib\lib/Net/Server/Proto/SSLEAY.pm line 33
BEGIN failed--compilation aborted at C:\ST5EA9~1\data\.cpanm\work\1685326113.35108\Net-Server-2.014\blib\lib/Net/Server/Proto/SSLEAY.pm line 34.
Compilation failed in require at C:\ST5EA9~1\data\.cpanm\work\1685326113.35108\Net-Server-2.014\blib\lib/Net/Server/Proto.pm line 195.
 at line 317
# Failed at line 317
not ok 35 - run ( proto => 'ssleay' )  ==>  [ '' ]
#   failed at t\Port_Configuration.t line 72
#        got: {
  bind => undef
}
#   expected: {
  bind => [{
  host => '*',
  ipv => 4,
  port => 20203,
  proto => 'ssleay'
}],
  sock => [{
  NS_host => '*',
  NS_ipv => 4,
  NS_listen => 2147483647,
  NS_port => 20203,
  NS_proto => 'SSLEAY',
  SSL_cert_file => 'somecert'
}]
}
Failed 17/51 subtests
t\SSLEAY_test.t ...........
1..4
ok 1 - Can fork on this platform
ok 2 - Got needed ports (20200 20201)
ok 3 - Pipe works
# Cannot load SSLEAY library on this platform: Could not access Fcntl constant while loading Net::Server::Proto::SSLEAY: Your vendor has not defined Fcntl macro F_GETFL, used at C:\ST5EA9~1\data\.cpanm\work\1685326113.35108\Net-Server-2.014\blib\lib/Net/Server/Proto/SSLEAY.pm line 33
BEGIN failed--compilation aborted at C:\ST5EA9~1\data\.cpanm\work\1685326113.35108\Net-Server-2.014\blib\lib/Net/Server/Proto/SSLEAY.pm line 34.
Compilation failed in require at t\SSLEAY_test.t line 15.
ok 4 # skip Skipping tests on this platform
ok

@Grinnz
Copy link

Grinnz commented May 29, 2023

The current Strawberry 5.36.1 builds disable symlinks due to test failures of other modules.

#d_symlink => 'undef', # many cpan modules fail tests when defined

It would seem lib::relative needs to modify its skip checks in that test, perhaps adapting the code in Path::Tiny https://github.com/dagolden/Path-Tiny/blob/7a84e3c6952e8d27e3963c92e6087aac36534451/t/lib/TestUtils.pm#L26-L41

The solution/workaround for now is to install it as part of the build process, skipping that test file.

I'm happy to modify the tests if that would help. Would you mind opening an issue at https://github.com/Grinnz/lib-relative/issues

@shawnlaffan
Copy link
Contributor

I'm happy to modify the tests if that would help. Would you mind opening an issue at https://github.com/Grinnz/lib-relative/issues

Thanks @book. I've opened an issue.

@shawnlaffan
Copy link
Contributor

The File::NFSLock and MCE fails above look like they could be related to the same underlying cause behind the vmem changes. Similar for Tk (after the symbol clash is fixed), PDL::Graphics::PLplot and OpenGL.

If so then maybe more alignment checks are needed, possibly in perl and possibly in the modules?

@sisyphus - are you able to replicate the MCE and File::NFSLock failures on your builds of 5.36 and 5.37?

@sisyphus
Copy link

MCE fails for me on both x64 perl-5.36 (gcc-11.3.0) and perl-5.37(gcc-12.2.0, gcc-13.1.0), but there's no problem with building MCE on the x86 builds of 5.36 and 5.37 that I've tried.
This leads me to think that it may well be a problem with memory alignment - as that issue doesn't affect 32-bit builds AFAICT.
Has @marioroy been made aware of this problem ? He's usually quite responsive about MCE issues.

Here's what I get on the x64 builds:

Test Summary Report
-------------------
t/02_do_callback_args.t      (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/02_do_callback_result.t    (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/03_chunk_size.t            (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/03_max_workers.t           (Wstat: 256 (exited 1) Tests: 24 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/03_user_args.t             (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/04_channel_simple.t        (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/04_channel_simplefast.t    (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/04_channel_threads.t       (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/04_channel_threads_mp.t    (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/04_channel_threadsfast.t   (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/04_channel_threadsfast_mp.t (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/04_norm_que_worker.t       (Wstat: 256 (exited 1) Tests: 2 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/04_prio_que_worker.t       (Wstat: 256 (exited 1) Tests: 2 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/05_mce_child.t             (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/05_mce_child_max_workers.t (Wstat: 1280 (exited 5) Tests: 4 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t/05_mce_flow.t              (Wstat: 256 (exited 1) Tests: 2 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/05_mce_grep.t              (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/05_mce_loop.t              (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/05_mce_map.t               (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/05_mce_step.t              (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/05_mce_stream.t            (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/06_nodata_flow.t           (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/06_nodata_step.t           (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
t/06_relay.t                 (Wstat: 256 (exited 1) Tests: 1 Failed: 0)
  Non-zero exit status: 1
  Parse errors: No plan found in TAP output
Files=39, Tests=195, 255 wallclock secs ( 0.03 usr +  0.00 sys =  0.03 CPU)
Result: FAIL
Failed 24/39 test programs. 0/195 subtests failed.
make.EXE: *** [Makefile:922: test_dynamic] Error 1

Most of those failing test scripts are ones that hung, and were then terminated by me using Process Explorer.
But some of them segfaulted and terminated themselves.
Running those test scripts outside of the test harness made no difference, though I only tried running 3 of them.

OTOH File::NFSLock seems to throw up the same errors on both 32-bit and 64-bit perls, so I think the problem there is likely a different issue.

All of the t/*fork_ex.t and t/*fork_sh.t files fail their final test for me.
And running those test scripts outside of the test harness makes no difference.

AIUI, none of the segfaulting modules that weren't fixed by the vmem.h patch have been fixed .... so what's needed is rather speculative.

With my MSVC builds (Visual Studio 2022) of perl, MCE and File::NFSLock behave in pretty much the same way as they do on the mingw-w64 builds.
MCE is fine on x86 builds, but tests segfault on x64 builds, while File::NFSLock tests segfault on both x64 and x86 builds.
Hence, we can say that these issues are not specific to mingw-w64 compilers.

Cheers,
Rob

@marioroy
Copy link

The ioctl call (inside MCE::Util) is the root cause for MCE failing or seg-faulting, running Perl 5.36.1.1 64-bit portable edition.

https://metacpan.org/dist/MCE/source/lib/MCE/Util.pm#L284

my $val_bytes = "\x00\x00\x00\x00";
my $ptr_bytes = unpack('I', pack('P', $val_bytes));
ioctl($socket, 0x4004667f, $ptr_bytes);

MCE will not work on the Windows platform $^O eq 'MSWin32' without _sock_ready or the ability to check if the socket is ready. The following resolves ioctl seg-faulting.

my $val_bytes = pack('L', 0);
ioctl($socket, 0x4004667f, $val_bytes);  # FIONREAD
return '' if unpack('L', $val_bytes);

Some tests are still failing. Looking deeper.

@marioroy
Copy link

marioroy commented May 30, 2023

With the ioctl issue resolved locally, all MCE tests pass and zero failures. However, I do not understand the non-zero exit status: 5.

Test Summary Report
-------------------
t\04_channel_simple.t        (Wstat: 1280 (exited 5) Tests: 24 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\04_channel_simplefast.t    (Wstat: 1280 (exited 5) Tests: 19 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\04_channel_threads.t       (Wstat: 1280 (exited 5) Tests: 24 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\04_channel_threads_mp.t    (Wstat: 1280 (exited 5) Tests: 24 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\04_channel_threadsfast.t   (Wstat: 1280 (exited 5) Tests: 19 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\04_channel_threadsfast_mp.t (Wstat: 1280 (exited 5) Tests: 19 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\05_mce_child.t             (Wstat: 1280 (exited 5) Tests: 3 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
t\05_mce_child_max_workers.t (Wstat: 1280 (exited 5) Tests: 4 Failed: 0)
  Non-zero exit status: 5
  Parse errors: No plan found in TAP output
Files=39, Tests=458, 25 wallclock secs ( 0.14 usr +  0.03 sys =  0.17 CPU)
Result: FAIL

@marioroy
Copy link

marioroy commented May 30, 2023

I am delighted to report the next MCE 1.885 and MCE::Shared 1.881 updates pass running Perl 5.36.1.1 64-bit portable edition.

@shawnlaffan
Copy link
Contributor

Thanks @marioroy - much appreciated.

If you can provide a general description of the root cause then that will likely help when reporting issues with other modules.

@sisyphus - thanks for the diagnoses. I'll flag File::NFSLock as a non-blocker.

@marioroy
Copy link

marioroy commented May 31, 2023

MCE 1.885 and MCE::Shared 1.881 have been released.

If you can provide a general description of the root cause then that will likely help when reporting issues with other modules.

The root cause, in the case of MCE, is ioctl not reliable using a pointer to an unsigned integer. For example, ioctl($socket, FIONREAD, $ptr_bytes). Passing the packed value ioctl($socket, FIONREAD, $val_bytes) resolved the issue in MCE::Util (_sock_ready, _nonblocking) and MCE::Shared::Server (server loop). I also changed the pack template from I (unsigned integer) to L (unsigned long).

@shawnlaffan
Copy link
Contributor

Thanks again @marioroy

MCE and MCE::Shared now pass all tests with the current dev version of SP5.36.1.

@marioroy
Copy link

marioroy commented May 31, 2023

@shawnlaffan. I did a couple of changes and thought to track down which is it that resolved the issue or both. Item 1 was done first followed by item 2.

Earlier testing:

  1. Changing the pack template from I (unsigned integer) to L (unsigned long) did not resolve the issue. Edit: This was not necessary.
  2. So, I next tried passing a packed value versus a pointer. This resolved the issue. Unfortunately, I did not revert item 1 at the time.

Summary:

  1. unsigned integer or unsigned long work in the case of MCE's use of ioctl. I'm leaving MCE 1.885 and MCE::Shared 1.881 as is, using (unsigned long). MCE's use case of ioctl is a one item structure.
  2. Passing a pointer to ioctl was the sole reason why failing running Strawberry Perl 5.36.1.

@sisyphus
Copy link

Changing the pack template from I (unsigned integer) to L (unsigned long) did not resolve the issue

Both 'int' and 'long' are always 32 bits on both Win32 && Win64 - so I think no change is to be expected.

Interestingly, the pack documentation says:

....
                l  A signed long (32-bit) value.
                L  An unsigned long value.
....
                i  A signed integer value.
                I  An unsigned integer value.
                     (This 'integer' is _at_least_ 32 bits wide.  Its exact
                      size depends on what a local C compiler calls 'int'.)

If that is to believed, and L (like its lower case l) is also 32-bit, then it looks to me that changing from I to L is going to make no difference on all operating systems - at least on the various systems that I know of.

Do I misunderstand something ?

In any case, execellent work @marioroy !!

Cheers,
Rob

@marioroy
Copy link

marioroy commented May 31, 2023

then it looks to me that changing from I to L is going to make no difference on all operating systems

I apologize for the confusion. Initially, I changed from I to L and not yet item 2 during earlier testing. Item 2 (passing a pointer to ioctl) is the sole reason, in the case of MCE, tests failing running Strawberry Perl 5.36.1.1.

# not okay
my $val_bytes = pack('L', 0);
my $ptr_bytes = unpack('L', pack('P', $val_bytes));
ioctl($socket, 0x4004667f, $ptr_bytes);  # MSWin32 FIONREAD, segfault/IPC hang

# okay, I or L
my $val_bytes = pack('L', 0);
ioctl($socket, 0x4004667f, $val_bytes);  # MSWin32 FIONREAD
# not okay
my $nonblocking = $_[1] ? pack('L', 1) : pack('L', 0);
my $ptr_bytes = unpack('L', pack('P', $nonblocking));
ioctl($socket, 0x8004667e, $ptr_bytes);  # MSWin32 FIONBIO, segfault/IPC hang

# okay, I or L
my $nonblocking = $_[1] ? pack('L', 1) : pack('L', 0);
ioctl($socket, 0x8004667e, $nonblocking);  # MSWin32 FIONBIO

shawnlaffan added a commit that referenced this issue Jun 4, 2023
String::Escape has Makefile.PL extras that cause infinite loops.
Remove those as they are for development not building.

Test::MockObject t/extends.t failures are probably related to
Portable.pm and have been reported upstream.

Updates #103
@shawnlaffan
Copy link
Contributor

lib::relative, Specio::Library::Path::Tiny and File::Next all install cleanly when using Perl 5.38.0 RC1.

The question is whether we try to patch 5.36.1 (if we can locate the correct patches) or leave them as known issues.

@sisyphus
Copy link

lib::relative, Specio::Library::Path::Tiny and File::Next all install cleanly when using Perl 5.38.0 RC1

@shawnlaffan, Is it important that they pass for me, too ? ... or is the fact that they build ok for you in your development environment all that really matters ?

File::Next does not install cleanly for me on Windows 11 with SP-5.38.0.1-RC1:

t/follow.t ........ # t/follow.t is working with temp directory \l9Twe7lj5w
Unable to create symlink \l9Twe7lj5w/dir: Operation not permitted at t/follow.t line 57.
# Looks like your test exited with 1 before it could output anything.
t/follow.t ........ Dubious, test returned 1 (wstat 256, 0x100)

lib::relative also fails in a similar way:

t/lib_relative.t ....... 1/? symlink failed: Operation not permitted at t/lib_relative.t line 48.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 1 just after 6.
t/lib_relative.t ....... Dubious, test returned 1 (wstat 256, 0x100)

as, too, does Specio::Library::Path::Tiny :

t/basic.t .............. Operation not permitted at t/basic.t line 98.
t/basic.t .............. Dubious, test returned 1 (wstat 256, 0x100)

I guess there might be things I could do to my build environment that would allow those tests to pass but, ideally, I think those tests scripts should detect the incapacity in my environment, and skip those failing tests.

Cheers,
Rob

@shawnlaffan
Copy link
Contributor

@shawnlaffan, Is it important that they pass for me, too ? ... or is the fact that they build ok for you in your development environment all that really matters ?

Thanks for checking.

The 5.38 checks I ran were on the build system (on a docker instance). I'll check with a downloaded version on a local drive but would not be surprised if the failures arose again.

If that's the case then the tests still need updating/skipping.

@shawnlaffan
Copy link
Contributor

The items in the list of issues in #103 (comment) are now either resolved, skipped or not a Strawberry Perl problem.

I'll close this issue now. If new problems or solutions are identified then they can be raised as new issues.

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

No branches or pull requests

5 participants