reneeb / Mojolicious-Plugin-Prove

Run single test files in Mojolicious.
0 stars 1 forks source link

t/basic.t fails #5

Open eserte opened 1 year ago

eserte commented 1 year ago

On fairly new systems (e.g. with perl 5.36.0 or perl 5.37.4 installed) the test suite fails like this:

...
t/author-pod-syntax.t .... skipped: these tests are for testing by the author
# 9.26
The ?format=* parameter is deprecated in favor of ?_format=* for content negotiation at lib/Mojolicious/Plugin/Prove/Controller.pm line 107.
The ?format=* parameter is deprecated in favor of ?_format=* for content negotiation at lib/Mojolicious/Plugin/Prove/Controller.pm line 107.

#   Failed test at t/basic.t line 114.
#          got: "/home/cpansand/.cpan/build/2022101618/Mojolicious-"...
#       length: 484
#     doesn't match '(?^u:Test Summary Report\s+-------------------\s+.*?02_fail.t \(Wstat: 256 Tests: 1 Failed: 1\)\s+  Failed test:  1\s+  Non-zero exit status: 1\s+Files=1, Tests=1, .*\s+Result: FAIL)'
# Looks like you failed 1 test of 19.
t/basic.t ................ 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/19 subtests 
...
eserte commented 6 months ago

Using like_string() here is problematic, as it hides the actual program. If I replace it with a normal like(), then the problem is visible:

t/basic.t ................ # 9.35
t/basic.t ................ 1/? The ?format=* parameter is deprecated in favor of ?_format=* for content negotiation at lib/Mojolicious/Plugin/Prove/Controller.pm line 107.
The ?format=* parameter is deprecated in favor of ?_format=* for content negotiation at lib/Mojolicious/Plugin/Prove/Controller.pm line 107.

#   Failed test at t/basic.t line 114.
#                   '/home/cpansand/.cpan/build/2023122809/Mojolicious-Plugin-Prove-0.11-0/t/../test/02_fail.t .. 
# Dubious, test returned 1 (wstat 256, 0x100)
# Failed 1/1 subtests 
# 
# Test Summary Report
# -------------------
# /home/cpansand/.cpan/build/2023122809/Mojolicious-Plugin-Prove-0.11-0/t/../test/02_fail.t (Wstat: 256 (exited 1) Tests: 1 Failed: 1)
#   Failed test:  1
#   Non-zero exit status: 1
# Files=1, Tests=1,  0 wallclock secs ( 0.00 usr  0.01 sys +  0.04 cusr  0.01 csys =  0.06 CPU)
# Result: FAIL
# '
#     doesn't match '(?^u:Test Summary Report\s+-------------------\s+.*?02_fail.t \(Wstat: 256 Tests: 1 Failed: 1\)\s+  Failed test:  1\s+  Non-zero exit status: 1\s+Files=1, Tests=1, .*\s+Result: FAIL)'
# Looks like you failed 1 test of 19.
t/basic.t ................ Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/19 subtests 

So the ~Test::More (?)~ Test::Harness output changed (probably in version 3.44), there's an additional (exited 1) in the summary.