summaryrefslogtreecommitdiff
path: root/lib/Test/Simple/t/harness_active.t
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Test/Simple/t/harness_active.t')
-rw-r--r--lib/Test/Simple/t/harness_active.t99
1 files changed, 99 insertions, 0 deletions
diff --git a/lib/Test/Simple/t/harness_active.t b/lib/Test/Simple/t/harness_active.t
new file mode 100644
index 0000000000..be4bb85087
--- /dev/null
+++ b/lib/Test/Simple/t/harness_active.t
@@ -0,0 +1,99 @@
+#!perl -w
+
+BEGIN {
+ if( $ENV{PERL_CORE} ) {
+ chdir 't';
+ @INC = ('../lib', 'lib');
+ }
+ else {
+ unshift @INC, 't/lib';
+ }
+}
+
+use strict;
+
+use Test::Simple::Catch;
+my($out, $err) = Test::Simple::Catch::caught();
+
+
+# Can't use Test.pm, that's a 5.005 thing.
+package My::Test;
+
+print "1..4\n";
+
+my $test_num = 1;
+# Utility testing functions.
+sub ok ($;$) {
+ my($test, $name) = @_;
+ my $ok = '';
+ $ok .= "not " unless $test;
+ $ok .= "ok $test_num";
+ $ok .= " - $name" if defined $name;
+ $ok .= "\n";
+ print $ok;
+ $test_num++;
+
+ return $test;
+}
+
+
+sub main::err ($) {
+ my($expect) = @_;
+ my $got = $err->read;
+
+ my $ok = ok( $got eq $expect );
+
+ unless( $ok ) {
+ print STDERR "got\n$got\n";
+ print STDERR "expected\n$expect\n";
+ }
+
+ return $ok;
+}
+
+
+package main;
+
+require Test::More;
+Test::More->import(tests => 4);
+Test::More->builder->no_ending(1);
+
+{
+ local $ENV{HARNESS_ACTIVE} = 0;
+
+#line 62
+ fail( "this fails" );
+ err( <<ERR );
+# Failed test ($0 at line 62)
+ERR
+
+#line 72
+ is( 1, 0 );
+ err( <<ERR );
+# Failed test ($0 at line 72)
+# got: '1'
+# expected: '0'
+ERR
+}
+
+{
+ local $ENV{HARNESS_ACTIVE} = 1;
+
+#line 71
+ fail( "this fails" );
+ err( <<ERR );
+
+# Failed test ($0 at line 71)
+ERR
+
+
+#line 84
+ is( 1, 0 );
+ err( <<ERR );
+
+# Failed test ($0 at line 84)
+# got: '1'
+# expected: '0'
+ERR
+
+}