##// END OF EJS Templates
revsetlang: do not pass in non-bytes to parse()...
revsetlang: do not pass in non-bytes to parse() Since parse() isn't a simple function, we shouldn't expect it would raise TypeError or ValueError for invalid inputs. Before, TypeError was raised at 'if pos != len(spec)', which was quite late to report an error. This patch also makes tokenize() detect invalid object before converting it to a py3-safe bytes. Spotted while adding the 'revset(...)' hack to _parsewith().

File last commit:

r36305:57c671cf default
r37793:03d7f885 default
Show More
test-issue4074.t
29 lines | 508 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:
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $PYTHON ../s.py > a
Matt Mackall
bdiff: balance recursion to avoid quadratic behavior (issue4704)...
r29014 $ hg ci -qAm0
Modify it:
Augie Fackler
cleanup: use $PYTHON to run python in many more tests...
r32940 $ $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:
$ hg ci --time -m1
time: real .* secs .user [0-9][.].* sys .* (re)