test: unset 'xpg_echo' bash shell option
authorTomi Ollila <tomi.ollila@iki.fi>
Tue, 20 Aug 2013 16:16:43 +0000 (19:16 +0300)
committerDavid Bremner <bremner@debian.org>
Mon, 9 Sep 2013 01:42:12 +0000 (22:42 -0300)
When 'xpg_echo' bash shell option is unset (usually the default)
echo builtin does not expand backslash-escape sequences by default
(i.e. '\n' is echoed as '\n' instead of newline). Not all bash
installations have this feature we depend on activated by default.

Note that the feature is bash (and GNU /bin/echo) specific. It is used
as it is convenient. If portability is needed (elsewhere) use printf(1)
(also often available as a shell builtin).

test/test-lib.sh

index ffab1bb509c400e15948b7fbe5df83d6294187d2..d3a8c58e97b92eb5382341860fb0e493aa8209b2 100644 (file)
@@ -22,6 +22,9 @@ if [ ${BASH_VERSINFO[0]} -lt 4 ]; then
     exit 1
 fi
 
+# Make sure echo builtin does not expand backslash-escape sequences by default.
+shopt -u xpg_echo
+
 # if --tee was passed, write the output not only to the terminal, but
 # additionally to the file test-results/$BASENAME.out, too.
 case "$GIT_TEST_TEE_STARTED, $* " in