test: use vt100 as "smart" terminal for known dumb/unknown terminals
authorTomi Ollila <tomi.ollila@iki.fi>
Thu, 20 Oct 2016 08:19:45 +0000 (11:19 +0300)
committerDavid Bremner <david@tethera.net>
Sat, 22 Oct 2016 15:18:43 +0000 (12:18 -0300)
Otherwise use whatever user environment has set for TERM so
that there is more chance to test on users' actual environments.

test/test-lib.sh

index 77879c258219a1ff9c7f59748ea20025a87ce492..e7b83392f168c71ca7cb62ca19fb4ac30df1a0ba 100644 (file)
@@ -55,9 +55,15 @@ export PS4='+(${BASH_SOURCE}:${LINENO}): ${FUNCNAME[0]:+${FUNCNAME[0]}(): }'
 # Keep the original TERM for say_color and test_emacs
 ORIGINAL_TERM=$TERM
 
 # Keep the original TERM for say_color and test_emacs
 ORIGINAL_TERM=$TERM
 
-# dtach(1) provides more capable terminal environment to anything
-# that requires more than dumb terminal...
-[ x"${TERM:-dumb}" = xdumb ] && SMART_TERM=vt100 || SMART_TERM=$TERM
+# Set SMART_TERM to vt100 for known dumb/unknown terminal.
+# Otherwise use whatever TERM is currently used so that
+# users' actual TERM environments are being used in tests.
+case ${TERM-} in
+       '' | dumb | unknown )
+               SMART_TERM=vt100 ;;
+       *)
+               SMART_TERM=$TERM ;;
+esac
 
 # For repeatability, reset the environment to known value.
 LANG=C
 
 # For repeatability, reset the environment to known value.
 LANG=C
@@ -1168,8 +1174,8 @@ test_emacs () {
                fi
                server_name="notmuch-test-suite-$$"
                # start a detached session with an emacs server
                fi
                server_name="notmuch-test-suite-$$"
                # start a detached session with an emacs server
-               # user's TERM (or 'vt100' in case user's TERM is unset, empty
-               # or 'dumb') is given to dtach which assumes a minimally
+               # user's TERM (or 'vt100' in case user's TERM is known dumb
+               # or unknown) is given to dtach which assumes a minimally
                # VT100-compatible terminal -- and emacs inherits that
                TERM=$SMART_TERM dtach -n "$TEST_TMPDIR/emacs-dtach-socket.$$" \
                        sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \
                # VT100-compatible terminal -- and emacs inherits that
                TERM=$SMART_TERM dtach -n "$TEST_TMPDIR/emacs-dtach-socket.$$" \
                        sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \