[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