1*5759b3d2Safresh1#!/usr/bin/perl -w 2*5759b3d2Safresh1# HARNESS-NO-STREAM 3*5759b3d2Safresh1# HARNESS-NO-PRELOAD 4*5759b3d2Safresh1 5*5759b3d2Safresh1BEGIN { 6*5759b3d2Safresh1 if( $ENV{PERL_CORE} ) { 7*5759b3d2Safresh1 chdir 't'; 8*5759b3d2Safresh1 @INC = ('../lib', 'lib'); 9*5759b3d2Safresh1 } 10*5759b3d2Safresh1 else { 11*5759b3d2Safresh1 unshift @INC, 't/lib'; 12*5759b3d2Safresh1 } 13*5759b3d2Safresh1} 14*5759b3d2Safresh1 15*5759b3d2Safresh1use strict; 16*5759b3d2Safresh1 17*5759b3d2Safresh1require Test::Simple::Catch; 18*5759b3d2Safresh1my($out, $err) = Test::Simple::Catch::caught(); 19*5759b3d2Safresh1 20*5759b3d2Safresh1# Can't use Test.pm, that's a 5.005 thing. 21*5759b3d2Safresh1package My::Test; 22*5759b3d2Safresh1 23*5759b3d2Safresh1# This has to be a require or else the END block below runs before 24*5759b3d2Safresh1# Test::Builder's own and the ending diagnostics don't come out right. 25*5759b3d2Safresh1require Test::Builder; 26*5759b3d2Safresh1my $TB = Test::Builder->create; 27*5759b3d2Safresh1$TB->plan(tests => 2); 28*5759b3d2Safresh1 29*5759b3d2Safresh1sub is { $TB->is_eq(@_) } 30*5759b3d2Safresh1 31*5759b3d2Safresh1 32*5759b3d2Safresh1package main; 33*5759b3d2Safresh1 34*5759b3d2Safresh1require Test::Simple; 35*5759b3d2Safresh1Test::Simple->import(tests => 1); 36*5759b3d2Safresh1ok(1); 37*5759b3d2Safresh1ok(1); 38*5759b3d2Safresh1ok(1); 39*5759b3d2Safresh1 40*5759b3d2Safresh1END { 41*5759b3d2Safresh1 My::Test::is($$out, <<OUT); 42*5759b3d2Safresh11..1 43*5759b3d2Safresh1ok 1 44*5759b3d2Safresh1ok 2 45*5759b3d2Safresh1ok 3 46*5759b3d2Safresh1OUT 47*5759b3d2Safresh1 48*5759b3d2Safresh1 My::Test::is($$err, <<ERR); 49*5759b3d2Safresh1# Looks like you planned 1 test but ran 3. 50*5759b3d2Safresh1ERR 51*5759b3d2Safresh1 52*5759b3d2Safresh1 # Prevent Test::Simple from existing with non-zero 53*5759b3d2Safresh1 exit 0; 54*5759b3d2Safresh1} 55