This way, a dual-use test can be dot-sourced into a new test script
after defining GIT_CVSPS_VERSION=3 to test that the new cvsimport
with cvsps (3.x) works on simple test histories that old cvsimport
can grok correctly.

Also allow CVSPS2_PATH and CVSPS3_PATH to be defined as "NoThanks"
to cause the tests in t96?? series to be skipped.

Signed-off-by: Junio C Hamano <gits...@pobox.com>
---
 t/lib-cvs.sh | 57 +++++++++++++++++++++++++++++++++++++++++++++++----------
 1 file changed, 47 insertions(+), 10 deletions(-)

diff --git a/t/lib-cvs.sh b/t/lib-cvs.sh
index bdab63c..3a55b8a 100644
--- a/t/lib-cvs.sh
+++ b/t/lib-cvs.sh
@@ -1,5 +1,8 @@
 #!/bin/sh
 
+: ${TEST_CVSPS_VERSION=2}
+export TEST_CVSPS_VERSION
+
 . ./test-lib.sh
 
 unset CVS_SERVER
@@ -13,22 +16,56 @@ fi
 CVS="cvs -f"
 export CVS
 
-CVSPS="$CVSPS2_PATH"
-
-cvsps_version=`$CVSPS -h 2>&1 | sed -ne 's/cvsps version //p'`
-case "$cvsps_version" in
-2.1 | 2.2*)
+skip_all=
+case "$TEST_CVSPS_VERSION" in
+2)
+       if test "$CVSPS2_PATH" = NoThanks
+       then
+               skip_all='skipping cvsimport tests, cvsps(2) not used'
+       else
+               case $($CVSPS2_PATH -h 2>&1 | sed -ne 's/cvsps version //p') in
+               2.1 | 2.2*)
+                       ;;
+               '')
+                       skip_all='skipping cvsimport tests, cvsps(2) not found'
+                       ;;
+               *)
+                       skip_all='skipping cvsimport tests, unsupported 
cvsps(2)'
+                       ;;
+               esac
+       fi
        ;;
-'')
-       skip_all='skipping cvsimport tests, cvsps not found'
-       test_done
+3)
+       if test "$CVSPS3_PATH" = NoThanks
+       then
+               skip_all='skipping cvsimport tests, cvsps(3) not used'
+       else
+               case $($CVSPS3_PATH -h 2>&1 | sed -ne 's/cvsps version //p') in
+               3.*)
+                       ;;
+               '')
+                       skip_all='skipping cvsimport tests, cvsps(3) not found'
+                       ;;
+               *)
+                       skip_all='skipping cvsimport tests, unsupported 
cvsps(3)'
+                       ;;
+               esac
+       fi
        ;;
 *)
-       skip_all='skipping cvsimport tests, unsupported cvsps version'
-       test_done
+       echo >&2 "Bug in test: set TEST_CVSPS_VESION to either 2 or 3"
+       exit 1
        ;;
 esac
 
+GIT_CVSPS_VERSION=$TEST_CVSPS_VERSION
+export GIT_CVSPS_VERSION
+
+if test -n "$skip_all"
+then
+       test_done
+fi
+
 setup_cvs_test_repository () {
        CVSROOT="$(pwd)/.cvsroot" &&
        cp -r "$TEST_DIRECTORY/$1/cvsroot" "$CVSROOT" &&
-- 
1.8.1.421.g6236851

--
To unsubscribe from this list: send the line "unsubscribe git" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to