lib/Test/Simple/t/00test_harness_check.t Test::Simple test
lib/Test/Simple/t/bad_plan.t Test::Builder plan() test
lib/Test/Simple/t/bail_out.t Test::Builder BAIL_OUT test
+lib/Test/Simple/t/BEGIN_use_ok.t Test::More use_ok() testing
lib/Test/Simple/t/buffer.t Test::Builder buffering test
lib/Test/Simple/t/Builder.t Test::Builder tests
lib/Test/Simple/t/carp.t Test::Builder test
use strict;
use vars qw($VERSION);
-$VERSION = '0.72';
+$VERSION = '0.74';
$VERSION = eval $VERSION; # make the alpha version come out as a number
# Make Test::Builder thread-safe for ithreads.
require Exporter;
@ISA = qw(Exporter);
-$VERSION = '0.72';
+$VERSION = '0.74';
use strict;
use strict;
use vars qw(@EXPORT $VERSION @ISA);
-$VERSION = "1.09";
+$VERSION = "1.11";
use Test::Builder;
use Symbol;
use vars qw($VERSION @ISA @EXPORT %EXPORT_TAGS $TODO);
-$VERSION = '0.72';
+$VERSION = '0.74';
$VERSION = eval $VERSION; # make the alpha version come out as a number
use Test::Builder::Module;
my($pack,$filename,$line) = caller;
- local($@,$!,$SIG{__DIE__}); # isolate eval
+ # Work around a glitch in $@ and eval
+ my $eval_error;
+ {
+ local($@,$!,$SIG{__DIE__}); # isolate eval
- if( @imports == 1 and $imports[0] =~ /^\d+(?:\.\d+)?$/ ) {
- # probably a version check. Perl needs to see the bare number
- # for it to work with non-Exporter based modules.
- eval <<USE;
+ if( @imports == 1 and $imports[0] =~ /^\d+(?:\.\d+)?$/ ) {
+ # probably a version check. Perl needs to see the bare number
+ # for it to work with non-Exporter based modules.
+ eval <<USE;
package $pack;
use $module $imports[0];
USE
- }
- else {
- eval <<USE;
+ }
+ else {
+ eval <<USE;
package $pack;
use $module \@imports;
USE
+ }
+ $eval_error = $@;
}
- my $ok = $tb->ok( !$@, "use $module;" );
+ my $ok = $tb->ok( !$eval_error, "use $module;" );
unless( $ok ) {
- chomp $@;
+ chomp $eval_error;
$@ =~ s{^BEGIN failed--compilation aborted at .*$}
{BEGIN failed--compilation aborted at $filename line $line.}m;
$tb->diag(<<DIAGNOSTIC);
Tried to use '$module'.
- Error: $@
+ Error: $eval_error
DIAGNOSTIC
}
use strict 'vars';
use vars qw($VERSION @ISA @EXPORT);
-$VERSION = '0.72';
+$VERSION = '0.74';
$VERSION = eval $VERSION; # make the alpha version come out as a number
use Test::Builder::Module;
+0.74 Thu Nov 29 15:39:57 PST 2007
+ Misc
+ - Add abstract and author to the meta information.
+
+0.73_01 Mon Oct 15 20:35:15 EDT 2007
+ Bug fixes
+ * Put the use_ok() fix from 0.71 back.
+
0.72 Wed Sep 19 20:08:07 PDT 2007
Bug unfixes
* The BEGIN { use_ok } fix for [rt.cpan.org 28345] revealed a small pile of
- mistakes in CPAN module test suites. Rolling the fix back to give the authors
- a bit of time to fix their tests.
+ mistakes in CPAN module test suites. Rolling the fix back to give the
+ authors a bit of time to fix their tests.
0.71 Thu Sep 13 20:42:36 PDT 2007
Bug fixes
- Removed dependency on Text::Soundex [rt.cpan.org 25022]
- Fixed a 5.5.x failure in fail-more.t
* Got rid of the annoying sort_bug.t test that revealed problems with some
- threaded perls. It was testing the deprecated eq_* functions and not worth the
- bother. Now it tests is_deeply(). [rt.cpan.org 17791]
+ threaded perls. It was testing the deprecated eq_* functions and not
+ worth the bother. Now it tests is_deeply(). [rt.cpan.org 17791]
Doc fixes
- Minor POD mistake in Test::Builder [rt.cpan.org 28869]
--- /dev/null
+#!/usr/bin/perl -w
+
+# [rt.cpan.org 28345]
+#
+# A use_ok() inside a BEGIN block lacking a plan would be silently ignored.
+
+BEGIN {
+ if( $ENV{PERL_CORE} ) {
+ chdir 't';
+ @INC = ('../lib', 'lib');
+ }
+ else {
+ unshift @INC, 't/lib';
+ }
+}
+
+use Test::More;
+
+my $result;
+BEGIN {
+ eval {
+ use_ok("Wibble");
+ };
+ $result = $@;
+}
+
+plan tests => 1;
+like $result, '/^You tried to run a test without a plan/';