Skip Menu |

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

Report information
The Basics
Id: 114376
Status: open
Priority: 0/
Queue: IO-Async

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

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



Subject: Tests sometimes fail
First time I install I got FAIL, I to into t/* dir and run failed test manually, but they are OK. I run install again and IO::Async is pass all tests Detail log: Running Build for P/PE/PEVANS/IO-Async-0.70.tar.gz Has already been unwrapped into directory /home/kes/.cpan/build/IO-Async-0.70-VVqkRy CPAN.pm: Building P/PE/PEVANS/IO-Async-0.70.tar.gz Building IO-Async PEVANS/IO-Async-0.70.tar.gz ./Build -- OK Running Build test t/00use.t .................... ok t/01timequeue.t .............. ok t/02os.t ..................... ok t/03loop-magic.t ............. ok t/04notifier.t ............... ok t/05notifier-loop.t .......... ok t/06notifier-mixin.t ......... ok t/07notifier-future.t ........ ok t/10loop-poll-io.t ........... ok t/10loop-select-io.t ......... ok t/11loop-poll-timer.t ........ ok t/11loop-select-timer.t ...... ok t/12loop-poll-signal.t ....... ok t/12loop-select-signal.t ..... ok t/13loop-poll-idle.t ......... ok t/13loop-select-idle.t ....... ok t/14loop-poll-child.t ........ ok t/14loop-select-child.t ...... ok t/15loop-poll-control.t ...... ok t/15loop-select-control.t .... ok t/18loop-poll-legacy.t ....... ok t/18loop-select-legacy.t ..... ok t/19loop-future.t ............ ok t/19test.t ................... ok t/20handle.t ................. ok t/21stream-1read.t ........... ok t/21stream-2write.t .......... ok t/21stream-3split.t .......... ok t/21stream-4encoding.t ....... ok t/22timer-absolute.t ......... ok t/22timer-countdown.t ........ ok t/22timer-periodic.t ......... ok t/23signal.t ................. ok t/24listener.t ............... ok t/25socket.t ................. ok t/26pid.t .................... ok t/27file.t ................... ok t/28filestream.t ............. ok t/30loop-fork.t .............. ok t/31loop-spawnchild.t ........ ok t/32loop-spawnchild-setup.t .. ok t/33process.t ................ ok t/34process-handles.t ........ ok t/35loop-openchild.t ......... ok t/36loop-runchild.t .......... ok t/37loop-child-root.t ........ skipped: not root t/38loop-thread.t ............ ok t/40channel.t ................ ok t/41routine.t ................ ok t/42function.t ............... ok t/50resolver.t ............... 23/? # Failed test '$future failed for missing host' # at t/50resolver.t line 320. # Failed test '->failure [1] gives resolve' # at t/50resolver.t line 321. # got: undef # expected: 'resolve' # Failed test '->failure [2] gives getaddrinfo' # at t/50resolver.t line 322. # got: undef # expected: 'getaddrinfo' # Failed test '->failure [3] gives EAI_NONAME' # at t/50resolver.t line 323. # got: undef # expected: '-2' # Looks like you failed 4 tests of 32. t/50resolver.t ............... Dubious, test returned 4 (wstat 1024, 0x400) Failed 4/32 subtests t/51loop-connect.t ........... ok t/52loop-listen.t ............ ok t/53loop-extend.t ............ ok t/60protocol.t ............... ok t/61protocol-stream.t ........ ok t/62protocol-linestream.t .... ok t/63handle-connect.t ......... ok t/64handle-bind.t ............ ok t/99pod.t .................... skipped: Test::Pod 1.00 required for testing POD Test Summary Report ------------------- t/50resolver.t (Wstat: 1024 Tests: 32 Failed: 4) Failed tests: 23-26 Non-zero exit status: 4 Files=60, Tests=1571, 104 wallclock secs ( 0.27 usr 0.10 sys + 3.09 cusr 1.25 csys = 4.71 CPU) Result: FAIL Failed 1/60 test programs. 4/1571 subtests failed. PEVANS/IO-Async-0.70.tar.gz ./Build test -- NOT OK //hint// to see the cpan-testers results for installing this module, try: reports PEVANS/IO-Async-0.70.tar.gz Running Build install make test had returned bad status, won't install without force kes@host:~/.cpan/build/IO-Async-0.70-VVqkRy/t$ perl 50resolver.t Can't locate IO/Async/Test.pm in @INC (you may need to install the IO::Async::Test module) (@INC contains: /home/kes/perl_lib/lib/perl5/x86_64-linux-gnu-thread-multi /home/kes/perl_lib/lib/perl5 /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at 50resolver.t line 6. BEGIN failed--compilation aborted at 50resolver.t line 6. kes@host:~/.cpan/build/IO-Async-0.70-VVqkRy/t$ perl -I../lib 50resolver.t ok 1 - '$loop->resolver' isa 'IO::Async::Resolver' ok 2 - '$future' isa 'Future' ok 3 - getpwuid from future ok 4 - getpwuid ok 5 - getpwuid via $loop->resolve ok 6 - getpwnam ok 7 - getprotobyname ok 8 - getprotobynumber ok 9 - getaddrinfo_array - resolved ok 10 - getaddrinfo_array - resolved addresses ok 11 - getaddrinfo_hash - resolved ok 12 - getaddrinfo_hash - resolved addresses ok 13 - $resolver->getaddrinfo - resolved ok 14 - $resolver->getaddrinfo - resolved addresses ok 15 - '$future for $resolver->getaddrinfo' isa 'Future' ok 16 - $resolver->getaddrinfo - resolved addresses ok 17 - $resolver->getaddrinfo on numeric host/service is synchronous ok 18 - $resolver->getaddrinfo resolved addresses synchronously ok 19 - $resolver->getaddrinfo passive - resolved synchronously ok 20 - $resolver->getaddrinfo passive - resolved addresses ok 21 - '$future for $resolver->getaddrinfo numerical' isa 'Future' ok 22 - $resolver->getaddrinfo resolved addresses synchronously ok 23 # skip Resolver has an answer for TbK4jM2M0OS.lm57DWIyu4i ok 24 - $resolver->getnameinfo - resolved ok 25 - $resolver->getnameinfo - resolved names ok 26 - $resolver->getnameinfo - resolved names from future ok 27 - $resolver->getnameinfo with numeric is synchronous ok 28 - $resolver->getnameinfo with numeric is synchronous for future ok 29 - $callcount 1 after ->resolve 1..29 kes@host:~/.cpan/build/IO-Async-0.70-VVqkRy/t$ cpan IO::Async Reading '/home/kes/.cpan/Metadata' Database was generated on Sat, 14 May 2016 08:17:02 GMT Running install for module 'IO::Async' Running make for P/PE/PEVANS/IO-Async-0.70.tar.gz Checksum for /home/kes/.cpan/sources/authors/id/P/PE/PEVANS/IO-Async-0.70.tar.gz ok CPAN.pm: Building P/PE/PEVANS/IO-Async-0.70.tar.gz Checking prerequisites... recommends: * IO::Socket::IP is not installed ERRORS/WARNINGS FOUND IN PREREQUISITES. You may wish to install the versions of the modules indicated above before proceeding with this installation Created MYMETA.yml and MYMETA.json Creating new 'Build' script for 'IO-Async' version '0.70' Building IO-Async PEVANS/IO-Async-0.70.tar.gz ./Build -- OK 'YAML' not installed, will not store persistent state Running Build test t/00use.t .................... ok t/01timequeue.t .............. ok t/02os.t ..................... ok t/03loop-magic.t ............. ok t/04notifier.t ............... ok t/05notifier-loop.t .......... ok t/06notifier-mixin.t ......... ok t/07notifier-future.t ........ ok t/10loop-poll-io.t ........... ok t/10loop-select-io.t ......... ok t/11loop-poll-timer.t ........ ok t/11loop-select-timer.t ...... ok t/12loop-poll-signal.t ....... ok t/12loop-select-signal.t ..... ok t/13loop-poll-idle.t ......... ok t/13loop-select-idle.t ....... ok t/14loop-poll-child.t ........ ok t/14loop-select-child.t ...... ok t/15loop-poll-control.t ...... ok t/15loop-select-control.t .... ok t/18loop-poll-legacy.t ....... ok t/18loop-select-legacy.t ..... ok t/19loop-future.t ............ ok t/19test.t ................... ok t/20handle.t ................. ok t/21stream-1read.t ........... ok t/21stream-2write.t .......... ok t/21stream-3split.t .......... ok t/21stream-4encoding.t ....... ok t/22timer-absolute.t ......... ok t/22timer-countdown.t ........ ok t/22timer-periodic.t ......... ok t/23signal.t ................. ok t/24listener.t ............... ok t/25socket.t ................. ok t/26pid.t .................... ok t/27file.t ................... ok t/28filestream.t ............. ok t/30loop-fork.t .............. ok t/31loop-spawnchild.t ........ ok t/32loop-spawnchild-setup.t .. ok t/33process.t ................ ok t/34process-handles.t ........ ok t/35loop-openchild.t ......... ok t/36loop-runchild.t .......... ok t/37loop-child-root.t ........ skipped: not root t/38loop-thread.t ............ ok t/40channel.t ................ ok t/41routine.t ................ ok t/42function.t ............... ok t/50resolver.t ............... ok t/51loop-connect.t ........... ok t/52loop-listen.t ............ ok t/53loop-extend.t ............ ok t/60protocol.t ............... ok t/61protocol-stream.t ........ ok t/62protocol-linestream.t .... ok t/63handle-connect.t ......... ok t/64handle-bind.t ............ ok t/99pod.t .................... skipped: Test::Pod 1.00 required for testing POD All tests successful. Files=60, Tests=1568, 103 wallclock secs ( 0.27 usr 0.11 sys + 3.40 cusr 0.99 csys = 4.77 CPU) Result: PASS PEVANS/IO-Async-0.70.tar.gz ./Build test -- OK Running Build install Building IO-Async Installing /home/kes/perl_lib/lib/perl5/IO/Async.pm ....
Dne So 14.Květen.2016 08:29:26, KES napsal(a): Show quoted text
> First time I install I got FAIL, I to into t/* dir and run failed test > manually, but they are OK.
[...] Show quoted text
> t/50resolver.t ............... 23/? > # Failed test '$future failed for missing host' > # at t/50resolver.t line 320. > > # Failed test '->failure [1] gives resolve' > # at t/50resolver.t line 321. > # got: undef > # expected: 'resolve' > > # Failed test '->failure [2] gives getaddrinfo' > # at t/50resolver.t line 322. > # got: undef > # expected: 'getaddrinfo' > > # Failed test '->failure [3] gives EAI_NONAME' > # at t/50resolver.t line 323. > # got: undef > # expected: '-2' > # Looks like you failed 4 tests of 32. > t/50resolver.t ............... Dubious, test returned 4 (wstat 1024, > 0x400)
I experience similar issue when outgoing DNS packets are silently discarded. With IO-Async-0.72, my glibc resolver times out after 40 seconds, but the test has shorter 10-second timeout, thus the test dies on a timeout instead of receiving no-domain error. See <https://bugzilla.redhat.com/show_bug.cgi?id=1563208#c5> for debugging and a patch.