mercurial/testing/__init__.py
author Gregory Szorc <gregory.szorc@gmail.com>
Wed, 03 Oct 2018 10:56:48 -0700
changeset 40051 cdf61ab1f54c
parent 39772 ae531f5e583c
child 46984 99c629101b73
permissions -rw-r--r--
testing: add file storage integration for bad hashes and censoring In order to implement these tests, we need a backdoor to write data into storage backends while bypassing normal checks. We invent a callable to do that. As part of writing the tests, I found a bug with censorrevision() pretty quickly! After calling censorrevision(), attempting to access revision data for an affected node raises a cryptic error related to malformed compression. This appears to be due to the revlog not adjusting delta chains as part of censoring. I also found a bug with regards to hash verification and revision fulltext caching. Essentially, we cache the fulltext before hash verification. If we look up the fulltext after a failed hash verification, we don't get a hash verification exception. Furthermore, the behavior of revision(raw=True) can be inconsistent depending on the order of operations. I'll be fixing both these bugs in subsequent commits. Differential Revision: https://phab.mercurial-scm.org/D4865
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines: