t0000: catch trivial pilot errors.
authorJunio C Hamano <junkio@cox.net>
Sun, 11 Dec 2005 04:55:32 +0000 (20:55 -0800)
committerJunio C Hamano <junkio@cox.net>
Sun, 11 Dec 2005 04:55:32 +0000 (20:55 -0800)
People seem to be getting test failure from t6021 not becuase
git is faulty but because they forgot to install "merge".  Check
this and other trivial pilot errors in the first test.

Signed-off-by: Junio C Hamano <junkio@cox.net>
t/t0000-basic.sh
t/test-lib.sh

index 22bdacaf7861d15bb5fd383e9b17c22f082d72b7..bc3e711a525f164f21132438d4d4e12e3dc10698 100755 (executable)
@@ -17,8 +17,37 @@ IDs.  When object ID computation changes, like in the previous case of
 swapping compression and hashing order, the person who is making the
 modification *should* take notice and update the test vectors here.
 '
+
+################################################################
+# It appears that people are getting bitten by not installing
+# 'merge' (usually part of RCS package in binary distributions)
+# or have too old python without subprocess.  Check them and error
+# out before running any tests.  Also catch the bogosity of trying
+# to run tests without building while we are at it.
+
+../git >/dev/null
+if test $? != 1
+then
+       echo >&2 'You do not seem to have built git yet.'
+       exit 1
+fi
+
+merge >/dev/null 2>/dev/null
+if test $? == 127
+then
+       echo >&2 'You do not seem to have "merge" installed.
+Please check INSTALL document.'
+       exit 1
+fi
+
 . ./test-lib.sh
 
+"$PYTHON" -c 'import subprocess' || {
+       echo >&2 'Your python seem to lack "subprocess" module.
+Please check INSTALL document.'
+       exit 1
+}
+
 ################################################################
 # init-db has been done in an empty repository.
 # make sure it is empty.
index 447d9e251752ece0f67edd745721fe7b7f9e7069..2819bef1c4a80954be121bde3c44fce9221fcdfa 100755 (executable)
@@ -179,11 +179,16 @@ export PATH GIT_EXEC_PATH
 PYTHON=`sed -e '1{
        s/^#!//
        q
-}' ../git-merge-recursive` &&
+}' ../git-merge-recursive` || {
+       error "You haven't built things yet, have you?"
+}
 "$PYTHON" -c 'import subprocess' 2>/dev/null || {
        PYTHONPATH=$(pwd)/../compat
        export PYTHONPATH
 }
+test -d ../templates/blt || {
+       error "You haven't built things yet, have you?"
+}
 
 # Test repository
 test=trash
@@ -191,6 +196,6 @@ rm -fr "$test"
 mkdir "$test"
 cd "$test"
 "$GIT_EXEC_PATH/git" init-db --template=../../templates/blt/ 2>/dev/null ||
-error "cannot run git init-db"
+error "cannot run git init-db -- have you built things yet?"
 
 mv .git/hooks .git/hooks-disabled