Re: HOWTO: Writing Perl6 Tests (was: Project Start: Section 1)

[email protected] (Andrew Wilson)
Newsgroups perl.perl6.documentation
Message-ID <[email protected]>
On Mon, Nov 11, 2002 at 05:43:01PM -0800, Dave Whipp wrote:
> "Sean O'Rourke" <[email protected]> wrote in message 
>> One thing the "golden-output" has going for it is that it gets into
>> and out of perl6 as quickly as possible. In other words, it relies on
>> perl6/parrot to do just about the minimum required of it, then passes
>> verification off to outside tools (e.g. perl5). I realize they can be
>> fragile, but at least for the moment, we can't rely on a complete
>> perl6 Test::Foo infrastructure, and I think that in general, we
>> _shouldn't_ require such a thing for the very basic tests. Because if
>> we do, and something basic is broken, all the tests will break
>> because of it, making the bug-hunter's job much more difficult.
> 
> I see where you are coming from ... but is the IO infrastructure
> really the most primitive thing to rely on? It may be at the moment;
> but I expect that it will become more complex. C<print> may be a
> built-in right now; but it should probably move to a module later.

I/O is fairly fundamental, particularly for a language as heavily into
being glue as perl.  I can't see it not being core.

> If we can't rely on C<assert(0)> to kill a test (and C<assert(1) not to);
> then things are pretty badly broken (assuming that C<assert> exists).

Perl's tests are built on Test::More, it uses ok() and is() not
assert().  If we're going to be doing test cases for perl 6 then we
should do them using perl's standard testing format (i.e. Test::More,
Test::Harness, etc.) 

> If we are going to pick a very small subset on which almost all tests
> will depend ... isn't it better to pick the test-infrastructure itself
> to be that dependency; rather that some arbitrary module (like IO).

If your program can't do basic I/O it's probably pretty broken.  Even if
we we're to only rely on the test modules, they also need to be able to
communicate with the outside world.

andrew
-- 
Aries: (March 21 - April 19)
You'll soon find yourself in the midst of a power struggle, as two
corrupt and ruthless families fight for control of a small town.
Whatever you do, don't trust the drunken undertaker.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.