aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTomi Ollila <tomi.ollila@iki.fi>2016-10-20 11:19:45 +0300
committerDavid Bremner <david@tethera.net>2016-10-22 12:18:43 -0300
commitc008dd13523bb1356653fa8678cfe5d26a6feb82 (patch)
tree3380ab1ba7441da131c990ec05fc8653db9c39c4
parenta3ee732c522947a17329704aef2a099946420f52 (diff)
test: use vt100 as "smart" terminal for known dumb/unknown terminals
Otherwise use whatever user environment has set for TERM so that there is more chance to test on users' actual environments.
-rw-r--r--test/test-lib.sh16
1 files changed, 11 insertions, 5 deletions
diff --git a/test/test-lib.sh b/test/test-lib.sh
index 77879c25..e7b83392 100644
--- a/test/test-lib.sh
+++ b/test/test-lib.sh
@@ -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
-# 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
@@ -1168,8 +1174,8 @@ test_emacs () {
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' \