##// END OF EJS Templates
narrow: fix flaky behavior described in issue6150...
narrow: fix flaky behavior described in issue6150 This has been plaguing the CI for a good while, and it doesn't appear to have an easy fix proposed yet. The solution in this change is to always do an unambiguous (but expensive) lookup in case of comparison. This should always be correct, albeit suboptimal. Differential Revision: https://phab.mercurial-scm.org/D10034

File last commit:

r44837:60bc043d stable
r47280:b994db7c stable
Show More
test-issue4074.t
29 lines | 539 B | text/troff | Tads3Lexer
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 #require no-pure
A script to generate nasty diff worst-case scenarios:
$ cat > s.py <<EOF
> import random
Pulkit Goyal
py3: use range instead of xrange in tests/test-issue4074.t...
r36305 > for x in range(100000):
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 > print
> if random.randint(0, 100) >= 50:
> x += 1
Augie Fackler
tests: clean up many print statements to be print functions instead...
r33687 > print(hex(x))
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 > EOF
$ hg init a
$ cd a
Check in a big file:
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../s.py > a
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 $ hg ci -qAm0
Modify it:
Matt Harbison
tests: quote PYTHON usage...
r39743 $ "$PYTHON" ../s.py > a
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014
Time a check-in, should never take more than 10 seconds user time:
test: pin the number of CPU for issue4074 tests...
r44837 $ hg ci --time -m1 --config worker.enabled=no
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 time: real .* secs .user [0-9][.].* sys .* (re)