{"thread":{"id":"35423","subject":"[PATCH v7 02/10] t5601: Add tests for ssh","startedAt":"2013-11-28T19:48:22Z","lastAt":"2013-11-28T19:48:22Z","messageCount":1,"participants":["Torsten Bögershausen"],"isPatch":true,"patchVersion":7,"patchTotal":10},"messages":[{"id":"231253","messageId":"201311282048.23226.tboegi@web.de","threadId":"35423","inReplyTo":null,"subject":"[PATCH v7 02/10] t5601: Add tests for ssh","fromName":"Torsten Bögershausen","fromEmail":"tboegi@web.de","sentAt":"2013-11-28T19:48:22Z","receivedAt":"2013-11-28T19:48:22Z","isPatch":true,"sender":{"key":"tboegi@web.de","avatar":"https://avatars.githubusercontent.com/u/7138363?v=4"},"body":"Add more tests testing all the combinations:\n -IPv4 or IPv6\n -path starting with \"/\" or with \"/~\"\n -with and without the ssh:// scheme\n\nSome test fail, they need updates in connect.c\n\nSigned-off-by: Torsten Bögershausen <tboegi@web.de>\n---\n t/t5601-clone.sh | 100 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-\n 1 file changed, 99 insertions(+), 1 deletion(-)\n\ndiff --git a/t/t5601-clone.sh b/t/t5601-clone.sh\nindex c634f77..ba99972 100755\n--- a/t/t5601-clone.sh\n+++ b/t/t5601-clone.sh\n@@ -313,7 +313,7 @@ expect_ssh () {\n \n setup_ssh_wrapper\n \n-test_expect_success 'cloning myhost:src uses ssh' '\n+test_expect_success 'clone myhost:src uses ssh' '\n \tgit clone myhost:src ssh-clone &&\n \texpect_ssh myhost src\n '\n@@ -329,6 +329,104 @@ test_expect_success 'bracketed hostnames are still ssh' '\n \texpect_ssh myhost:123 src\n '\n \n+counter=0\n+# $1 url\n+# $2 none|host\n+# $3 path\n+test_clone_url () {\n+\tcounter=$(($counter + 1))\n+\ttest_might_fail git clone \"$1\" tmp$counter &&\n+\texpect_ssh \"$2\" \"$3\"\n+}\n+\n+test_expect_success NOT_MINGW 'clone c:temp is ssl' '\n+\ttest_clone_url c:temp c temp\n+'\n+\n+test_expect_success MINGW 'clone c:temp is dos drive' '\n+\ttest_clone_url c:temp none\n+'\n+\n+#ip v4\n+for repo in rep rep/home/project /~proj 123\n+do\n+\ttest_expect_success \"clone host:$repo\" '\n+\t\ttest_clone_url host:$repo host $repo\n+\t'\n+done\n+\n+#ipv6\n+# failing\n+for repo in /~proj\n+do\n+\ttest_expect_failure \"clone [::1]:$repo\" '\n+\t\ttest_clone_url [::1]:$repo ::1 $repo\n+\t'\n+done\n+\n+for repo in rep rep/home/project 123\n+do\n+\ttest_expect_success \"clone [::1]:$repo\" '\n+\t\ttest_clone_url [::1]:$repo ::1 $repo\n+\t'\n+done\n+\n+# Corner cases\n+# failing\n+for repo in [foo]bar/baz:qux [foo/bar]:baz\n+do\n+\ttest_expect_failure \"clone $url is not ssh\" '\n+\t\ttest_clone_url $url none\n+\t'\n+done\n+\n+for url in foo/bar:baz\n+do\n+\ttest_expect_success \"clone $url is not ssh\" '\n+\t\ttest_clone_url $url none\n+\t'\n+done\n+\n+#with ssh:// scheme\n+test_expect_success 'clone ssh://host.xz/home/user/repo' '\n+\ttest_clone_url \"ssh://host.xz/home/user/repo\" host.xz \"/home/user/repo\"\n+'\n+\n+# from home directory\n+test_expect_success 'clone ssh://host.xz/~repo' '\n+\ttest_clone_url \"ssh://host.xz/~repo\" host.xz \"~repo\"\n+'\n+\n+# with port number\n+test_expect_success 'clone ssh://host.xz:22/home/user/repo' '\n+\ttest_clone_url \"ssh://host.xz:22/home/user/repo\" \"-p 22 host.xz\" \"/home/user/repo\"\n+'\n+\n+# from home directory with port number\n+test_expect_success 'clone ssh://host.xz:22/~repo' '\n+\ttest_clone_url \"ssh://host.xz:22/~repo\" \"-p 22 host.xz\" \"~repo\"\n+'\n+\n+#IPv6\n+test_expect_success 'clone ssh://[::1]/home/user/repo' '\n+\ttest_clone_url \"ssh://[::1]/home/user/repo\" \"::1\" \"/home/user/repo\"\n+'\n+\n+#IPv6 from home directory\n+test_expect_success 'clone ssh://[::1]/~repo' '\n+\ttest_clone_url \"ssh://[::1]/~repo\" \"::1\" \"~repo\"\n+'\n+\n+#IPv6 with port number\n+test_expect_success 'clone ssh://[::1]:22/home/user/repo' '\n+\ttest_clone_url \"ssh://[::1]:22/home/user/repo\" \"-p 22 ::1\" \"/home/user/repo\"\n+'\n+\n+#IPv6 from home directory with port number\n+test_expect_success 'clone ssh://[::1]:22/~repo' '\n+\ttest_clone_url \"ssh://[::1]:22/~repo\" \"-p 22 ::1\" \"~repo\"\n+'\n+\n test_expect_success 'clone from a repository with two identical branches' '\n \n \t(\n-- \n1.8.5.rc0.23.gaa27064\n"}]}