tests/test-diff-newlines.t
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 28 Mar 2018 10:40:41 -0700
changeset 37295 45b39c69fae0
parent 33305 aaa1f8f514cf
child 39723 5abc47d4ca6b
permissions -rw-r--r--
wireproto: separate commands tables for version 1 and 2 commands We can't easily reuse existing command handlers for version 2 commands because the response types will be different. e.g. many commands return nodes encoded as hex. Our new wire protocol is binary safe, so we'll wish to encode nodes as binary. We /could/ teach each command handler to look at the protocol handler and change behavior based on the version in use. However, this would make logic a bit unwieldy over time and would make it harder to design a unified protocol handler interface. I think it's better to create a clean break between version 1 and version 2 of commands on the server. What I imagine happening is we will have separate @wireprotocommand functions for each protocol generation. Those functions will parse the request, dispatch to a common function to process it, then generate the response in its own, transport-specific manner. This commit establishes a separate table for tracking version 1 commands from version 2 commands. The HTTP server pieces have been updated to use this new table. Most commands are marked as both version 1 and version 2, so there is little practical impact to this change. A side-effect of this change is we now rely on transport registration in wireprototypes.TRANSPORTS and certain properties of the protocol interface. So a test had to be updated to conform. Differential Revision: https://phab.mercurial-scm.org/D2982
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     1
  $ hg init
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     2
33305
aaa1f8f514cf py3: fix test-diff-newlines.t to be compatible with py3
Boris Feld <boris.feld@octobus.net>
parents: 22947
diff changeset
     3
  $ $PYTHON -c 'open("a", "wb").write(b"confuse str.splitlines\nembedded\rnewline\n")'
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     4
  $ hg ci -Ama -d '1 0'
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     5
  adding a
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     6
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     7
  $ echo clean diff >> a
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
     8
  $ hg ci -mb -d '2 0'
2248
b914f0557832 fix diffs containing embedded "\r".
Vadim Gelfer <vadim.gelfer@gmail.com>
parents:
diff changeset
     9
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    10
  $ hg diff -r0 -r1
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    11
  diff -r 107ba6f817b5 -r 310ce7989cdc a
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    12
  --- a/a	Thu Jan 01 00:00:01 1970 +0000
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    13
  +++ b/a	Thu Jan 01 00:00:02 1970 +0000
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    14
  @@ -1,2 +1,3 @@
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    15
   confuse str.splitlines
17742
405b6bd015df run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents: 15522
diff changeset
    16
   embedded\r (no-eol) (esc)
405b6bd015df run-tests: allow test output lines to be terminated with \r in addition to \n
Mads Kiilerich <mads@kiilerich.com>
parents: 15522
diff changeset
    17
  newline
12143
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    18
  +clean diff
bf840a3d1af2 tests: unify test-diff-newlines
Adrian Buehlmann <adrian@cadifra.com>
parents: 2248
diff changeset
    19