SourceHandler regression

Andy Armstrong andy at hexten.net
Mon Jul 19 10:50:52 BST 2010


I spent some time over the weekend looking at

https://rt.cpan.org/Ticket/Display.html?id=59457

In the days before SourceHandler something like

$ prove foo.sh

would to the right thing by attempting to execute "perl foo.sh" which, assuming foo.sh has #!/bin/sh on its shebang would turn around and execute the script with /bin/sh. It'd do this even if foo.sh didn't have its executable bit set.

With SourceHandlers we try to execute it directly which means that a) it has to be called ./foo.sh (because we look down $PATH for it) and it has to be executable.

Among those who rely on the old behaviour this is considered a regression...

I committed what I thought was a potential fix for this:

http://github.com/AndyA/Test-Harness/commit/6703fdc01e152df672047400364b227a172449e2

But on reflection it's not a complete fix (because it requires the file to be +x) and I'm a bit concerned that it doesn't accurately reproduce the old semantics in other ways.

This is a fairly critical problem and I don't anticipate having much time to work on it this week. Could anyone else (perhaps spurkis :) take a look at it?

Failing that does anyone have any suggestions as to how to restore the old behaviour in a way that sits nicely with the SourceHandler mechanism?

-- 
Andy Armstrong, Hexten





More information about the tapx-dev mailing list