HomePhabricator

tests: add tests for server-side linknode adjustment with wireprotov2

Authored by indygreg.

Description

tests: add tests for server-side linknode adjustment with wireprotov2

The current implementation of linknode serving in wireprotov2 simply
serves up the linkrev/linknode as stored: it doesn't attempt to
adjust the linknode to what the receiver is aware of. This can result
in the client seeing a linknode referencing a changeset that is unknown
to it.

This commit adds test coverage of that scenario.

The tests in test-wireproto-command-filesdata.t demonstrate two failures.
First, the linknode refers to a changeset not in the available set.
Second, the server doesn't send a file revision that it should have
(because of linkrev filtering).

The test in test-wireproto-exchange.t demonstrates that the lack of
a file revision results in a corrupted repository on the client.

Differential Revision: https://phab.mercurial-scm.org/D5404

Details

Committed
indygregDec 10 2018, 12:26 PM
Differential Revision
D5404: tests: add tests for server-side linknode adjustment with wireprotov2
Parents
rHGafdbc9c6a333: tests: fix empty commit in test
Branches
Unknown
Tags
Unknown