Merge branch 'maint'
[gitweb.git] / t / t9600-cvsimport.sh
index 29fee2dd13c6826338e92bf6e61cc39b057da444..00a74ee7384e4b824c9faf9e6d7891e4f28c775a 100755 (executable)
@@ -3,19 +3,35 @@
 test_description='git-cvsimport basic tests'
 . ./test-lib.sh
 
-if ! ( type cvs && type cvsps ) >/dev/null 2>&1
-then
-       test_expect_success 'skipping cvsimport tests, cvs/cvsps not found' ''
-       test_done
-       exit
-fi
-
 CVSROOT=$(pwd)/cvsroot
 export CVSROOT
 # for clean cvsps cache
 HOME=$(pwd)
 export HOME
 
+if ! type cvs >/dev/null 2>&1
+then
+       say 'skipping cvsimport tests, cvs not found'
+       test_done
+       exit
+fi
+
+cvsps_version=`cvsps -h 2>&1 | sed -ne 's/cvsps version //p'`
+case "$cvsps_version" in
+2.1)
+       ;;
+'')
+       say 'skipping cvsimport tests, cvsps not found'
+       test_done
+       exit
+       ;;
+*)
+       say 'skipping cvsimport tests, cvsps too old'
+       test_done
+       exit
+       ;;
+esac
+
 test_expect_success 'setup cvsroot' 'cvs init'
 
 test_expect_success 'setup a cvs module' '
@@ -119,4 +135,16 @@ test_expect_success 'cvsimport.module config works' '
 
 '
 
+test_expect_success 'import from a CVS working tree' '
+
+       cvs co -d import-from-wt module &&
+       cd import-from-wt &&
+               git cvsimport -a -z0 &&
+               echo 1 >expect &&
+               git log -1 --pretty=format:%s%n >actual &&
+               git diff actual expect &&
+       cd ..
+
+'
+
 test_done