Skip Menu |

This queue is for tickets about the Net-Async-Tangence CPAN distribution.

Report information
The Basics
Id: 131464
Status: patched
Priority: 0/
Queue: Net-Async-Tangence

People
Owner: Nobody in particular
Requestors: TEAM [...] cpan.org
Cc:
AdminCc:

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



Subject: Wrong perl executable in t/20connect-sshexec.t
If the system perl doesn't match the one used in tests, `t/20connect-sshexec.t` can fail - for example, unable to load some modules which are only installed for the `perl` executable that happened to be in the path for the test. Should probably use `$^X` rather than trying to exec the script directly?
On 2020-01-14 12:04:19, TEAM wrote: Show quoted text
> If the system perl doesn't match the one used in tests, `t/20connect- > sshexec.t` can fail - for example, unable to load some modules which > are only installed for the `perl` executable that happened to be in > the path for the test. > > Should probably use `$^X` rather than trying to exec the script > directly?
Same problem seems to exist with t/20connect-exec.t: ... Can't locate IO/Async/Loop.pm in @INC (you may need to install the IO::Async::Loop module) (@INC contains: /usr/home/cpansand/.cpan/build/2020011408/Net-Async-Tangence-0.15-0/blib/arch /usr/home/cpansand/.cpan/build/2020011408/Net-Async-Tangence-0.15-0/blib/lib /usr/home/cpansand/.cpan/build/2020011408/Net-Async-Tangence-0.15-0/blib/lib /usr/home/cpansand/.cpan/build/2020011408/Net-Async-Tangence-0.15-0/blib/arch /usr/local/lib/perl5/site_perl/mach/5.20 /usr/local/lib/perl5/site_perl /usr/local/lib/perl5/5.20/mach /usr/local/lib/perl5/5.20 /usr/local/lib/perl5/site_perl/5.20 /usr/local/lib/perl5/site_perl/5.20/mach .) at t/server.pl line 14. BEGIN failed--compilation aborted at t/server.pl line 14. Child exited unexpectedly (status=512, $!=) t/20connect-exec.t ..... No subtests run ... -> @INC indicates that the system perl is used here (FreeBSD's perl configuration lists directories with a component "mach"), but another perl was used to build & test the distribution.
On Tue Jan 14 12:04:19 2020, TEAM wrote: Show quoted text
> If the system perl doesn't match the one used in tests, `t/20connect- > sshexec.t` can fail - for example, unable to load some modules which > are only installed for the `perl` executable that happened to be in > the path for the test. > > Should probably use `$^X` rather than trying to exec the script > directly?
Ahyes, good point. Fixed by attached patch. -- Paul Evans
Subject: rt131464.patch
=== modified file 't/20connect-exec.t' --- old/t/20connect-exec.t 2017-12-09 14:00:24 +0000 +++ new/t/20connect-exec.t 2020-01-15 13:21:23 +0000 @@ -19,7 +19,7 @@ my $serverpath = "t/server.pl"; eval { - $client->connect_url( "exec:///$serverpath" )->get; 1; + $client->connect_url( "exec:///$^X?$serverpath" )->get; 1; } or plan skip_all => "Unable to exec $serverpath"; pass "Connected via EXEC"; === modified file 't/20connect-sshexec.t' --- old/t/20connect-sshexec.t 2017-12-09 14:22:10 +0000 +++ new/t/20connect-sshexec.t 2020-01-15 13:21:23 +0000 @@ -30,7 +30,7 @@ my $serverpath = File::Spec->rel2abs( "t/server.pl" ); -$client->connect_url( "sshexec://localhost/$serverpath" )->get; +$client->connect_url( "sshexec://localhost/$^X?$serverpath" )->get; pass "Connected via SSHEXEC"; wait_for { defined $client->rootobj };