Skip Menu |

This queue is for tickets about the FCGI-Engine CPAN distribution.

Report information
The Basics
Id: 69473
Status: resolved
Priority: 0/
Queue: FCGI-Engine

People
Owner: Nobody in particular
Requestors:
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: 0.18
Fixed in: (no value)



Subject: Use Config to find perl to run in FCGI/Engine/Manager/Server.pm
Hello and thanks for FCGI::Engine, I had to make a few changes to get tests to pass, here they are: FCGI-Engine-0.18/lib/FCGI/Engine/Manager/Server.pm 65c65,69 < return ("perl", --- Show quoted text
> use Config; > my $perl = $Config{perlpath}; > $perl .= $Config{_exe} if $^O ne 'VMS' and $perl !~
/$Config{_exe}$/i; Show quoted text
> > return ($perl,
FCGI-Engine-0.18/t/023_manager_w_plackup.t 21a22,33 Show quoted text
> eval > { > require File::Which; > File::Which->import(); > }; > my $plackup_which = 1; > if(! $@){ > $plackup_which = File::Which::which('plackup'); > } else { > $plackup_which = `which plackup`; > } > plan skip_all => "plackup must be available and executable for
this test" if(! $plackup_which); FCGI-Engine-0.18/t/101_plack_server_fcgi_engine_client.t 12,13c12,13 < eval "use Plack; use FCGI::Client;"; < plan skip_all => "Plack and FCGI::Client are required for this test" if $@; --- Show quoted text
> eval "use Plack; use FCGI::Client; use
Plack::App::FCGIDispatcher; "; Show quoted text
> plan skip_all => "Plack, FCGI::Client and
Plack::App::FCGIDispatcher are required for this test" if $@; FCGI-Engine-0.18/Makefile.PL 36a37 Show quoted text
> build_requires 'Plack::App::FCGIDispatcher';
As you probably tell my build/test environment is slightly unusual in terms of what $PATH contains (or does not). Hope this is of some use to you.
I don't see the need for the change in Makefile.PL if the test is being made optional? However, other than that - I have applied your patch (slightly modified) in a branch at: https://github.com/bobtfish/fcgi-engine/tree/rt69473 Can you check this out and verify that it works for you? Assuming it does, I will merge this into the mainline code and it will be fixed in the next release. Thanks for the bug report, and thanks in advance for the testing. Cheers t0m
Thanks. You are correct about having the build require Plack::App::FCGIDispatcher, it's not needed, that change was for our clean build so we maximize test coverage. These tests fail for me: t/020_basic_manager.t .................... 1/19 # Failed test 'use FCGI::Engine::Manager;' # at t/020_basic_manager.t line 19. # Tried to use 'FCGI::Engine::Manager'. # Error: Global symbol "%Config" requires explicit package name at bobtfish-fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 65. # Global symbol "%Config" requires explicit package name at bobtfish- fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 66. # Global symbol "%Config" requires explicit package name at bobtfish- fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 66. # Compilation failed in require at bobtfish-fcgi-engine- 37d03b5/blib/lib/FCGI/Engine/Manager.pm line 5. t/021_manager_opts.t ..................... Dubious, test returned 255 (wstat 65280, 0xff00) Failed 14/15 subtests 1..15 not ok 1 - use FCGI::Engine::Manager; # Failed test 'use FCGI::Engine::Manager;' # at t/021_manager_opts.t line 19. # Tried to use 'FCGI::Engine::Manager'. # Error: Global symbol "%Config" requires explicit package name at bobtfish-fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 65. # Global symbol "%Config" requires explicit package name at bobtfish- fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 66. # Global symbol "%Config" requires explicit package name at bobtfish- fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 66. # Compilation failed in require at bobtfish-fcgi-engine- 37d03b5/blib/lib/FCGI/Engine/Manager.pm line 5. # BEGIN failed--compilation aborted at bobtfish-fcgi-engine- 37d03b5/blib/lib/FCGI/Engine/Manager.pm line 5. # Compilation failed in require at (eval 39) line 2. # BEGIN failed--compilation aborted at (eval 39) line 2. t/022_more_manager_opts.t ................ 1/6 # Failed test 'use FCGI::Engine::Manager;' # at t/022_more_manager_opts.t line 19. # Tried to use 'FCGI::Engine::Manager'. # Error: Global symbol "%Config" requires explicit package name at bobtfish-fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 65. # Global symbol "%Config" requires explicit package name at bobtfish- fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 66. # Global symbol "%Config" requires explicit package name at bobtfish- fcgi-engine-37d03b5/blib/lib/FCGI/Engine/Manager/Server.pm line 66. # Compilation failed in require at bobtfish-fcgi-engine- 37d03b5/blib/lib/FCGI/Engine/Manager.pm line 5. # BEGIN failed--compilation aborted at bobtfish-fcgi-engine- 37d03b5/blib/lib/FCGI/Engine/Manager.pm line 5. # Compilation failed in require at (eval 39) line 2. # BEGIN failed--compilation aborted at (eval 39) line 2. They pass if I replace: sub construct_command_line { my $self = shift; my $perl = $Config{perlpath}; $perl .= $Config{_exe} if $^O ne 'VMS' and $perl !~ /$Config{_exe}$/i; return ($perl, with sub construct_command_line { my $self = shift; my $perl = $Config::Config{perlpath}; $perl .= $Config::Config{_exe} if $^O ne 'VMS' and $perl !~ /$Config::Config{_exe}$/i; return ($perl, Cheers.
+1 on this. My perl is in a not in my path. At the very least, I'd like the changes for lib/FCGI/Engine/Manager/Server.pm in this commit. https://github.com/bobtfish/fcgi- engine/commit/37d03b53f3edbe1b9faa612456bdacd65e7700a8#diff-0
I've applied a change which fixes this and released it as the latest version.