Revision 89a70b80ebabd237bb407f9321f24677f4f1d16d authored by Johannes Schindelin on 03 January 2018, 16:54:54 UTC, committed by Junio C Hamano on 03 January 2018, 23:55:50 UTC
When cleaning up files in the $HOME directory, it really makes sense to
quote the path, especially in Git's test suite, where the HOME directory
is *guaranteed* to contain spaces in its name.

It would appear that those two tests pass even without cleaning up the
files, but really more by pure chance than by design (the cleanup seems
not actually to be necessary).

However, if anybody would have a left-over `trash/` directory in Git's
`t/` directory, these tests would fail, because they would all of a
sudden try to delete that directory, but without the `-r` (recursive)
flag. That is how this issue was found.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
Reviewed-by: Jeff King <peff@peff.net>
Signed-off-by: Junio C Hamano <gitster@pobox.com>
1 parent 567c53d
Raw File
lib-terminal.sh
# Helpers for terminal output tests.

# Catch tests which should depend on TTY but forgot to. There's no need
# to additionally check that the TTY prereq is set here.  If the test declared
# it and we are running the test, then it must have been set.
test_terminal () {
	if ! test_declared_prereq TTY
	then
		echo >&4 "test_terminal: need to declare TTY prerequisite"
		return 127
	fi
	perl "$TEST_DIRECTORY"/test-terminal.perl "$@"
}

test_lazy_prereq TTY '
	test_have_prereq PERL &&

	# Reading from the pty master seems to get stuck _sometimes_
	# on Mac OS X 10.5.0, using Perl 5.10.0 or 5.8.9.
	#
	# Reproduction recipe: run
	#
	#	i=0
	#	while ./test-terminal.perl echo hi $i
	#	do
	#		: $((i = $i + 1))
	#	done
	#
	# After 2000 iterations or so it hangs.
	# https://rt.cpan.org/Ticket/Display.html?id=65692
	#
	test "$(uname -s)" != Darwin &&

	perl "$TEST_DIRECTORY"/test-terminal.perl \
		sh -c "test -t 1 && test -t 2"
'
back to top