t9200: skip tests when $PWD contains a colon

On Windows, the current working directory is pretty much guaranteed to
contain a colon. If we feed that path to CVS, it mistakes it for a
separator between host and port, though.

This has not been a problem so far because Git for Windows uses MSYS2's
Bash using a POSIX emulation layer that also pretends that the current
directory is a Unix path (at least as long as we're in a shell script).

However, that is rather limiting, as Git for Windows also explores other
ports of other Unix shells. One of those is BusyBox-w32's ash, which is
a native port (i.e. *not* using any POSIX emulation layer, and certainly
not emulating Unix paths).

So let's just detect if there is a colon in $PWD and punt in that case.

Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
Johannes Schindelin 2017-07-07 10:15:36 +02:00
Родитель fd4298c080
Коммит 97edb5e377
1 изменённых файлов: 7 добавлений и 0 удалений

Просмотреть файл

@ -11,6 +11,13 @@ if ! test_have_prereq PERL; then
test_done test_done
fi fi
case "$PWD" in
*:*)
skip_all='cvs would get confused by the colon in `pwd`; skipping tests'
test_done
;;
esac
cvs >/dev/null 2>&1 cvs >/dev/null 2>&1
if test $? -ne 1 if test $? -ne 1
then then