tests: introduce 'seq.py' as a portable replacement for 'seq'
OS X 10.6.8 doesn't have it, while 10.10 does. I'm not sure when it was added.
It may be missing from other platforms as well.
This currently doesn't handle the string manipulation options (-f, -s and -w in
MinGW anyway), since there is currently no need for it. Since xrange defaults
to starting at 0 instead of 1, and treats the end as exclusive instead of
inclusive, the args need to be extracted instead of doing:
xrange(*[int(a) for a in sys.argv[1:]])
Therefore, the step might as well be added, even though there is no current use.
#!/usr/bin/env python
#
# A portable replacement for 'seq'
#
# Usage:
# seq STOP [1, STOP] stepping by 1
# seq START STOP [START, STOP] stepping by 1
# seq START STEP STOP [START, STOP] stepping by STEP
import sys
start = 1
if len(sys.argv) > 2:
start = int(sys.argv[1])
step = 1
if len(sys.argv) > 3:
step = int(sys.argv[2])
stop = int(sys.argv[-1]) + 1
for i in xrange(start, stop, step):
print i