[PATCH 1/1] test/test-lib.sh: use vt100 as dtach terminal if TERM nonexistent or dumb
Jani Nikula
jani at nikula.org
Wed Jan 23 09:25:39 PST 2013
On Wed, 23 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
Extra ( there?
> (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 nonexistent) 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 nonexistent or
> dumb. This way there is a chance to run emacs tests with different user
> terminals and potentially find problems there.
> ---
> 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..3bc67f7 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
That's just a tiny bit more trickery than I usually like... but then
it's shell after all... :)
> +
> # 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' om case user's term is nonexistent
> + # or 'dumb') is given to dtach which assumes a minimally
Nitpick, s/om/in/
Otherwise LGTM, and works as advertised.
Jani.
> # 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.1
>
> _______________________________________________
> notmuch mailing list
> notmuch at notmuchmail.org
> http://notmuchmail.org/mailman/listinfo/notmuch
More information about the notmuch
mailing list