mojolicious / mojo

:sparkles: Mojolicious - Perl real-time web framework
https://mojolicious.org
Artistic License 2.0
2.67k stars 580 forks source link

mingw-w64 on MSYS2 MINGW64 needs IO 1.51+ to pass tests of Mojolicious #2176

Open yuki-kimoto opened 6 months ago

yuki-kimoto commented 6 months ago

Steps to reproduce the behavior

cpanm Mojolicious

Expected behavior

All tests are passed.

Actual behavior

t/mojo/daemon.t ............................     # No tests run!

#   Failed test 'No tests run for subtest "Minimal application"'
#   at t/mojo/daemon.t line 36.
t/mojo/daemon.t ............................ 1/? IO::Poll::poll not implemented on this architecture at C:\msys64\home\kimot\.cpanm\work\1715129973.17512\Mojolicious-9.36\blib\lib/Mojo/Reactor/Poll.pm line 55.
# Tests were run but no plan was declared and done_testing() was not seen.
# Looks like your test exited with 255 just after 1.
t/mojo/daemon.t ............................ Dubious, test returned 255 (wstat 65280, 0xff00)

I installed latest IO module. This was fixed.

https://metacpan.org/dist/IO/changes

IO 1.51
    * Fix dist/IO/poll.h for mingw-w64 runtimes 9.0 and later

I think mingw-w64 needs IO 1.51+ to pass tests of Mojolicious.

jberger commented 6 months ago

I don't think there's anything we would do for that. https://docs.mojolicious.org/Mojolicious/Guides/FAQ#How-well-is-Windows-supported-by-Mojolicious

Can you reliably detect that it is mingw and not just windows? If so then in theory we could dynamcially inject the prereq but we don't do that in any other cases and to make an exception for one windows dist is going to be a tough sell.

yuki-kimoto commented 6 months ago

OK.

This problem will be resolved in the future because IO module is updated when Perl is updated.