gitweb test: fix highlight test hang on Linux Mint

Linux Mint has an implementation of the highlight command (unrelated to the one from http://www.andre-simon.de) that works as a simple filter. The script uses 'sed' to add terminal colour escape codes around text matching a regular expression. When t9500-*.sh attempts to run "highlight --version", the script simply hangs waiting for input. (See https://bugs.launchpad.net/linuxmint/+bug/815005). The tool required by gitweb can be installed from the 'highlight' package. Unfortunately, given the default $PATH, this leads to the tool having lower precedence than the script. In order to avoid hanging the test, add '</dev/null' to the command line of the highlight invocation. Also, since the 'highlight' tool requred by gitweb produces '--version' output (and the script does not), saving the command output allows a simple check for the wrong 'highlight'. Signed-off-by: Ramsay Jones <ramsay@ramsay1.demon.co.uk> Signed-off-by: Jonathan Nieder <jrnieder@gmail.com>

Ramsay Jones committed Oct 6, 2013 at 21:50 UTC 7202db86478390ead1b5ca6c6d47d44badff10f3
1 file changed +4 -2
t/t9500-gitweb-standalone-no-errors.sh
+4 -2
@@ -654,9 +654,11 @@ cat >>gitweb_config.perl <<\EOF
654 $feature{'highlight'}{'override'} = 1;
655 EOF
656
657 -highlight --version >/dev/null 2>&1
657 +highlight_version=$(highlight --version </dev/null 2>/dev/null)
658 if [ $? -eq 127 ]; then
659 - say "Skipping syntax highlighting test, because 'highlight' was not found"
659 + say "Skipping syntax highlighting tests: 'highlight' not found"
660 +elif test -z "$highlight_version"; then
661 + say "Skipping syntax highlighting tests: incorrect 'highlight' found"
662 else
663 test_set_prereq HIGHLIGHT
664 fi