# HG changeset patch # User Gregory Szorc # Date 1408209566 25200 # Node ID 8341c677c204a0ebe33eac365ade8407bf0d0ec2 # Parent 331cbf088c4cc553f23df25d4a520b79bc7ec291 test-ssh: verify that stderr from remote is printed (issue4336) The issue fixed in the previous patch was uncovered by implementing an extension that printed additional output locally before the push command completed. This test emulates that. If this change is applied before the previous patch, the test will fail on Linux, with the local output being printed before the "remote: " lines. diff -r 331cbf088c4c -r 8341c677c204 tests/test-ssh.t --- a/tests/test-ssh.t Sat Aug 16 10:28:59 2014 -0700 +++ b/tests/test-ssh.t Sat Aug 16 10:19:26 2014 -0700 @@ -360,6 +360,47 @@ $ cd .. +stderr from remote commands should be printed before stdout from local code (issue4336) + + $ hg clone remote stderr-ordering + updating to branch default + 3 files updated, 0 files merged, 0 files removed, 0 files unresolved + $ cd stderr-ordering + $ cat >> localwrite.py << EOF + > from mercurial import exchange, extensions + > + > def wrappedpush(orig, repo, *args, **kwargs): + > res = orig(repo, *args, **kwargs) + > repo.ui.write('local stdout\n') + > return res + > + > def extsetup(ui): + > extensions.wrapfunction(exchange, 'push', wrappedpush) + > EOF + + $ cat >> .hg/hgrc << EOF + > [paths] + > default-push = ssh://user@dummy/remote + > [ui] + > ssh = python "$TESTDIR/dummyssh" + > [extensions] + > localwrite = localwrite.py + > EOF + + $ echo localwrite > foo + $ hg commit -m 'testing localwrite' + $ hg push + pushing to ssh://user@dummy/remote + searching for changes + remote: adding changesets + remote: adding manifests + remote: adding file changes + remote: added 1 changesets with 1 changes to 1 files + remote: KABOOM + local stdout + + $ cd .. + $ cat dummylog Got arguments 1:user@dummy 2:hg -R nonexistent serve --stdio Got arguments 1:user@dummy 2:hg -R /$TESTTMP/nonexistent serve --stdio @@ -387,3 +428,5 @@ Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio Got arguments 1:user@dummy 2:hg -R 'a repo' serve --stdio + Got arguments 1:user@dummy 2:hg -R remote serve --stdio + changegroup-in-remote hook: HG_NODE=65c38f4125f9602c8db4af56530cc221d93b8ef8 HG_SOURCE=serve HG_URL=remote:ssh:127.0.0.1