Hi all!
These are some extra test files that I added to Test::Run, and possibly could
be integrated into Test::Harness after some modification:
t/output.t:
<<<<<<<<<<<<<<<<
#!/usr/bin/perl -w
BEGIN {
if( $ENV{PERL_CORE} ) {
chdir 't';
@INC = ('../lib', 'lib');
}
else {
unshift @INC, 't/lib';
}
}
use strict;
use Test::More tests => 2;
use Test::Run::Obj;
{
open ALTOUT, ">", "altout.txt";
open SAVEOUT, ">&STDOUT";
open STDOUT, ">&ALTOUT";
my $tester = Test::Run::Obj->new(
test_files => ["t/sample-tests/simple"],
);
$tester->runtests();
open STDOUT, ">&SAVEOUT";
close(SAVEOUT);
close(ALTOUT);
my $text = do { local $/; local *I; open I, "<", "altout.txt"; <I>};
# TEST
ok (($text =~ m/All tests successful\./), "'All tests successful.' string
as is");
}
# Run several tests.
{
open ALTOUT, ">", "altout.txt";
open SAVEOUT, ">&STDOUT";
open STDOUT, ">&ALTOUT";
my $tester = Test::Run::Obj->new(
test_files =>
[
"t/sample-tests/simple",
"t/sample-tests/head_end",
"t/sample-tests/todo",
],
);
$tester->runtests();
open STDOUT, ">&SAVEOUT";
close(SAVEOUT);
close(ALTOUT);
my $text = do { local $/; local *I; open I, "<", "altout.txt"; <I>};
# TEST
ok (($text =~ m/All tests successful/), "'All tests successful' (without
the period) string as is");
}
>>>>>>>>>>>>>>>>
t/test-failure-report.t:
<<<<<<<<<<<<<<<<
#!/usr/bin/perl -w
BEGIN {
if( $ENV{PERL_CORE} ) {
chdir 't';
@INC = ('../lib', 'lib');
}
else {
unshift @INC, 't/lib';
}
}
use strict;
use File::Spec;
my $Curdir = File::Spec->curdir;
my $SAMPLE_TESTS = $ENV{PERL_CORE}
? File::Spec->catdir($Curdir, 'lib', 'sample-tests')
: File::Spec->catdir($Curdir, 't', 'sample-tests');
use Test::More tests => 1;;
my $IsMacPerl = $^O eq 'MacOS';
my $IsVMS = $^O eq 'VMS';
# VMS uses native, not POSIX, exit codes.
# MacPerl's exit codes are broken.
my $die_estat = $IsVMS ? 44 :
$IsMacPerl ? 0 :
1;
use Test::Run::Obj;
open ALTOUT, ">", "altout.txt";
open SAVEOUT, ">&STDOUT";
open STDOUT, ">&ALTOUT";
my $tester = Test::Run::Obj->new(
test_files => ["t/sample-tests/simple_fail"]
);
eval {
$tester->runtests();
};
open STDOUT, ">&SAVEOUT";
close(SAVEOUT);
close(ALTOUT);
my $text = do { local $/; open I, "<", "altout.txt"; <I>};
my $right_text = <<"EOF";
t/sample-tests/simple_fail...FAILED tests 2, 5
Failed 2/5 tests, 60.00% okay
Failed Test Stat Wstat Total Fail Failed List of Failed
-------------------------------------------------------------------------------
t/sample-tests/simple_fail 5 2 40.00% 2 5
EOF
# TEST
is ($text, $right_text, "Testing for the right failure text");
>>>>>>>>>>>>>>>>
They may use a little cleaning up, but they were still absent from
Test::Harness. I believe I hit them when I accidently broke stuff, and then
fixed them while adding these tests.
Regards,
Shlomi Fish
---------------------------------------------------------------------
Shlomi Fish [EMAIL PROTECTED]
Homepage: http://www.shlomifish.org/
95% of the programmers consider 95% of the code they did not write, in the
bottom 5%.