On Tue, Sep 18, 2001 at 06:26:03PM -0600, chromatic wrote: > In article <20010918185441.J585@blackrider>, "Michael G Schwern" > <[EMAIL PROTECTED]> wrote: > > > It's on my TODO list to decouple the guts of Test::Simple from the external > > functions, so it's easier to write Test modules based on it, but it's about > > two or three levels down on the list. > > What might this entail? If you can describe it in sufficient detail, I'd be > happy to take a poke at it.
Oh... basically having a Test::Builder object. The two main abilities being that it can do the basic ok() for you, and you can tell it how many call stacks to skip. I envision, for example, is() being rewritten like so: package Test::More; require Test::Builder; my $Test = Test::Builder->new; # Tell it there's one level of calls between it and where the real test # is coming from. $Test->caller(1); sub is ($$;$) { my($this, $that, $name) = @_; my $test; { local $^W = 0; $test = $this eq $that; } my $ok = $Test->ok($test, $name); unless( $ok ) { $this = defined $this ? "'$this'" : 'undef'; $that = defined $that ? "'$that'" : 'undef'; # diagnostic takes care of indenting and putting the # # on it for you. $Test->diagnostic(sprintf <<DIAGNOSTIC, $this, $that); got: %s expected: %s DIAGNOSTIC } return $ok; } Test::Simple would be almost entirely gutted and placed into Test::Builder. Test::Simple::ok() would become: $Test->caller(1); sub ok { return $Test->ok(@_); } Most of it's exit logic would be in Test::Builder::END() END { $Test->END; } In the end, most of Test::More's functions would be turned into Test::Builder methods as well, and Test::More becomes a thin wrapper. -- Michael G. Schwern <[EMAIL PROTECTED]> http://www.pobox.com/~schwern/ Perl6 Quality Assurance <[EMAIL PROTECTED]> Kwalitee Is Job One "Let's face it," said bearded Rusty Simmons, opening a can after the race. "This is a good excuse to drink some beer." At 10:30 in the morning? "Well, it's past noon in Dublin," said teammate Mike [Joseph] Schwern. "It's our duty." -- "Sure, and It's a Great Day for Irish Runners" Newsday, Sunday, March 20, 1988