view tests/test-issue4074.t @ 37459:90c5ca718781

procutil: rewrite popen() as a subprocess.Popen wrapper (issue4746) (API) os.popen() of Python 3 is not the popen() we want. First, it doesn't accept command in bytes. Second, a returned stream is always wrapped by TextIO. So we have to reimplement our popen(). Fortunately, this fixes the bug 4746 since ours returns an exit code compatible with explainexit(). .. api:: ``procutil.popen()`` no longer supports text mode I/O.
author Yuya Nishihara <yuya@tcha.org>
date Sat, 07 Apr 2018 21:09:21 +0900
parents 57c671cf7a69
children 5abc47d4ca6b
line wrap: on
line source

#require no-pure

A script to generate nasty diff worst-case scenarios:

  $ cat > s.py <<EOF
  > import random
  > for x in range(100000):
  >     print
  >     if random.randint(0, 100) >= 50:
  >         x += 1
  >     print(hex(x))
  > EOF

  $ hg init a
  $ cd a

Check in a big file:

  $ $PYTHON ../s.py > a
  $ hg ci -qAm0

Modify it:

  $ $PYTHON ../s.py > a

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)