dagolden / Capture-Tiny

(Perl) Capture STDOUT and STDERR from Perl, XS or external programs
http://search.cpan.org/dist/Capture-Tiny/
39 stars 19 forks source link

tests fail when run in parallel #18

Open karenetheridge opened 10 years ago

karenetheridge commented 10 years ago

This happened on a new 5.10.1 install:

cpanm (App::cpanminus) 1.7001 on perl 5.010001 built for darwin-2level
Work directory is /Users/ether/.cpanm/work/1401922622.31556
You have make /usr/bin/make
You have LWP 6.06
You have /usr/bin/tar: bsdtar 2.6.2 - libarchive 2.6.2
You have /usr/bin/unzip
Checking if you have ExtUtils::MakeMaker 6.31 ... Yes (6.55_02)
Checking if you have ExtUtils::Install 1.46 ... Yes (1.54)
Searching Capture::Tiny on mirror http://mirrors.gossamer-threads.com/CPAN ...
Downloading index file http://mirrors.gossamer-threads.com/CPAN/modules/02packages.details.txt.gz ...
Uncompressing index file...
--> Working on Capture::Tiny
Fetching http://mirrors.gossamer-threads.com/CPAN/authors/id/D/DA/DAGOLDEN/Capture-Tiny-0.24.tar.gz
-> OK
Unpacking Capture-Tiny-0.24.tar.gz
Entering Capture-Tiny-0.24
Checking configure dependencies from META.json
Checking if you have ExtUtils::MakeMaker 6.17 ... Yes (6.55_02)
Configuring Capture-Tiny-0.24
Running Makefile.PL
Checking if your kit is complete...
Looks good
Writing Makefile for Capture::Tiny
-> OK
Finding PREREQ from Makefile ...
Checking if you have warnings 0 ... Yes (1.06)
Checking if you have Scalar::Util 0 ... Yes (1.21)
Checking if you have IO::File 0 ... Yes (1.14)
Checking if you have version 0 ... Yes (0.9908)
Checking if you have IO::Handle 0 ... Yes (1.28)
Checking if you have File::Spec 0 ... Yes (3.30)
Checking if you have ExtUtils::MakeMaker 0 ... Yes (6.55_02)
Checking if you have Exporter 0 ... Yes (5.63)
Checking if you have Carp 0 ... Yes (1.11)
Checking if you have strict 0 ... Yes (1.04)
Checking if you have Test::More 0.62 ... Yes (1.001003)
Checking if you have List::Util 0 ... Yes (1.21)
Checking if you have File::Temp 0 ... Yes (0.22)
Checking if you have lib 0 ... Yes (0.62)
Checking if you have File::Spec::Functions 0 ... Yes (3.30)
Building and testing Capture-Tiny-0.24
cp lib/Capture/Tiny.pm blib/lib/Capture/Tiny.pm
Manifying blib/man3/Capture::Tiny.0
PERL_DL_NONLAZY=1 /Users/ether/perl5/perlbrew/perls/10.1/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
t/01-Capture-Tiny.t ........ ok
t/09-preserve-exit-code.t .. ok
# 
# Versions for all modules listed in static metadata (including optional ones):
#    Version Module                  
#   -------- ------------------------
#   2.141520 CPAN::Meta              
#      2.125 CPAN::Meta::Requirements
#       1.11 Carp                    
#       5.63 Exporter                
#    6.55_02 ExtUtils::MakeMaker     
#       3.30 File::Spec              
#       3.30 File::Spec::Functions   
#       0.22 File::Temp              
#       1.14 IO::File                
#       1.28 IO::Handle              
#    missing Inline                  
#       1.21 List::Util              
#       1.21 Scalar::Util            
#   1.001003 Test::More              
#       0.62 lib                     
#       1.04 strict                  
#     0.9908 version                 
#       1.06 warnings                
t/00-report-prereqs.t ...... ok

#   Failed test 'tee|sys|nooutput|multiline - got STDOUT'
#   at t/lib/Cases.pm line 22.
#          got: 'Operation not permitted at -e line 4.
# '
#     expected: ''
t/02-capture.t ............. ok
# Looks like you failed 1 test of 541.
t/03-tee.t ................. 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/541 subtests 

#   Failed test 'tee_stderr|perl|nooutput|short - inner STDOUT'
#   at t/lib/Cases.pm line 22.
#          got: 'Operation not permitted at -e line 4.
# '
#     expected: ''
t/06-stdout-closed.t ....... ok
t/07-stderr-closed.t ....... ok
t/11-stderr-string.t ....... ok
# Looks like you failed 1 test of 872.
t/08-stdin-closed.t ........ 
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/872 subtests 
t/13-stdout-tied.t ......... ok
t/16-catch-errors.t ........ ok
t/10-stdout-string.t ....... ok
t/17-pass-results.t ........ ok
t/12-stdin-string.t ........ ok
t/19-inline-c.t ............ skipped: Inline module required
t/18-custom-capture.t ...... ok
t/14-stderr-tied.t ......... ok
t/20-stdout-badtie.t ....... ok
t/21-stderr-badtie.t ....... ok
t/22-stdin-badtie.t ........ ok
t/15-stdin-tied.t .......... ok
t/24-all-badtied.t ......... ok
t/23-all-tied.t ............ ok

Test Summary Report
-------------------
t/03-tee.t               (Wstat: 256 Tests: 541 Failed: 1)
  Failed test:  65
  Non-zero exit status: 1
t/08-stdin-closed.t      (Wstat: 256 Tests: 872 Failed: 1)
  Failed test:  632
  Non-zero exit status: 1
Files=23, Tests=11996, 50 wallclock secs ( 2.07 usr  0.27 sys + 28.12 cusr 32.27 csys = 62.73 CPU)
Result: FAIL
Failed 2/23 test programs. 2/11996 subtests failed.
make: *** [test_dynamic] Error 255
-> FAIL Installing Capture::Tiny failed. See /Users/ether/.cpanm/work/1401922622.31556/build.log for details. Retry with --force to force install it.
Expiring 37 work directories.

HARNESS_OPTIONS was j9. when I ran tests with HARNESS_OPTIONS cleared, they passed.

dagolden commented 10 years ago

Thanks for the report. I need to start running tests in parallel more often myself.

karenetheridge commented 10 years ago

This has never happened before though (I'd notice, as Capture::Tiny is a prereq of App::cpanminus::reporter, so failure to install cpanm-reporter is really obvious), in ~20 perl installs on various machines. This may be the first time with 5.10.1 though, so that might be relevant.

dagolden commented 10 years ago

What's weird is that it's probably having problems opening a tempfile:

sysopen(my $fh, qq{$fn}, O_WRONLY|O_CREAT|O_EXCL) or die $!;

Is it repeatable?

karenetheridge commented 10 years ago

Content preview: On Wed, Jun 04, 2014 at 06:38:42PM -0700, David Golden wrote:

What's weird is that it's probably having problems opening a tempfile:

sysopen(my $fh, qq{$fn}, O_WRONLY|O_CREAT|O_EXCL) or die $!; > > Is it repeatable? [...]

Content analysis details: (2.6 points, 5.0 required)

pts rule name description


0.0 TVD_RCVD_IP Message was received from an IP address 2.6 RDNS_DYNAMIC Delivered to internal network by host with dynamic-looking rDNS X-ACL-Warn: !authenticated = * X-SA-Exim-Connect-IP: 69.50.167.197 X-SA-Exim-Mail-From: github@froods.org X-SA-Exim-Scanned: No (on www.lightspeed.ca); SAEximRunCond expanded to false

On Wed, Jun 04, 2014 at 06:38:42PM -0700, David Golden wrote:

What's weird is that it's probably having problems opening a tempfile:

sysopen(my $fh, qq{$fn}, O_WRONLY|O_CREAT|O_EXCL) or die $!;

Is it repeatable?

It seems to be, yes. Let me know if there's other code I can throw at this install.

karenetheridge commented 10 years ago

doh, got this again when installing 5.21.3! I was hoping I'd finally be able to get all the way through 'cpanm App::cpanminus::reporter Dist::Zilla::PluginBundle::Author::ETHER' without a failure.. shakes fist :)