tests/seq.py
author Jun Wu <quark@fb.com>
Tue, 04 Jul 2017 16:41:28 -0700
changeset 33270 f7b635716ef2
parent 28722 2cd8c3b0bd11
child 35150 08b8b56bd2e8
permissions -rwxr-xr-x
patch: make parsepatch optionally trim context lines Previously there is a suspicious `if False and delta > 0` which dates back to the beginning of hgext/record.py (b2607267236d). The "trimming context lines" feature could be useful (and is used by the next patch). So let's enable it. This patch adds a new `maxcontext` parameter to `recordhunk` and `parsepatch`, changing the `if False` condition to respect it. The old `trimcontext` implementation is also wrong - it does not update `toline` correctly and it does not do the right thing for `before` context. A doctest was added to guard us from making a similar mistake again. Since `maxcontext` is set to `None` (unlimited), there is no behavior change.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
24360
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     1
#!/usr/bin/env python
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     2
#
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     3
# A portable replacement for 'seq'
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     4
#
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     5
# Usage:
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     6
#   seq STOP              [1, STOP] stepping by 1
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     7
#   seq START STOP        [START, STOP] stepping by 1
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     8
#   seq START STEP STOP   [START, STOP] stepping by STEP
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
     9
28722
2cd8c3b0bd11 py3: use print_function in seq.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28721
diff changeset
    10
from __future__ import absolute_import, print_function
24360
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    11
import sys
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    12
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    13
start = 1
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    14
if len(sys.argv) > 2:
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    15
    start = int(sys.argv[1])
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    16
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    17
step = 1
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    18
if len(sys.argv) > 3:
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    19
    step = int(sys.argv[2])
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    20
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    21
stop = int(sys.argv[-1]) + 1
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    22
f554f89a2038 tests: introduce 'seq.py' as a portable replacement for 'seq'
Matt Harbison <matt_harbison@yahoo.com>
parents:
diff changeset
    23
for i in xrange(start, stop, step):
28722
2cd8c3b0bd11 py3: use print_function in seq.py
Robert Stanca <robert.stanca7@gmail.com>
parents: 28721
diff changeset
    24
    print(i)