[PATCH] t9400: Add some tests for checkout
From: Frank Lichtenheld <hidden>
Date: 2016-06-15 22:43:38
Subsystem:
the rest · Maintainer:
Linus Torvalds
Test the behaviour for non-branches (e.g. head) and non-existant branches. Also make a test checkout with packed refs. Signed-off-by: Frank Lichtenheld <redacted> --- t/t9400-git-cvsserver-server.sh | 48 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 45 insertions(+), 3 deletions(-)
diff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh
index 641303e..11def84 100755
--- a/t/t9400-git-cvsserver-server.sh
+++ b/t/t9400-git-cvsserver-server.sh@@ -246,11 +246,50 @@ test_expect_success 'gitcvs.ext.dbname' \ test ! -f "$SERVERDIR/gitcvs2.ext.master.sqlite" && cmp "$SERVERDIR/gitcvs.master.sqlite" "$SERVERDIR/gitcvs1.ext.master.sqlite"' +# clean up +rm -fr cvswork2 +rm -fr "$SERVERDIR" +cd "$WORKDIR" && +git clone -q --local --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 && +GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true && +GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" || +exit 1 -#------------ -# CVS UPDATE -#------------ +#-------------- +# CVS CHECKOUT +#-------------- +test_expect_success 'cvs checkout failure (HEAD)' \ + 'if GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 HEAD >cvs.log 2>&1 + then + echo unexpected cvs success + false + else + true + fi && + cat cvs.log | grep -q "not a branch" && + test ! -d cvswork2' +rm -fr cvswork2 +test_expect_success 'cvs checkout failure (foobar)' \ + 'if GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 foobar >cvs.log 2>&1 + then + echo unexpected cvs success + false + else + true + fi && + cat cvs.log | grep -q "not a branch" && + test ! -d cvswork2' +rm -fr cvswork2 + +test_expect_success 'cvs checkout (packed ref)' \ + 'GIT_DIR="$SERVERDIR" git-gc && + test ! -f "$SERVERDIR/refs/heads/master" && + GIT_CONFIG="$git_config" cvs -Q co -d cvswork2 master >cvs.log 2>&1 && + diff -qr cvswork cvswork2' + +# clean up +rm -fr cvswork2 rm -fr "$SERVERDIR" cd "$WORKDIR" && git clone -q --local --bare "$WORKDIR/.git" "$SERVERDIR" >/dev/null 2>&1 &&
@@ -258,6 +297,9 @@ GIT_DIR="$SERVERDIR" git config --bool gitcvs.enabled true && GIT_DIR="$SERVERDIR" git config gitcvs.logfile "$SERVERDIR/gitcvs.log" || exit 1 +#------------ +# CVS UPDATE +#------------ test_expect_success 'cvs update (create new file)' \ 'echo testfile1 >testfile1 && git add testfile1 &&
--
1.5.3.3