tests: demonstrate a problem with renames on the p2 side of a conversion
I think this is related to the octopus merge being sloppy, and that's having a
cascading affect on the fixup merge. If this change is made on p1 (specifically
with the 'Added parent file' commit), the failure doesn't occur.
The file modification with the rename doesn't seem to be necessary, but it's
what's happening in a production repo where I first noticed, so I left it. This
is an example of the manifest divergence I'd been seeing, which wasn't fixed by
Yuya's recent changes. This is separate from the changelog divergence I was
also seeing[1]. Probably nobody cares about bzr anymore, but this will also
affect git, since the octopus fixup code is in the hg sink.
[1] https://www.mercurial-scm.org/pipermail/mercurial-devel/2018-August/120473.html
from __future__ import absolute_import, print_function
import unittest
class TestResult(unittest._TextTestResult):
def __init__(self, options, *args, **kwargs):
super(TestResult, self).__init__(*args, **kwargs)
self._options = options
# unittest.TestResult didn't have skipped until 2.7. We need to
# polyfill it.
self.skipped = []
# We have a custom "ignored" result that isn't present in any Python
# unittest implementation. It is very similar to skipped. It may make
# sense to map it into skip some day.
self.ignored = []
self.times = []
self._firststarttime = None
# Data stored for the benefit of generating xunit reports.
self.successes = []
self.faildata = {}
def addFailure(self, test, reason):
print("FAILURE!", test, reason)
def addSuccess(self, test):
print("SUCCESS!", test)
def addError(self, test, err):
print("ERR!", test, err)
# Polyfill.
def addSkip(self, test, reason):
print("SKIP!", test, reason)
def addIgnore(self, test, reason):
print("IGNORE!", test, reason)
def onStart(self, test):
print("ON_START!", test)
def onEnd(self):
print("ON_END!")
def addOutputMismatch(self, test, ret, got, expected):
return False
def stopTest(self, test, interrupted=False):
super(TestResult, self).stopTest(test)