{"thread":{"id":"8133","subject":"[PATCH] cvsserver: Add some basic pserver tests","startedAt":"2007-05-13T17:49:25Z","lastAt":"2007-05-13T18:38:36Z","messageCount":3,"participants":["Frank Lichtenheld","Junio C Hamano"],"isPatch":true,"patchVersion":1,"patchTotal":null},"messages":[{"id":"42031","messageId":"1179078566806-git-send-email-frank@lichtenheld.de","threadId":"8133","inReplyTo":null,"subject":"[PATCH] t9400: Add some more cvs update tests","fromName":"Frank Lichtenheld","fromEmail":"frank@lichtenheld.de","sentAt":"2007-05-13T17:49:25Z","receivedAt":"2007-05-13T17:49:25Z","isPatch":true,"sender":{"key":"frank@lichtenheld.de","avatar":"https://gravatar.com/avatar/b9f1d4b120e138f157c9e480d0818197c474628923786adb98f30017cdb99c3c?d=mp&s=160"},"body":"Add some cvs update tests that include various merge\nsituations. Also add a basic test for update -C\nsince it fits so well in there.\n\nSigned-off-by: Frank Lichtenheld <frank@lichtenheld.de>\n---\n t/t9400-git-cvsserver-server.sh |   66 +++++++++++++++++++++++++++++++++++++++\n 1 files changed, 66 insertions(+), 0 deletions(-)\n\ndiff --git a/t/t9400-git-cvsserver-server.sh b/t/t9400-git-cvsserver-server.sh\nindex d406a88..1d40ee8 100755\n--- a/t/t9400-git-cvsserver-server.sh\n+++ b/t/t9400-git-cvsserver-server.sh\n@@ -123,4 +123,70 @@ test_expect_success 'cvs update (re-add deleted file)' \\\n    test \"$(echo $(grep testfile1 CVS/Entries|cut -d/ -f2,3,5))\" = \"testfile1/1.4/\" &&\n    diff -q testfile1 ../testfile1'\n \n+cd \"$WORKDIR\"\n+test_expect_success 'cvs update (merge)' \\\n+  'echo Line 0 >expected &&\n+   for i in 1 2 3 4 5 6 7\n+   do\n+     echo Line $i >>merge\n+     echo Line $i >>expected\n+   done &&\n+   echo Line 8 >>expected &&\n+   git add merge &&\n+   git commit -q -m \"Merge test (pre-merge)\" &&\n+   git push gitcvs.git >/dev/null &&\n+   cd cvswork &&\n+   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n+   test \"$(echo $(grep merge CVS/Entries|cut -d/ -f2,3,5))\" = \"merge/1.1/\" &&\n+   diff -q merge ../merge &&\n+   ( echo Line 0; cat merge ) >merge.tmp &&\n+   mv merge.tmp merge &&  \n+   cd \"$WORKDIR\" &&\n+   echo Line 8 >>merge &&\n+   git add merge &&\n+   git commit -q -m \"Merge test (merge)\" &&\n+   git push gitcvs.git >/dev/null &&\n+   cd cvswork &&\n+   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n+   diff -q merge ../expected'\n+\n+cd \"$WORKDIR\"\n+test_expect_success 'cvs update (conflict merge)' \\\n+  '( echo LINE 0; cat merge ) >merge.tmp &&\n+   mv merge.tmp merge &&\n+   cat >expected.C <<EOF &&\n+<<<<<<< merge.mine\n+Line 0\n+=======\n+LINE 0\n+>>>>>>> merge.3\n+EOF\n+   for i in 1 2 3 4 5 6 7 8\n+   do\n+     echo Line $i >>expected.C\n+   done &&\n+   git add merge &&\n+   git commit -q -m \"Merge test (conflict)\" &&\n+   git push gitcvs.git >/dev/null &&\n+   cd cvswork &&\n+   GIT_CONFIG=\"$git_config\" cvs -Q update &&\n+   diff -q merge ../expected.C'\n+\n+cd \"$WORKDIR\"\n+test_expect_success 'cvs update (-C)' \\\n+  'cd cvswork &&\n+   GIT_CONFIG=\"$git_config\" cvs -Q update -C &&\n+   diff -q merge ../merge'\n+\n+cd \"$WORKDIR\"\n+test_expect_success 'cvs update (merge no-op)' \\\n+   'echo Line 9 >>merge &&\n+    cp merge cvswork/merge &&\n+    git add merge &&\n+    git commit -q -m \"Merge test (no-op)\" &&\n+    git push gitcvs.git >/dev/null &&\n+    cd cvswork &&\n+    GIT_CONFIG=\"$git_config\" cvs -Q update &&\n+    diff -q merge ../merge'\n+\n test_done\n-- \n1.5.1.4\n"},{"id":"42030","messageId":"11790785662928-git-send-email-frank@lichtenheld.de","threadId":"8133","inReplyTo":"1179078566806-git-send-email-frank@lichtenheld.de","subject":"[PATCH] cvsserver: Add some basic pserver tests","fromName":"Frank Lichtenheld","fromEmail":"frank@lichtenheld.de","sentAt":"2007-05-13T17:49:26Z","receivedAt":"2007-05-13T17:49:26Z","isPatch":true,"sender":{"key":"frank@lichtenheld.de","avatar":"https://gravatar.com/avatar/b9f1d4b120e138f157c9e480d0818197c474628923786adb98f30017cdb99c3c?d=mp&s=160"},"body":"While we can easily test the cvs <-> git-cvsserver\ncommunication with :fork: and git-cvsserver server\nthere are some pserver specifics we should test, too.\n\nCurrently this are two tests of the pserver authentication.\n\nSigned-off-by: Frank Lichtenheld <frank@lichtenheld.de>\n---\n t/t9410-git-cvsserver-pserver.sh |   53 ++++++++++++++++++++++++++++++++++++++\n 1 files changed, 53 insertions(+), 0 deletions(-)\n create mode 100644 t/t9410-git-cvsserver-pserver.sh\n\ndiff --git a/t/t9410-git-cvsserver-pserver.sh b/t/t9410-git-cvsserver-pserver.sh\nnew file mode 100644\nindex 0000000..1cf9bc7\n--- /dev/null\n+++ b/t/t9410-git-cvsserver-pserver.sh\n@@ -0,0 +1,53 @@\n+#!/bin/sh\n+# \n+# Copyright (c) 2007 Frank Lichtenheld\n+#\n+\n+test_description='git-cvsserver pserver access\n+\n+tests some pserver specific features (like\n+authentication).'\n+\n+. ./test-lib.sh\n+\n+unset GIT_DIR GIT_CONFIG\n+WORKDIR=$(pwd)\n+SERVERDIR=$(pwd)/gitcvs.git\n+CVSWORK=$(pwd)/cvswork\n+export CVSROOT CVSWORK\n+\n+rm -rf \"$CVSWORK\" \"$SERVERDIR\"\n+echo >empty &&\n+  git add empty &&\n+  git commit -q -m \"First Commit\" &&\n+  git clone -q --local --bare \"$WORKDIR/.git\" \"$SERVERDIR\" >/dev/null 2>&1 &&\n+  GIT_DIR=\"$SERVERDIR\" git config --bool gitcvs.enabled true ||\n+  exit 1\n+\n+test_expect_success 'authentication' \\\n+  'cat <<EOF | git-cvsserver pserver >log 2>&1 &&\n+BEGIN AUTH REQUEST\n+$SERVERDIR\n+anonymous\n+\n+END AUTH REQUEST\n+EOF\n+   tail -n1 log | grep -q \"^I LOVE YOU$\"'\n+\n+test_expect_success 'authentication failure (non-anonymous user)' \\\n+  'if cat <<EOF | git-cvsserver pserver >log 2>&1\n+BEGIN AUTH REQUEST\n+$SERVERDIR\n+git\n+\n+END AUTH REQUEST\n+EOF\n+   then\n+       false\n+   else\n+       true\n+   fi &&\n+   tail -n1 log | grep -q \"^I HATE YOU$\"'\n+\n+\n+test_done\n-- \n1.5.1.4\n"},{"id":"42039","messageId":"7vzm48sh5f.fsf@assigned-by-dhcp.cox.net","threadId":"8133","inReplyTo":"11790785662928-git-send-email-frank@lichtenheld.de","subject":"Re: [PATCH] cvsserver: Add some basic pserver tests","fromName":"Junio C Hamano","fromEmail":"junkio@cox.net","sentAt":"2007-05-13T18:38:36Z","receivedAt":"2007-05-13T18:38:36Z","isPatch":true,"sender":{"key":"gitster@pobox.com","avatar":"https://avatars.githubusercontent.com/u/54884?v=4"},"body":"Frank Lichtenheld <frank@lichtenheld.de> writes:\n\n> While we can easily test the cvs <-> git-cvsserver\n> communication with :fork: and git-cvsserver server\n> there are some pserver specifics we should test, too.\n>\n> Currently this are two tests of the pserver authentication.\n>\n> Signed-off-by: Frank Lichtenheld <frank@lichtenheld.de>\n>...\n> +test_expect_success 'authentication' \\\n> +  'cat <<EOF | git-cvsserver pserver >log 2>&1 &&\n> +BEGIN AUTH REQUEST\n> +$SERVERDIR\n> +anonymous\n> +\n> +END AUTH REQUEST\n> +EOF\n> +   tail -n1 log | grep -q \"^I LOVE YOU$\"'\n\nIn the past, some people with non-bash shells had trouble with\nhere text (i.e. <<HERE) inside our test scripts Either our use\nof eval to run the test in test_expect_success is not kosher, or\ntheir implementation of eval was slightly broken --- I do not\nrecall if we ever dug down to the bottom of the problem.  That\nis why most tests have here-text to prepare test vectors outside\nof tests themselves.\n"}]}