Thanks for your detailed response, Ovid. I have looked at Test::Class::Moose 
before, but our use case is slightly different from what I understand 
Test::Class::Moose is providing.

We’re using Perl to test a storage system and an example test case would for 
example be: “Write data to the storage system and after the I/O has started 
reboot the storage system”. So you see that these are not 2 independent test 
cases that we want to run in parallel but instead a single test case that uses 
multiple threads or processes – 1 process for the I/O and 1 process for the 
system operation. That’s where we use Test::ParallelSubtest which provides a 
simple interface to run test steps in parallel.

Regards,
Jan

From: Ovid [mailto:curtis_ovid_...@yahoo.com]
Sent: Wednesday, January 15, 2014 3:53 AM
To: Jan Seidel; perl-qa@perl.org
Subject: Re: New Test::Builder version broke Test::ParallelSubtest

Hi Jan,

For running multiple tests in parallel, I'm not sure if there is a 
"recommended" alternative, but the two which immediately sprint to mind are 
Fennec, by Chad Granum[1] and my Test::Class::Moose module[2], using the 
parallel role[2]. I've also uploaded a new slide deck for Test::Class:Moose[3] 
and it explains some new features, or you can watch a video about it (which is 
just a touch outdated, but all examples work)[4].

Note that for Test::Class::Moose, I've just uploaded 0.42. It fixes a subtle 
issue that one company ran into. You can wait for it to hit the CPAN or grab it 
from github[5].

  1.  
http://search.cpan.org/dist/Fennec/lib/Fennec.pm#RUNNING_FENNEC_TEST_FILES_IN_PARALLEL
  2.  
http://search.cpan.org/dist/Test-Class-Moose/lib/Test/Class/Moose/Role/Parallel.pm
  3.  http://www.slideshare.net/Ovid/testclassmoose
  4.  http://www.youtube.com/watch?v=S1Z5_Ba860g
  5.  https://github.com/Ovid/test-class-moose
I don't know much about Fennec, but the author seems competent and responsive. 
As for Test::Class::Moose, it's listed as BETA, but I know companies are 
already using it in production.

Best,
Ovid
--
IT consulting, training, international recruiting
       http://www.allaroundtheworld.fr/.
Buy my book! - http://bit.ly/beginning_perl
Live and work overseas - http://www.overseas-exile.com/

On Tuesday, 14 January 2014, 0:30, Jan Seidel 
<jan.sei...@skyera.com<mailto:jan.sei...@skyera.com>> wrote:
Hi,

I’m using the Test::ParallelSubtest module to run multiple tests in parallel. 
However, a change in Test::Builder now broke this module. Every bg_subtest 
block fails with an error like the following:

not ok 1 - parse child output for 'test 1 '
#   Failed test 'parse child output for 'test 1 ''
#   at 
/home/sciadmin/workspace/ws_jan_fw/util/nirvana/CPAN/lib/perl5/Test/ParallelSubtest.pm
 line 216.
# ERROR: bg_subtest "test 1 " (/home/…….. /jantest.t line 24) aborted:
#        Parsing failure in Test::ParallelSubtest - cannot parse:
#        [    # Subtest: test 1
# ok 1 - test 1
# ]

I looked at the changes in Test::Builder and found that this change introduced 
the error:
0.98_05  Tue Apr 23 17:33:51 PDT 2013
    New Features
    * A subtest will put its name at the front of its results to make
      subtests easier to read. [github #290] [github #364]
      (Brendan Byrd)


I’m now wondering how to solve this issue. It looks like Test::ParallelSubtest 
is not actively maintained. Is there a recommended alternative for it to run 
multiple tests in parallel?

Thanks,
Jan


Reply via email to