Mercurial > hg
view tests/test-ssh-clone-r @ 6265:be76e54570f0
Issue937: error messages from hooks not sent over HTTP.
Turns out that stderr - where ui.warn would send messages - was not
being proxied over the HTTP connection. stdout was, and it seems you
need both. (The streams are interleaved for readability.)
Tested on Ubuntu 7.10 with lighttpd on hgweb.cgi with HTTP Basic auth,
no SSL, using a changeset failing win32text.forbidcrlf.
author | Jesse Glick <jesse.glick@sun.com> |
---|---|
date | Mon, 25 Feb 2008 09:55:57 -0500 |
parents | 6b1e1b9da853 |
children |
line wrap: on
line source
#!/bin/sh # This test tries to exercise the ssh functionality with a dummy script cat <<EOF > dummyssh import sys import os os.chdir(os.path.dirname(sys.argv[0])) if sys.argv[1] != "user@dummy": sys.exit(-1) if not os.path.exists("dummyssh"): sys.exit(-1) os.environ["SSH_CLIENT"] = "127.0.0.1 1 2" log = open("dummylog", "ab") log.write("Got arguments") for i, arg in enumerate(sys.argv[1:]): log.write(" %d:%s" % (i+1, arg)) log.write("\n") log.close() r = os.system(sys.argv[2]) sys.exit(bool(r)) EOF hg init remote cd remote echo "# creating 'remote'" cat >>afile <<EOF 0 EOF hg add afile hg commit -m "0.0" cat >>afile <<EOF 1 EOF hg commit -m "0.1" cat >>afile <<EOF 2 EOF hg commit -m "0.2" cat >>afile <<EOF 3 EOF hg commit -m "0.3" hg update -C 0 cat >>afile <<EOF 1 EOF hg commit -m "1.1" cat >>afile <<EOF 2 EOF hg commit -m "1.2" cat >fred <<EOF a line EOF cat >>afile <<EOF 3 EOF hg add fred hg commit -m "1.3" hg mv afile adifferentfile hg commit -m "1.3m" hg update -C 3 hg mv afile anotherfile hg commit -m "0.3m" hg debugindex .hg/store/data/afile.i hg debugindex .hg/store/data/adifferentfile.i hg debugindex .hg/store/data/anotherfile.i hg debugindex .hg/store/data/fred.i hg debugindex .hg/store/00manifest.i hg verify cd .. echo "# clone remote via stream" for i in 0 1 2 3 4 5 6 7 8; do hg clone -e "python ./dummyssh" --uncompressed -r "$i" ssh://user@dummy/remote test-"$i" 2>&1 if cd test-"$i"; then hg verify cd .. fi done cd test-8 hg pull ../test-7 hg verify cd .. cd test-1 hg pull -e "python ../dummyssh" -r 4 ssh://user@dummy/remote 2>&1 hg verify hg pull -e "python ../dummyssh" ssh://user@dummy/remote 2>&1 cd .. cd test-2 hg pull -e "python ../dummyssh" -r 5 ssh://user@dummy/remote 2>&1 hg verify hg pull -e "python ../dummyssh" ssh://user@dummy/remote 2>&1 hg verify cd ..