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 <gitster@xxxxxxxxx> --- 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 majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html