Commit Graph

5 Commits

Author SHA1 Message Date
Pierre-Yves David
636283dca4 test: add isolated prune case (to test-obsolete-bundle-strip.t)
This adds a test where the prune marker is not related to any other obsmarkers.
2017-05-25 19:38:00 +02:00
Pierre-Yves David
9e015c520e test-obsolete-bundle-strip: add a complex split and fold case
This is a more complex case that checks the logic used when split and fold gets
into play.
2017-05-25 19:37:47 +02:00
Pierre-Yves David
7a14094fa3 test-obsolete-bundle-strip: add cases with prune on missing revs
Same as the previously added case, but the prune is no longer known locally.
This will mostly matter for the strip testing. Introducing the test early will
help clarify patches related to strip.
2017-05-25 19:37:29 +02:00
Pierre-Yves David
1a819b73cb obsolete: fix relevant-obsmarkers computation on pruned changeset
The markers pruning a node was not directly considered relevant for the pruned
node, only to its parents.

This went unnoticed during obsmarkers exchange because all
ancestors of the pruned node would be included in the computation.
This still affects obsmarkers exchange a bit since "inline" prune markers would
be ignored (see second test case). This went unnoticed, because in such case,
we always push another obsolescence markers for that node.

We add explicit tests covering this case.

(The set of relevant changeset is use in the obsmarkers discovery protocol used
in the evolve experimental extension, the impact will be handled on the
extension side).
2017-05-25 19:37:29 +02:00
Pierre-Yves David
477904fd0f test: add a test file for relevant obsmarkers and its usage
The logic around obsmarkers "relevant" to a set of revs have a couple of test
around in other places but no systematic testing. In addition, all the current
testing focus on the exchange case (we looks at relevant markers for
'::heads').

For bundles, we'll need something a bit different. We'll no longer have set of
revision going down to the repository roots. So we'll have to test these cases
too. In addition, stripping obsmarkers will introduce new logic around
obsmarkers that will need testing too. So a new test file make sense here.

We start with a simple tests, more advanced cases are coming in the next
changesets. The extra testing catch a minor bug (later in the series).
2017-05-25 19:37:07 +02:00