I'm afraid your code won't work.
> package TestHarnessSubClass;
[snip]
> #This creates TestHarnessSubClass into a sub class of Test::Harness
> use base "Test::Harness";
[snip]
> sub runtests{
> my $self = shift;
[snip]
> $self->SUPER::runtests(@_);
> }
Okay, you've subclassed a functional module. But this means that you'll be passing
the package
name as the first argument, not a test name. This will generate a "this test does not
exist"
warning with the package name as the name of the first test that it's trying to run.
On a minor side note, $self in Perl typically refers to an instance. If this were a
proper class
method, $class would be a better name for that argument.
> use TestHarnessSubClass;
> TestHarnessSubClass::runtests('c:\perl\sample.t')
You subclassed Test::Harness, but here you are still calling this in a functional
manner (instead
of TestHarnessSubClass->runtests), which means that C:\perl\sample.t will be passed as
the first
argument. The "subclassed" runtests() method will assign that value to $self and you
will have
very disappointing results.
In short, don't try to subclass modules unless they're OO.
Cheers,
Ovid
=====
Hire me! http://users.easystreet.com/ovid/personal/resume.html
Silence is Evil http://users.easystreet.com/ovid/philosophy/indexdecency.htm
Ovid http://www.perlmonks.org/index.pl?node_id=17000
Web Programming with Perl http://users.easystreet.com/ovid/cgi_course/
__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com