cpan/Test-Simple/t/subtest/predicate.t Test::Builder tests
cpan/Test-Simple/t/subtest/singleton.t Test::More test
cpan/Test-Simple/t/subtest/todo.t Test::Builder tests
+cpan/Test-Simple/t/subtest/wstat.t Test::More test
cpan/Test-Simple/t/tbm_doesnt_set_exported_to.t Test::Builder::Module test
cpan/Test-Simple/t/Tester/tbt_01basic.t Test::Builder::Tester test
cpan/Test-Simple/t/Tester/tbt_02fhrestore.t Test::Builder::Tester test
'Test::Simple' =>
{
'MAINTAINER' => 'mschwern',
- 'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.97_01.tar.gz',
+ 'DISTRIBUTION' => 'MSCHWERN/Test-Simple-0.98.tar.gz',
'FILES' => q[cpan/Test-Simple],
'EXCLUDED' => [
qw{.perlcriticrc
+0.98 Wed, 23 Feb 2011 14:38:02 +1100
+ Bug Fixes
+ * subtest() should not fail if $? is non-zero. (Aaron Crane)
+
+ Docs
+ * The behavior of is() and undef has been documented. (Pedro Melo)
+
+
0.97_01 Fri Aug 27 22:50:30 PDT 2010
Test Fixes
* Adapted the tests for the new Perl 5.14 regex stringification.
use strict;
use warnings;
-our $VERSION = '0.97_01';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
BEGIN {
if( $self->{Child_Name} ) {
$self->croak("Can't call finalize() with child ($self->{Child_Name}) active");
}
+
+ local $? = 0; # don't fail if $subtests happened to set $? nonzero
$self->_ending;
# XXX This will only be necessary for TAP envelopes (we think)
Like Test::More's C<is()>. Checks if C<$got eq $expected>. This is the
string version.
+C<undef> only ever matches another C<undef>.
+
=item B<is_num>
$Test->is_num($got, $expected, $name);
Like Test::More's C<is()>. Checks if C<$got == $expected>. This is the
numeric version.
+C<undef> only ever matches another C<undef>.
+
=cut
sub is_eq {
require Exporter;
our @ISA = qw(Exporter);
-our $VERSION = '0.97_01';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
All arguments passed to import() are passed onto
C<< Your::Module->builder->plan() >> with the exception of
-C<import =>[qw(things to import)]>.
+C<< import =>[qw(things to import)] >>.
use Your::Module import => [qw(this that)], tests => 23;
package Test::Builder::Tester;
use strict;
-our $VERSION = "1.21_01";
+our $VERSION = "1.22";
use Test::Builder;
use Symbol;
package Test::Builder::Tester::Color;
use strict;
-our $VERSION = "1.21_01";
+our $VERSION = "1.22";
require Test::Builder::Tester;
return warn @_, " at $file line $line\n";
}
-our $VERSION = '0.97_01';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
use Test::Builder::Module;
ok( ultimate_answer() eq 42, "Meaning of Life" );
ok( $foo ne '', "Got some foo" );
+C<undef> will only ever match C<undef>. So you can test a value
+agains C<undef> like this:
+
+ is($not_defined, undef, "undefined as expected");
+
(Mnemonic: "This is that." "This isn't that.")
So why use these? They produce better diagnostics on failure. ok()
use strict;
-our $VERSION = '0.97_01';
+our $VERSION = '0.98';
$VERSION = eval $VERSION; ## no critic (BuiltinFunctions::ProhibitStringyEval)
use Test::Builder::Module;
is( $out, "not ok 40 - {x => 0} != {x => undef}\n" );
ok !is_deeply( {x => ''}, {x => undef}, "{x => ''} != {x => undef}" );
is( $out, "not ok 41 - {x => ''} != {x => undef}\n" );
-}
+}
\ No newline at end of file
--- /dev/null
+#!/usr/bin/perl -w
+
+# Test that setting $? doesn't affect subtest success
+
+use strict;
+use Test::More;
+
+subtest foo => sub {
+ plan tests => 1;
+ $? = 1;
+ pass('bar');
+};
+
+is $?, 1, "exit code keeps on from a subtest";
+
+subtest foo2 => sub {
+ plan tests => 1;
+ pass('bar2');
+ $? = 1;
+};
+
+is $?, 1, "exit code keeps on from a subtest";
+
+done_testing(4);
=item *
+C<IO> has been upgraded from version 1.25_03 to 1.25_04.
+
+=item *
+
C<JSON::PP> has been upgraded from version 2.27103 to 2.27104
=item *
-C<IO> has been upgraded from version 1.25_03 to 1.25_04.
+C<Test::Harness> has been upgraded from version 3.22 to 3.23
+
+=item *
+
+C<Test::Simple> has been upgraded from version 0.97_01 to 0.98
=back
=item *
-C<Test::Harness> has been upgraded from version 3.22 to 3.23
+XXX
=back