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