I've been developing the tree transformation stuff outside the parrot
repository, and ran into some problems writing tests for my PIR
libraries. After talking to Chip & Patrick, I'll be moving my code
into the parrot repository anyway, which scratches my immediate itch.
But, long-term it's a useful problem to solve, and a bite-size task
(it also only requires knowledge of Perl 5), so I'll post it in case
anyone's interested.
Problem: when testing a library outside the core, you either have to
specify a full absolute path to the library, or a path relative to
wherever your working copy of parrot lives. Both are evil for
distributing code. Worse is when one non-core module loads another
non-core module, because then you're stuck with absolute paths in all
your modules as well.
got: 'imcc_compile_file: couldn't find 'lib/LAG/Rule.pir'
Task: find a sane way to allow test files using Parrot::Test to set a
base path so test scripts can locate the non-core modules being
tested via a path relative to the module's directory.
(Comment from IRC: ultimately non-core libraries should be installed
in a standard location, but it should be possible to test them before
they're installed.)
chromatic has started a PIR version of Test::More, which might
resolve this, but when I checked last week he didn't think it would
be finished soon.
Allison