Grokbase Groups Perl qa November 2005
FAQ
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 shlomif@iglu.org.il
Homepage: http://www.shlomifish.org/

95% of the programmers consider 95% of the code they did not write, in the
bottom 5%.

Search Discussions

Related Discussions

Discussion Navigation
viewthread | post
posts ‹ prev | 1 of 1 | next ›
Discussion Overview
groupqa @
categoriesperl
postedNov 29, '05 at 6:03p
activeNov 29, '05 at 6:03p
posts1
users1
websiteqa.perl.org

1 user in discussion

Shlomi Fish: 1 post

People

Translate

site design / logo © 2021 Grokbase