Parsing TAP and getting the failing line number
Andy Armstrong
n at rciss.us
Fri Oct 5 19:21:46 BST 2007
On 5 Oct 2007, at 13:50, Mark Fowler wrote:
> I would like to press a key shortcut in my text editor and have it
> run the test I'm currently editing. If there are any failures, I'd
> like to be able to click on them and it go to the line that the
> failing test was on. Since my current editor is TextMate this
> involves creating a script that runs my test and outputs HTML.
>
> I assume that I want to use TAP::Parser for this. The interface
> for the version on CPAN seems clean, but how do I work out what
> line the failing test was on? Is there an existing module that
> does this (or can I do it with TAP::Parser somehow?)
I have something working. It's ugly.
You will need:
The latest snapshot of Test::Harness 2.99:
http://svn.hexten.net/tapx/trunk/
Test::More::Diagnostic:
http://svn.hexten.net/tapx/Test-More-Diagnostic/trunk/
TAP::Formatter::TextMate
http://svn.hexten.net/tapx/TAP-Formatter-TextMate/trunk/
Set up a TextMate command that looks something like this:
test=''
opts='-rb'
if [ ${TM_FILEPATH:(-2)} == '.t' ] ; then
test=$TM_FILEPATH
opts='-b'
fi
cd $TM_PROJECT_DIRECTORY && prove --merge --formatter
TAP::Formatter::TextMate $opts $test
and in your tests:
use Test::More;
use Test::More::Diagnostic;
plan tests => 1000;
You'll get test output with any test failures linked to the right
line the test.
It's a hasty lashup. Improvements welcome :)
--
Andy Armstrong, Hexten
More information about the tapx-dev
mailing list