[PATCH V3 1/1] test/test-lib.sh: use vt100 as dtach terminal if TERM dumb or unset/empty
Jani Nikula
jani at nikula.org
Thu Jan 24 00:01:19 PST 2013
LGTM.
On Thu, 24 Jan 2013, Tomi Ollila <tomi.ollila at iki.fi> wrote:
> The TERM environment variable is set to 'dumb' when running tests, but
> the original value of it is stored for echoing colors and running emacs
> (somewhat interactively) in detached session. Emacs requires some
> terminal control sequences to be available for interactive operation.
> In case original TERM is (also) 'dumb' (or unset/empty) emacs cannot
> run interactively. To fix this problem dtach (and emacs as it's child
> process) is run with TERM=vt100 in case original TERM was unset, empty
> or 'dumb'. This way there is a chance to run emacs tests with different
> user terminals and potentially find problems there.
> ---
>
> Obsoletes id:1359011360-15591-1-git-send-email-tomi.ollila at iki.fi
>
> To be accurate (instead of potentially confusing), the commit
> message and comments have been edited to mention 'unset or empty'
> instead of 'nonexistent'. No functional changes (to neither v1 or v2
> of this patch).
>
> test/test-lib.sh | 9 +++++++--
> 1 file changed, 7 insertions(+), 2 deletions(-)
>
> diff --git a/test/test-lib.sh b/test/test-lib.sh
> index 6ce3b31..1567178 100644
> --- a/test/test-lib.sh
> +++ b/test/test-lib.sh
> @@ -41,6 +41,10 @@ esac
> # 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 ] && DTACH_TERM=vt100 || DTACH_TERM=$TERM
> +
> # For repeatability, reset the environment to known value.
> LANG=C
> LC_ALL=C
> @@ -996,9 +1000,10 @@ test_emacs () {
> fi
> server_name="notmuch-test-suite-$$"
> # start a detached session with an emacs server
> - # user's TERM is given to dtach which assumes a minimally
> + # user's TERM (or 'vt100' in case user's TERM is unset, empty
> + # or 'dumb') is given to dtach which assumes a minimally
> # VT100-compatible terminal -- and emacs inherits that
> - TERM=$ORIGINAL_TERM dtach -n "$TEST_TMPDIR/emacs-dtach-socket.$$" \
> + TERM=$DTACH_TERM dtach -n "$TEST_TMPDIR/emacs-dtach-socket.$$" \
> sh -c "stty rows 24 cols 80; exec '$TMP_DIRECTORY/run_emacs' \
> --no-window-system \
> $load_emacs_tests \
> --
> 1.8.0
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list