tests: fix nondeterministic test failure in test-contrib-perf.t
It turns out (not too shockingly!) the kernel sometimes has some work to do,
perhaps at the very least context-switching, so asserting the system time
is 0.000000 doesn't work.
grep: restore usage of --include/--exclude options
The refactor in
4a73df6eb67d accidentally forgot to transform the opts
argument for walkopts into a byteskwargs. This resulted in its options
being ignored. In particular, the -X/-I pair of options was missing.
A simple fix restores its usage. Tests included, of course.
tests: use sha256line.py instead of /dev/random in test-censor.t (
issue6858)
Sometimes the systems that run our test suite don't have enough entropy and
they cannot produce target file of the expected size using /dev/random, which
results in test failures. Switching to /dev/urandom would give us way more
available data at the cost of it being less "random", but we don't really need
to use entropy for this task at all, since we only care if the file size after
compression is big enough to not be stored inline in the revlog. So let's use
something that we already have used to generate this kind of data in other
tests.
tests: make sha256line.py available for all tests
This was previously only used in test-revlog-delta-find.t, but it will be
useful (and used) in other tests that might need to generate
poorly-compressible files.
delta-find: pass the full deltainfo to the _DeltaSearch class
Having more information is better, so we pass it directly.
delta-find: move sparse-revlog pre-filtering in the associated class
Lets move the specialized code in the specialized class.
delta-find: move sparse-revlog delta checks in the associated class
Lets move the specialized code in the specialized class.
delta-find: split the _DeltaSearch class in two
We now have things sliced small enough to have two class that use different
`_iter_groups` implementation to encode their different logic.
The filtering code remains to be moved, but I would rather keep this changeset
simple and move them in the next.