On Wed, Dec 05, 2012 at 02:30:56AM -0500, Jeff King wrote:
> Anyway, I do think a "shell portability lint" would be a great addition
> to "test-lint", but I am slightly skeptical that it will be easy to
> write a good one that does not have false positives. Still, there may be
> some low-hanging fruit. I have not looked carefully at Torsten's patch
> yet.
Hrm. I had the impression initially that Torsten's patch was about
testing the test scripts themselves. But it is really about testing the
installed shell scripts. In that sense, test-lint is not the right
place.
You would want a "check shell script portability" script, and you would
probably want to run it:
- on the regular built scripts; possibly during build time (I have done
this before with "perl -c" for perl scripts and it is reasonably
successful). Or in a test script, as added in his patch (though I
note it does not seem to pass as posted, getting confused by trying
to grep "git-gui").
- on the test scripts themselves via test-lint
I think as long as such a script erred on the side of false negatives,
it would be OK (because false positives are a giant headache, and
ultimately the real test is people exercising the code itself on their
shells; this is just an early check to help contributors who do not have
such shells).
-Peff
PS Debian developers use a checkbashisms script to find some portability
problems. It might be worth looking at, though I notice it generates
a lot of bogus "unterminated string" results for our t/t*.sh scripts.
--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to [email protected]
More majordomo info at http://vger.kernel.org/majordomo-info.html