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

Reply via email to