# HG changeset patch # User Gregory Szorc # Date 1519075217 28800 # Node ID 02782e6e2c382ec232a8b431daba137cf035a3a5 # Parent 043e77f3be0964e39b90c35820e6dfbad2b0732a tests: store protocol payload in files Upcoming changes to version 2 of the SSH protocol will introduce binary components to the protocol. It will be easier to eliminate trailing newlines and use binary in the tests if the protocol payload is being generated by Python. So use inline Python to write payloads to files and pipe those files to server processes instead of shell strings/variables. Differential Revision: https://phab.mercurial-scm.org/D2381 diff -r 043e77f3be09 -r 02782e6e2c38 tests/test-ssh-proto.t --- a/tests/test-ssh-proto.t Wed Feb 21 08:35:48 2018 -0800 +++ b/tests/test-ssh-proto.t Mon Feb 19 13:20:17 2018 -0800 @@ -463,13 +463,14 @@ Send an upgrade request to a server that supports upgrade - $ hg -R server serve --stdio << EOF - > upgrade this-is-some-token proto=exp-ssh-v2-0001 - > hello - > between - > pairs 81 - > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000 - > EOF + >>> with open('payload', 'wb') as fh: + ... fh.write(b'upgrade this-is-some-token proto=exp-ssh-v2-0001\n') + ... fh.write(b'hello\n') + ... fh.write(b'between\n') + ... fh.write(b'pairs 81\n') + ... fh.write(b'0000000000000000000000000000000000000000-0000000000000000000000000000000000000000') + + $ hg -R server serve --stdio < payload upgraded this-is-some-token exp-ssh-v2-0001 383 capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 $USUAL_BUNDLE2_CAPS_SERVER$ unbundle=HG10GZ,HG10BZ,HG10UN @@ -540,13 +541,14 @@ Command after upgrade to version 2 is processed - $ hg -R server serve --stdio << EOF - > upgrade this-is-some-token proto=exp-ssh-v2-0001 - > hello - > between - > pairs 81 - > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000hello - > EOF + >>> with open('payload', 'wb') as fh: + ... fh.write(b'upgrade this-is-some-token proto=exp-ssh-v2-0001\n') + ... fh.write(b'hello\n') + ... fh.write(b'between\n') + ... fh.write(b'pairs 81\n') + ... fh.write(b'0000000000000000000000000000000000000000-0000000000000000000000000000000000000000') + ... fh.write(b'hello\n') + $ hg -R server serve --stdio < payload upgraded this-is-some-token exp-ssh-v2-0001 383 capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 $USUAL_BUNDLE2_CAPS_SERVER$ unbundle=HG10GZ,HG10BZ,HG10UN @@ -555,14 +557,15 @@ Multiple upgrades is not allowed - $ hg -R server serve --stdio << EOF - > upgrade this-is-some-token proto=exp-ssh-v2-0001 - > hello - > between - > pairs 81 - > 0000000000000000000000000000000000000000-0000000000000000000000000000000000000000upgrade another-token proto=irrelevant - > hello - > EOF + >>> with open('payload', 'wb') as fh: + ... fh.write(b'upgrade this-is-some-token proto=exp-ssh-v2-0001\n') + ... fh.write(b'hello\n') + ... fh.write(b'between\n') + ... fh.write(b'pairs 81\n') + ... fh.write(b'0000000000000000000000000000000000000000-0000000000000000000000000000000000000000') + ... fh.write(b'upgrade another-token proto=irrelevant\n') + ... fh.write(b'hello\n') + $ hg -R server serve --stdio < payload upgraded this-is-some-token exp-ssh-v2-0001 383 capabilities: lookup changegroupsubset branchmap pushkey known getbundle unbundlehash batch streamreqs=generaldelta,revlogv1 $USUAL_BUNDLE2_CAPS_SERVER$ unbundle=HG10GZ,HG10BZ,HG10UN