NAME
Perlbug::Test - Perlbug testing module
DESCRIPTION
Utility functions for Perlbug test scripts, several wrappers for the email side of things...
Output is seen from output() when TEST_VERBOSE
is set to 1, or when the script is being run directly.
Will set mailing to 0, meaning mails will be printed, rather than sent.
Set the current admin to the userid of the local bugmaster.
SYNOPSIS
use Perlbug::Base;
use Perlbug::Test; # calls Test;
my $o_email = Perlbug::Base->new;
my $o_test = Perlbug::Test->new($o_base);
plan('todo' => 1);
my %header = ('To' => 'perlbug@perl.org');
my $o_int = $o_email->setup_int(\%header, 'mail body perl');
my ($switch, $msg) = $o_email->parse_mail($o_int);
if ($switch eq 'B') {
ok($test);
output("passed");
} else {
notok($test);
output("failed: $switch, $msg");
}
METHODS
- new
-
Create new Perlbug::Test object.
Sets current ( admin => $bugmaster, fatal => 0, isatest => 1 ):
my $o_test = Perlbug::Test->new(); # generic my $o_email_test = Perlbug::Test->new($o_email); # guess :-)
- output
-
prints given args with newline, warns if $Perlbug::DEBUG set
output("message");
- compare
-
Compare two arrays: returns 1 if identical, 0 if not.
my $identical = $o_test->compare(\@arry1, \@arry2);
Utilities
Provides mapping for default email content, passes back up to $o_email.
target
my $random_target_address = $o_test->target
forward
my $random_forward_address = $o_test->forward
AUTOLOAD
Tends to return member variables or, (where this is not supported), wraps any unhandlable calls to $o_arg->$meth(), where $o_arg is the Perlbug::Interface::Xxx->new object given by new() (see above);
- bugdb
-
my $bugdb = $o_test->email('bugdb');
- bugid
-
my $test_bugid = $o_test->bugid
- domain
-
my $test_domain = $o_test->domain
- body
-
my $test_body = $o_test->body
- etc.
-
and so on
REDUNDANT
- iseven
-
Return 0(odd) or 1(even) based on last number of given filename
my $num = iseven($filename);
- isodd
-
Return 1(odd) or 0(even) based on last number of given filename
my $num = isodd($filename);
- okbyfilearg
-
Return 1(ok) or 0(not) based on filename and arg, where arg just has to be successful in some way.
$i_isok = okbyfilearg('test0.tst', 1); # false (0) $i_isok = okbyfilearg('test1.tst', 1); # true (1) $i_isok = okbyfilearg('test2.tst', 0); # true (1) $i_isok = okbyfilearg('test3.tst', 0); # false (0)
- get_tests
-
Wraps getting test material filenames from test directory, incorporates test count and check that all expected types are found.
my @tests = get_tests($t_dir, qw(this that and the other));
Fails if expected directory list or any files not found.
- file2minet
-
Return Mail Iinternet object from dir,file:
Or undef:
my $o_int = file2minet($filename);
- minet2args
-
Wrapper to return args from Mail Internet object, ready for method check_mail(@args)
Or ();
my @args = minet2args($o_int);
- minet2tagline
-
Returns X-Perlbug-Tag and X-Perlbug-Line headers from Mail Internet object:
Or ();
Instead of:
my ($o_hdr, $header, $body) = $self->splice($o_int); my $tag = $o_hdr->get('X-Perlbug-Tag') || ''; my $line = $o_hdr->get('X-Perlbug-Line') || '';
You can:
my ($tag, $line) = minet2tagline($o_int);
- check_mail
-
Check headers against various given parameters, attempts to read all required lines/data.
my ($o_hdr, $header, $body) = $o_mail->splice($o_int); my @should = $o_hdr->get('X-Perlbug-Match'); my @shouldnt = $o_hdr->get('X-Perlbug-Match-Non'); my @shouldfail = $o_hdr->get('X-Perlbug-Match-Bad'); ($i_ok, $feedback) = $o_bugmail->check_mail($o_new, $body, \@should, \@shouldnt, \@shouldfail); warn "Mail check failure($i_ok): ($feedback)\n" unless $i_ok == 1;
AUTHOR
Richard Foley perlbug@rfi.net 2000 2001
3 POD Errors
The following errors were encountered while parsing the POD:
- Around line 194:
You can't have =items (as at line 198) unless the first thing after the =over is an =item
- Around line 240:
'=item' outside of any '=over'
- Around line 281:
You forgot a '=back' before '=head1'