# HG changeset patch # User Matt Harbison # Date 1433900373 14400 # Node ID c63bf97cf7c75975a6ac4266fe7c5d4ab003d3b7 # Parent e8eb3ecdaa0cce3e29e30853e40135a4c72cbb54 tests: restore 'python' and '$TESTDIR/' for dummyssh invocation This is a backout of 46727fea7a00, and a partial backout of c3ecbf694904. Windows won't execute 'dummyssh' directly, presumably because CreateProcess() doesn't know how to execute a bash script: $ hg clone -e "dummyssh" ssh://user@dummy/cloned sshclone remote: 'dummyssh' is not recognized as an internal or external command, remote: operable program or batch file. abort: no suitable response from remote hg! [255] With the restoration of python as the executable, $TESTDIR needs to be restored for these invocations, because python won't search $PATH for 'dummyssh': $ hg clone -e "python dummyssh" ssh://user@dummy/cloned sshclone remote: python: can't open file 'dummyssh': [Errno 2] No such file or directory abort: no suitable response from remote hg! [255] diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-bookmarks-pushpull.t --- a/tests/test-bookmarks-pushpull.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-bookmarks-pushpull.t Tue Jun 09 21:39:33 2015 -0400 @@ -734,7 +734,7 @@ > ssh=ssh://user@dummy/issue4455-dest > http=http://localhost:$HGPORT/ > [ui] - > ssh=dummyssh + > ssh=python "$TESTDIR/dummyssh" > EOF $ cat >> ../issue4455-dest/.hg/hgrc << EOF > [hooks] diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-bundle2-exchange.t --- a/tests/test-bundle2-exchange.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-bundle2-exchange.t Tue Jun 09 21:39:33 2015 -0400 @@ -18,7 +18,7 @@ > bundle2-exp=True > bundle2-output-capture=True > [ui] - > ssh=dummyssh + > ssh=python "$TESTDIR/dummyssh" > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline} > [web] > push_ssl = false diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-bundle2-format.t --- a/tests/test-bundle2-format.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-bundle2-format.t Tue Jun 09 21:39:33 2015 -0400 @@ -210,7 +210,7 @@ > bundle2-exp=True > evolution=createmarkers > [ui] - > ssh=dummyssh + > ssh=python "$TESTDIR/dummyssh" > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline} > [web] > push_ssl = false diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-bundle2-pushback.t --- a/tests/test-bundle2-pushback.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-bundle2-pushback.t Tue Jun 09 21:39:33 2015 -0400 @@ -25,7 +25,7 @@ $ cat >> $HGRCPATH < [ui] - > ssh = dummyssh + > ssh = python "$TESTDIR/dummyssh" > username = nobody > > [alias] diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-bundle2-remote-changegroup.t --- a/tests/test-bundle2-remote-changegroup.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-bundle2-remote-changegroup.t Tue Jun 09 21:39:33 2015 -0400 @@ -81,7 +81,7 @@ > [experimental] > bundle2-exp=True > [ui] - > ssh=dummyssh + > ssh=python "$TESTDIR/dummyssh" > logtemplate={rev}:{node|short} {phase} {author} {bookmarks} {desc|firstline} > EOF diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-init.t --- a/tests/test-init.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-init.t Tue Jun 09 21:39:33 2015 -0400 @@ -84,7 +84,7 @@ init+push to remote2 - $ hg init -e dummyssh ssh://user@dummy/remote2 + $ hg init -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote2 $ hg incoming -R remote2 local comparing with local changeset: 0:08b9e9f63b32 @@ -94,7 +94,7 @@ summary: init - $ hg push -R local -e dummyssh ssh://user@dummy/remote2 + $ hg push -R local -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote2 pushing to ssh://user@dummy/remote2 searching for changes remote: adding changesets @@ -104,7 +104,7 @@ clone to remote1 - $ hg clone -e dummyssh local ssh://user@dummy/remote1 + $ hg clone -e "python \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remote1 searching for changes remote: adding changesets remote: adding manifests @@ -112,7 +112,7 @@ remote: added 1 changesets with 1 changes to 1 files The largefiles extension doesn't crash - $ hg clone -e dummyssh local ssh://user@dummy/remotelf --config extensions.largefiles= + $ hg clone -e "python \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remotelf --config extensions.largefiles= searching for changes remote: adding changesets remote: adding manifests @@ -121,14 +121,14 @@ init to existing repo - $ hg init -e dummyssh ssh://user@dummy/remote1 + $ hg init -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote1 abort: repository remote1 already exists! abort: could not create remote repo! [255] clone to existing repo - $ hg clone -e dummyssh local ssh://user@dummy/remote1 + $ hg clone -e "python \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remote1 abort: repository remote1 already exists! abort: could not create remote repo! [255] @@ -224,7 +224,7 @@ $ hg -R local bookmark test $ hg -R local bookmarks * test 0:08b9e9f63b32 - $ hg clone -e dummyssh local ssh://user@dummy/remote-bookmarks + $ hg clone -e "python \"$TESTDIR/dummyssh\"" local ssh://user@dummy/remote-bookmarks searching for changes remote: adding changesets remote: adding manifests diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-largefiles-wireproto.t --- a/tests/test-largefiles-wireproto.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-largefiles-wireproto.t Tue Jun 09 21:39:33 2015 -0400 @@ -110,7 +110,7 @@ #endif vanilla clients locked out from largefiles ssh repos - $ hg --config extensions.largefiles=! clone -e dummyssh ssh://user@dummy/r4 r5 + $ hg --config extensions.largefiles=! clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/r4 r5 remote: remote: This repository uses the largefiles extension. remote: diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-ssh-bundle1.t --- a/tests/test-ssh-bundle1.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-ssh-bundle1.t Tue Jun 09 21:39:33 2015 -0400 @@ -42,21 +42,21 @@ repo not found error - $ hg clone -e dummyssh ssh://user@dummy/nonexistent local + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/nonexistent local remote: abort: there is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! [255] non-existent absolute path - $ hg clone -e dummyssh ssh://user@dummy//`pwd`/nonexistent local + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy//`pwd`/nonexistent local remote: abort: there is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! [255] clone remote via stream - $ hg clone -e dummyssh --uncompressed ssh://user@dummy/remote local-stream + $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/remote local-stream streaming all changes 4 files to transfer, 615 bytes of data transferred 615 bytes in * seconds (*) (glob) @@ -78,7 +78,7 @@ clone bookmarks via stream $ hg -R local-stream book mybook - $ hg clone -e dummyssh --uncompressed ssh://user@dummy/local-stream stream2 + $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/local-stream stream2 streaming all changes 4 files to transfer, 615 bytes of data transferred 615 bytes in * seconds (*) (glob) @@ -94,7 +94,7 @@ clone remote via pull - $ hg clone -e dummyssh ssh://user@dummy/remote local + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local requesting all changes adding changesets adding manifests @@ -119,14 +119,14 @@ $ hg paths default = ssh://user@dummy/remote - $ hg pull -e dummyssh + $ hg pull -e "python \"$TESTDIR/dummyssh\"" pulling from ssh://user@dummy/remote searching for changes no changes found pull from wrong ssh URL - $ hg pull -e dummyssh ssh://user@dummy/doesnotexist + $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/doesnotexist pulling from ssh://user@dummy/doesnotexist remote: abort: there is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! @@ -141,7 +141,7 @@ $ echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc $ echo "[ui]" >> .hg/hgrc - $ echo "ssh = dummyssh" >> .hg/hgrc + $ echo "ssh = python \"$TESTDIR/dummyssh\"" >> .hg/hgrc find outgoing @@ -158,7 +158,7 @@ find incoming on the remote side - $ hg incoming -R ../remote -e dummyssh ssh://user@dummy/local + $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/local comparing with ssh://user@dummy/local searching for changes changeset: 3:a28a9d1a809c @@ -171,7 +171,7 @@ find incoming on the remote side (using absolute path) - $ hg incoming -R ../remote -e dummyssh "ssh://user@dummy/`pwd`" + $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/`pwd`" comparing with ssh://user@dummy/$TESTTMP/local searching for changes changeset: 3:a28a9d1a809c @@ -218,7 +218,7 @@ test pushkeys and bookmarks $ cd ../local - $ hg debugpushkey --config ui.ssh=dummyssh ssh://user@dummy/remote namespaces + $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote namespaces bookmarks namespaces phases @@ -233,7 +233,7 @@ no changes found exporting bookmark foo [1] - $ hg debugpushkey --config ui.ssh=dummyssh ssh://user@dummy/remote bookmarks + $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote bookmarks foo 1160648e36cec0054048a7edc4110c6f84fde594 $ hg book -f foo $ hg push --traceback @@ -303,7 +303,7 @@ $ hg -R ../remote bookmark test $ hg -R ../remote bookmarks * test 4:6c0482d977a3 - $ hg clone -e dummyssh ssh://user@dummy/remote local-bookmarks + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local-bookmarks requesting all changes adding changesets adding manifests @@ -330,21 +330,21 @@ Test remote paths with spaces (issue2983): - $ hg init --ssh dummyssh "ssh://user@dummy/a repo" + $ hg init --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo" $ touch "$TESTTMP/a repo/test" $ hg -R 'a repo' commit -A -m "test" adding test $ hg -R 'a repo' tag tag - $ hg id --ssh dummyssh "ssh://user@dummy/a repo" + $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo" 73649e48688a - $ hg id --ssh dummyssh "ssh://user@dummy/a repo#noNoNO" + $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo#noNoNO" abort: unknown revision 'noNoNO'! [255] Test (non-)escaping of remote paths with spaces when cloning (issue3145): - $ hg clone --ssh dummyssh "ssh://user@dummy/a repo" + $ hg clone --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo" destination directory: a repo abort: destination 'a repo' is not empty [255] @@ -436,7 +436,7 @@ > [paths] > default-push = ssh://user@dummy/remote > [ui] - > ssh = dummyssh + > ssh = python "$TESTDIR/dummyssh" > [extensions] > localwrite = localwrite.py > EOF @@ -457,7 +457,7 @@ $ hg pull --debug ssh://user@dummy/remote pulling from ssh://user@dummy/remote - running dummyssh user@dummy ('|")hg -R remote serve --stdio('|") (re) + running python ".*/dummyssh" user@dummy ('|")hg -R remote serve --stdio('|") (re) sending hello command sending between command remote: 345 diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-ssh-clone-r.t --- a/tests/test-ssh-clone-r.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-ssh-clone-r.t Tue Jun 09 21:39:33 2015 -0400 @@ -17,7 +17,7 @@ clone remote via stream $ for i in 0 1 2 3 4 5 6 7 8; do - > hg clone -e dummyssh --uncompressed -r "$i" ssh://user@dummy/remote test-"$i" + > hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed -r "$i" ssh://user@dummy/remote test-"$i" > if cd test-"$i"; then > hg verify > cd .. @@ -139,7 +139,7 @@ 4 files, 9 changesets, 7 total revisions $ cd .. $ cd test-1 - $ hg pull -e dummyssh -r 4 ssh://user@dummy/remote + $ hg pull -e "python \"$TESTDIR/dummyssh\"" -r 4 ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets @@ -153,7 +153,7 @@ crosschecking files in changesets and manifests checking files 1 files, 3 changesets, 2 total revisions - $ hg pull -e dummyssh ssh://user@dummy/remote + $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets @@ -163,7 +163,7 @@ (run 'hg update' to get a working copy) $ cd .. $ cd test-2 - $ hg pull -e dummyssh -r 5 ssh://user@dummy/remote + $ hg pull -e "python \"$TESTDIR/dummyssh\"" -r 5 ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets @@ -177,7 +177,7 @@ crosschecking files in changesets and manifests checking files 1 files, 5 changesets, 3 total revisions - $ hg pull -e dummyssh ssh://user@dummy/remote + $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote pulling from ssh://user@dummy/remote searching for changes adding changesets diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-ssh.t --- a/tests/test-ssh.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-ssh.t Tue Jun 09 21:39:33 2015 -0400 @@ -33,21 +33,21 @@ repo not found error - $ hg clone -e dummyssh ssh://user@dummy/nonexistent local + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/nonexistent local remote: abort: there is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! [255] non-existent absolute path - $ hg clone -e dummyssh ssh://user@dummy//`pwd`/nonexistent local + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy//`pwd`/nonexistent local remote: abort: there is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! [255] clone remote via stream - $ hg clone -e dummyssh --uncompressed ssh://user@dummy/remote local-stream + $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/remote local-stream streaming all changes 4 files to transfer, 615 bytes of data transferred 615 bytes in * seconds (*) (glob) @@ -69,7 +69,7 @@ clone bookmarks via stream $ hg -R local-stream book mybook - $ hg clone -e dummyssh --uncompressed ssh://user@dummy/local-stream stream2 + $ hg clone -e "python \"$TESTDIR/dummyssh\"" --uncompressed ssh://user@dummy/local-stream stream2 streaming all changes 4 files to transfer, 615 bytes of data transferred 615 bytes in * seconds (*) (glob) @@ -85,7 +85,7 @@ clone remote via pull - $ hg clone -e dummyssh ssh://user@dummy/remote local + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local requesting all changes adding changesets adding manifests @@ -110,14 +110,14 @@ $ hg paths default = ssh://user@dummy/remote - $ hg pull -e dummyssh + $ hg pull -e "python \"$TESTDIR/dummyssh\"" pulling from ssh://user@dummy/remote searching for changes no changes found pull from wrong ssh URL - $ hg pull -e dummyssh ssh://user@dummy/doesnotexist + $ hg pull -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/doesnotexist pulling from ssh://user@dummy/doesnotexist remote: abort: there is no Mercurial repository here (.hg not found)! abort: no suitable response from remote hg! @@ -132,7 +132,7 @@ $ echo "default-push = ssh://user@dummy/remote" >> .hg/hgrc $ echo "[ui]" >> .hg/hgrc - $ echo "ssh = dummyssh" >> .hg/hgrc + $ echo "ssh = python \"$TESTDIR/dummyssh\"" >> .hg/hgrc find outgoing @@ -149,7 +149,7 @@ find incoming on the remote side - $ hg incoming -R ../remote -e dummyssh ssh://user@dummy/local + $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/local comparing with ssh://user@dummy/local searching for changes changeset: 3:a28a9d1a809c @@ -162,7 +162,7 @@ find incoming on the remote side (using absolute path) - $ hg incoming -R ../remote -e dummyssh "ssh://user@dummy/`pwd`" + $ hg incoming -R ../remote -e "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/`pwd`" comparing with ssh://user@dummy/$TESTTMP/local searching for changes changeset: 3:a28a9d1a809c @@ -209,7 +209,7 @@ test pushkeys and bookmarks $ cd ../local - $ hg debugpushkey --config ui.ssh=dummyssh ssh://user@dummy/remote namespaces + $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote namespaces bookmarks namespaces phases @@ -224,7 +224,7 @@ no changes found exporting bookmark foo [1] - $ hg debugpushkey --config ui.ssh=dummyssh ssh://user@dummy/remote bookmarks + $ hg debugpushkey --config ui.ssh="python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote bookmarks foo 1160648e36cec0054048a7edc4110c6f84fde594 $ hg book -f foo $ hg push --traceback @@ -294,7 +294,7 @@ $ hg -R ../remote bookmark test $ hg -R ../remote bookmarks * test 4:6c0482d977a3 - $ hg clone -e dummyssh ssh://user@dummy/remote local-bookmarks + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/remote local-bookmarks requesting all changes adding changesets adding manifests @@ -321,21 +321,21 @@ Test remote paths with spaces (issue2983): - $ hg init --ssh dummyssh "ssh://user@dummy/a repo" + $ hg init --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo" $ touch "$TESTTMP/a repo/test" $ hg -R 'a repo' commit -A -m "test" adding test $ hg -R 'a repo' tag tag - $ hg id --ssh dummyssh "ssh://user@dummy/a repo" + $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo" 73649e48688a - $ hg id --ssh dummyssh "ssh://user@dummy/a repo#noNoNO" + $ hg id --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo#noNoNO" abort: unknown revision 'noNoNO'! [255] Test (non-)escaping of remote paths with spaces when cloning (issue3145): - $ hg clone --ssh dummyssh "ssh://user@dummy/a repo" + $ hg clone --ssh "python \"$TESTDIR/dummyssh\"" "ssh://user@dummy/a repo" destination directory: a repo abort: destination 'a repo' is not empty [255] @@ -424,7 +424,7 @@ > [paths] > default-push = ssh://user@dummy/remote > [ui] - > ssh = dummyssh + > ssh = python "$TESTDIR/dummyssh" > [extensions] > localwrite = localwrite.py > EOF @@ -445,7 +445,7 @@ $ hg pull --debug ssh://user@dummy/remote pulling from ssh://user@dummy/remote - running dummyssh user@dummy ('|")hg -R remote serve --stdio('|") (re) + running python ".*/dummyssh" user@dummy ('|")hg -R remote serve --stdio('|") (re) sending hello command sending between command remote: 345 diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-subrepo-relative-path.t --- a/tests/test-subrepo-relative-path.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-subrepo-relative-path.t Tue Jun 09 21:39:33 2015 -0400 @@ -74,7 +74,7 @@ subrepo paths with ssh urls - $ hg clone -e dummyssh ssh://user@dummy/cloned sshclone + $ hg clone -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/cloned sshclone requesting all changes adding changesets adding manifests @@ -89,7 +89,7 @@ added 1 changesets with 1 changes to 1 files 3 files updated, 0 files merged, 0 files removed, 0 files unresolved - $ hg -R sshclone push -e dummyssh ssh://user@dummy/`pwd`/cloned + $ hg -R sshclone push -e "python \"$TESTDIR/dummyssh\"" ssh://user@dummy/`pwd`/cloned pushing to ssh://user@dummy/$TESTTMP/cloned pushing subrepo sub to ssh://user@dummy/$TESTTMP/sub searching for changes diff -r e8eb3ecdaa0c -r c63bf97cf7c7 tests/test-wireproto.t --- a/tests/test-wireproto.t Tue Jun 09 15:18:47 2015 -0700 +++ b/tests/test-wireproto.t Tue Jun 09 21:39:33 2015 -0400 @@ -90,13 +90,13 @@ SSH (try to exercise the ssh functionality with a dummy script): - $ hg debugwireargs --ssh dummyssh ssh://user@dummy/repo uno due tre quattro + $ hg debugwireargs --ssh "python $TESTDIR/dummyssh" ssh://user@dummy/repo uno due tre quattro uno due tre quattro None - $ hg debugwireargs --ssh dummyssh ssh://user@dummy/repo eins zwei --four vier + $ hg debugwireargs --ssh "python $TESTDIR/dummyssh" ssh://user@dummy/repo eins zwei --four vier eins zwei None vier None - $ hg debugwireargs --ssh dummyssh ssh://user@dummy/repo eins zwei + $ hg debugwireargs --ssh "python $TESTDIR/dummyssh" ssh://user@dummy/repo eins zwei eins zwei None None None - $ hg debugwireargs --ssh dummyssh ssh://user@dummy/repo eins zwei --five fuenf + $ hg debugwireargs --ssh "python $TESTDIR/dummyssh" ssh://user@dummy/repo eins zwei --five fuenf eins zwei None None None Explicitly kill daemons to let the test exit on Windows