# New Ticket Created by  chromatic 
# Please include the string:  [perl #42230]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt3/Ticket/Display.html?id=42230 >


Parrot::Test reports tests that produce the right output but crash instead of 
exiting cleanly as successes.

The attached patch (not for applying) demonstrates the problematic lines.

Note that certain tests deliberately feed bad output to Parrot so that it will 
exit with a non-zero status.  Parrot::Test should support both goals 
simultaneously.

One option is to add an extra option to the test, such as:

        exit => 'unclean'

Another option is to generate additional test methods that ignore a non-zero 
exit code.

-- c

=== lib/Parrot/Test.pm
==================================================================
--- lib/Parrot/Test.pm	(revision 2659)
+++ lib/Parrot/Test.pm	(local)
@@ -515,7 +515,7 @@
 
             my $pass = $builder->$meth( $real_output, $expected, $desc );
             $builder->diag("'$cmd' failed with exit code $exit_code")
-                if $exit_code and not $pass;
+                if $exit_code;
 
             unless ( $ENV{POSTMORTEM} ) {
                 unlink $out_f;

Reply via email to