Linux Mint has an implementation of the highlight command (unrelated
to the one from 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

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 allow the user to specify the correct tool, introduce
the GIT_TEST_HIGHLIGHT_BIN variable. Also, add '</dev/null' to the
command line of the highlight invocation; this avoids hanging the
test if the filter script is used nonetheless.

Signed-off-by: Ramsay Jones <>

Hi Junio,

I recently upgraded my Ubuntu installation to Linux Mint 15 Cinnamon.
(Unity makes me want to throw my laptop at the wall!)

Having tickled this bug, I solved the problem by building highlight
v3.15 from source and installing in $HOME.

This patch is marked RFC because this bug does not seem to have
affected too many people (given that Heiko reported the problem
back in 2011) ... :-D

[Also, note that I didn't fix up the form of the conditional.]

Ramsay Jones

 t/ | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/t/ 
index 6fca193..0208c8e 100755
--- a/t/
+++ b/t/
@@ -683,14 +683,18 @@ test_expect_success \
 # syntax highlighting
-highlight --version >/dev/null 2>&1
+highlight_version=$($GIT_TEST_HIGHLIGHT_BIN --version </dev/null 2>/dev/null)
 if [ $? -eq 127 ]; then
-       say "Skipping syntax highlighting test, because 'highlight' was not 
+       say "Skipping syntax highlighting tests: 'highlight' not found"
+elif test -z "$highlight_version"; then
+       say "Skipping syntax highlighting tests: incorrect 'highlight' found"
+       say "set GIT_TEST_HIGHLIGHT_BIN to full path of highlight program"
        test_set_prereq HIGHLIGHT
-       cat >>gitweb_config.perl <<-\EOF
-       our $highlight_bin = "highlight";
-       $feature{'highlight'}{'override'} = 1;
+       cat >>gitweb_config.perl <<-EOF
+       our \$highlight_bin = "$GIT_TEST_HIGHLIGHT_BIN";
+       \$feature{'highlight'}{'override'} = 1;
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to
More majordomo info at

Reply via email to