Tried to write errors to stderr consistently in scripts
This commit is contained in:
+2
-1
@@ -100,7 +100,8 @@ def main(csv_paths, output, *,
|
|||||||
fields = [k for k, _ in fields]
|
fields = [k for k, _ in fields]
|
||||||
|
|
||||||
if by is None and fields is None:
|
if by is None and fields is None:
|
||||||
print("error: needs --by or --fields to figure out fields")
|
print("error: needs --by or --fields to figure out fields",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# collect results from csv files
|
# collect results from csv files
|
||||||
|
|||||||
+2
-1
@@ -118,7 +118,8 @@ def main(csv_paths, output, *,
|
|||||||
fields = [k for k, _ in fields]
|
fields = [k for k, _ in fields]
|
||||||
|
|
||||||
if by is None and fields is None:
|
if by is None and fields is None:
|
||||||
print("error: needs --by or --fields to figure out fields")
|
print("error: needs --by or --fields to figure out fields",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# collect results from csv files
|
# collect results from csv files
|
||||||
|
|||||||
+10
-7
@@ -293,7 +293,8 @@ def compile(bench_paths, **args):
|
|||||||
print('%serror:%s cycle detected in suite ordering: {%s}' % (
|
print('%serror:%s cycle detected in suite ordering: {%s}' % (
|
||||||
'\x1b[01;31m' if args['color'] else '',
|
'\x1b[01;31m' if args['color'] else '',
|
||||||
'\x1b[m' if args['color'] else '',
|
'\x1b[m' if args['color'] else '',
|
||||||
', '.join(suite.name for suite in pending.values())))
|
', '.join(suite.name for suite in pending.values())),
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
pending = pending_
|
pending = pending_
|
||||||
@@ -332,7 +333,8 @@ def compile(bench_paths, **args):
|
|||||||
print('%serror:%s compiling more than one bench suite? (%r)' % (
|
print('%serror:%s compiling more than one bench suite? (%r)' % (
|
||||||
'\x1b[01;31m' if args['color'] else '',
|
'\x1b[01;31m' if args['color'] else '',
|
||||||
'\x1b[m' if args['color'] else '',
|
'\x1b[m' if args['color'] else '',
|
||||||
bench_paths))
|
bench_paths),
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
suite = suites[0]
|
suite = suites[0]
|
||||||
@@ -708,7 +710,7 @@ def find_perms(runner, bench_ids=[], **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# get which suite each case belongs to via paths
|
# get which suite each case belongs to via paths
|
||||||
@@ -738,7 +740,7 @@ def find_perms(runner, bench_ids=[], **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# figure out expected suite perms
|
# figure out expected suite perms
|
||||||
@@ -782,7 +784,7 @@ def find_path(runner, id, **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
return path
|
return path
|
||||||
@@ -811,7 +813,7 @@ def find_defines(runner, id, **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
return defines
|
return defines
|
||||||
@@ -863,7 +865,8 @@ def find_ids(runner, bench_ids=[], **args):
|
|||||||
print('%serror:%s no benches match id %r?' % (
|
print('%serror:%s no benches match id %r?' % (
|
||||||
'\x1b[01;31m' if args['color'] else '',
|
'\x1b[01;31m' if args['color'] else '',
|
||||||
'\x1b[m' if args['color'] else '',
|
'\x1b[m' if args['color'] else '',
|
||||||
id))
|
id),
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
bench_ids_.extend(bench_ids__)
|
bench_ids_.extend(bench_ids__)
|
||||||
|
|||||||
+5
-4
@@ -187,7 +187,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
|
|
||||||
@@ -226,7 +226,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# do nothing on error, we don't need objdump to work, source files
|
# do nothing on error, we don't need objdump to work, source files
|
||||||
# may just be inaccurate
|
# may just be inaccurate
|
||||||
pass
|
pass
|
||||||
@@ -268,7 +268,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# do nothing on error, we don't need objdump to work, source files
|
# do nothing on error, we don't need objdump to work, source files
|
||||||
# may just be inaccurate
|
# may just be inaccurate
|
||||||
pass
|
pass
|
||||||
@@ -321,7 +321,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
|
|||||||
+3
-2
@@ -233,7 +233,7 @@ def collect(gcda_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# collect line/branch coverage
|
# collect line/branch coverage
|
||||||
@@ -303,7 +303,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
|
|||||||
+5
-4
@@ -187,7 +187,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
|
|
||||||
@@ -226,7 +226,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# do nothing on error, we don't need objdump to work, source files
|
# do nothing on error, we don't need objdump to work, source files
|
||||||
# may just be inaccurate
|
# may just be inaccurate
|
||||||
pass
|
pass
|
||||||
@@ -268,7 +268,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# do nothing on error, we don't need objdump to work, source files
|
# do nothing on error, we don't need objdump to work, source files
|
||||||
# may just be inaccurate
|
# may just be inaccurate
|
||||||
pass
|
pass
|
||||||
@@ -321,7 +321,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
|
|||||||
+2
-1
@@ -89,7 +89,8 @@ def main(disk, block=None, *,
|
|||||||
block = [0]
|
block = [0]
|
||||||
|
|
||||||
if len(block) > 1:
|
if len(block) > 1:
|
||||||
print("error: More than one block address?")
|
print("error: more than one block address?",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
block = block[0]
|
block = block[0]
|
||||||
|
|||||||
+2
-1
@@ -1363,7 +1363,8 @@ def main(disk, mroots=None, *,
|
|||||||
size = None
|
size = None
|
||||||
|
|
||||||
if any(isinstance(b, list) and len(b) > 1 for b in block):
|
if any(isinstance(b, list) and len(b) > 1 for b in block):
|
||||||
print("error: More than one block address?")
|
print("error: more than one block address?",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
if isinstance(block[0], list):
|
if isinstance(block[0], list):
|
||||||
block = (block[0][0], *block[1:])
|
block = (block[0][0], *block[1:])
|
||||||
|
|||||||
+9
-6
@@ -291,7 +291,7 @@ def collect_syms_and_lines(obj_path, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# assume no debug-info on failure
|
# assume no debug-info on failure
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -361,7 +361,7 @@ def collect_syms_and_lines(obj_path, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# assume no debug-info on failure
|
# assume no debug-info on failure
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -567,7 +567,7 @@ def collect_decompressed(path, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# rearrange results into result type
|
# rearrange results into result type
|
||||||
@@ -633,7 +633,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
@@ -1361,10 +1362,12 @@ if __name__ == "__main__":
|
|||||||
args.command = args.perf_paths
|
args.command = args.perf_paths
|
||||||
if args.record:
|
if args.record:
|
||||||
if not args.command:
|
if not args.command:
|
||||||
print('error: no command specified?')
|
print('error: no command specified?',
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
if not args.output:
|
if not args.output:
|
||||||
print('error: no output file specified?')
|
print('error: no output file specified?',
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
sys.exit(main(**{k: v
|
sys.exit(main(**{k: v
|
||||||
|
|||||||
+4
-3
@@ -199,7 +199,7 @@ def collect_syms_and_lines(obj_path, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# assume no debug-info on failure
|
# assume no debug-info on failure
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -269,7 +269,7 @@ def collect_syms_and_lines(obj_path, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
# assume no debug-info on failure
|
# assume no debug-info on failure
|
||||||
pass
|
pass
|
||||||
|
|
||||||
@@ -599,7 +599,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
|
|||||||
+2
-1
@@ -903,7 +903,8 @@ def main(csv_paths, *,
|
|||||||
all_y = [k for k, _ in all_y]
|
all_y = [k for k, _ in all_y]
|
||||||
|
|
||||||
if not all_by and not all_y:
|
if not all_by and not all_y:
|
||||||
print("error: needs --by or -y to figure out fields")
|
print("error: needs --by or -y to figure out fields",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# create a grid of subplots
|
# create a grid of subplots
|
||||||
|
|||||||
+2
-1
@@ -745,7 +745,8 @@ def main(csv_paths, output, *,
|
|||||||
all_y = [k for k, _ in all_y]
|
all_y = [k for k, _ in all_y]
|
||||||
|
|
||||||
if not all_by and not all_y:
|
if not all_by and not all_y:
|
||||||
print("error: needs --by or -y to figure out fields")
|
print("error: needs --by or -y to figure out fields",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# first collect results from CSV files
|
# first collect results from CSV files
|
||||||
|
|||||||
+2
-1
@@ -279,7 +279,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
|
|||||||
+4
-3
@@ -183,7 +183,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# collect structs as we parse dwarf info
|
# collect structs as we parse dwarf info
|
||||||
@@ -230,7 +230,7 @@ def collect(obj_paths, *,
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
for r in results_:
|
for r in results_:
|
||||||
@@ -270,7 +270,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
|
|||||||
+10
-5
@@ -324,7 +324,8 @@ def infer(fields_, results,
|
|||||||
types_[k] = t
|
types_[k] = t
|
||||||
break
|
break
|
||||||
else:
|
else:
|
||||||
print("error: no type matches field %r?" % k)
|
print("error: no type matches field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
types = types_
|
types = types_
|
||||||
|
|
||||||
@@ -376,7 +377,8 @@ def fold(Result, results, by=None, defines=[]):
|
|||||||
|
|
||||||
for k in it.chain(by or [], (k for k, _ in defines)):
|
for k in it.chain(by or [], (k for k, _ in defines)):
|
||||||
if k not in Result._by and k not in Result._fields:
|
if k not in Result._by and k not in Result._fields:
|
||||||
print("error: could not find field %r?" % k)
|
print("error: could not find field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# filter by matching defines
|
# filter by matching defines
|
||||||
@@ -593,7 +595,8 @@ def main(csv_paths, *,
|
|||||||
for t in TYPES.keys():
|
for t in TYPES.keys():
|
||||||
for k in args.get(t, []):
|
for k in args.get(t, []):
|
||||||
if k in types:
|
if k in types:
|
||||||
print("error: conflicting type for field %r?" % k)
|
print("error: conflicting type for field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
types[k] = TYPES[t]
|
types[k] = TYPES[t]
|
||||||
# rename types?
|
# rename types?
|
||||||
@@ -609,7 +612,8 @@ def main(csv_paths, *,
|
|||||||
for o in OPS.keys():
|
for o in OPS.keys():
|
||||||
for k in args.get(o, []):
|
for k in args.get(o, []):
|
||||||
if k in ops:
|
if k in ops:
|
||||||
print("error: conflicting op for field %r?" % k)
|
print("error: conflicting op for field %r?" % k,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
ops[k] = OPS[o]
|
ops[k] = OPS[o]
|
||||||
# rename ops?
|
# rename ops?
|
||||||
@@ -621,7 +625,8 @@ def main(csv_paths, *,
|
|||||||
ops.update(ops_)
|
ops.update(ops_)
|
||||||
|
|
||||||
if by is None and fields is None:
|
if by is None and fields is None:
|
||||||
print("error: needs --by or --fields to figure out fields")
|
print("error: needs --by or --fields to figure out fields",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# find CSV files
|
# find CSV files
|
||||||
|
|||||||
+2
-1
@@ -131,7 +131,8 @@ def main(path='-', *, lines=5, cat=False, sleep=None, keep_open=False):
|
|||||||
# don't just flood open calls
|
# don't just flood open calls
|
||||||
time.sleep(sleep or 0.1)
|
time.sleep(sleep or 0.1)
|
||||||
except FileNotFoundError as e:
|
except FileNotFoundError as e:
|
||||||
print("error: file not found %r" % path)
|
print("error: file not found %r" % path,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
pass
|
pass
|
||||||
|
|||||||
+2
-1
@@ -44,7 +44,8 @@ def main(in_path, out_paths, *, keep_open=False):
|
|||||||
except BrokenPipeError:
|
except BrokenPipeError:
|
||||||
pass
|
pass
|
||||||
except FileNotFoundError as e:
|
except FileNotFoundError as e:
|
||||||
print("error: file not found %r" % in_path)
|
print("error: file not found %r" % in_path,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
pass
|
pass
|
||||||
|
|||||||
+10
-7
@@ -298,7 +298,8 @@ def compile(test_paths, **args):
|
|||||||
print('%serror:%s cycle detected in suite ordering: {%s}' % (
|
print('%serror:%s cycle detected in suite ordering: {%s}' % (
|
||||||
'\x1b[01;31m' if args['color'] else '',
|
'\x1b[01;31m' if args['color'] else '',
|
||||||
'\x1b[m' if args['color'] else '',
|
'\x1b[m' if args['color'] else '',
|
||||||
', '.join(suite.name for suite in pending.values())))
|
', '.join(suite.name for suite in pending.values())),
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
pending = pending_
|
pending = pending_
|
||||||
@@ -337,7 +338,8 @@ def compile(test_paths, **args):
|
|||||||
print('%serror:%s compiling more than one test suite? (%r)' % (
|
print('%serror:%s compiling more than one test suite? (%r)' % (
|
||||||
'\x1b[01;31m' if args['color'] else '',
|
'\x1b[01;31m' if args['color'] else '',
|
||||||
'\x1b[m' if args['color'] else '',
|
'\x1b[m' if args['color'] else '',
|
||||||
test_paths))
|
test_paths),
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
suite = suites[0]
|
suite = suites[0]
|
||||||
@@ -717,7 +719,7 @@ def find_perms(runner, test_ids=[], **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# get which suite each case belongs to via paths
|
# get which suite each case belongs to via paths
|
||||||
@@ -747,7 +749,7 @@ def find_perms(runner, test_ids=[], **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
# figure out expected suite perms
|
# figure out expected suite perms
|
||||||
@@ -791,7 +793,7 @@ def find_path(runner, id, **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
return path
|
return path
|
||||||
@@ -820,7 +822,7 @@ def find_defines(runner, id, **args):
|
|||||||
if proc.returncode != 0:
|
if proc.returncode != 0:
|
||||||
if not args.get('verbose'):
|
if not args.get('verbose'):
|
||||||
for line in proc.stderr:
|
for line in proc.stderr:
|
||||||
sys.stdout.write(line)
|
sys.stderr.write(line)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
return defines
|
return defines
|
||||||
@@ -872,7 +874,8 @@ def find_ids(runner, test_ids=[], **args):
|
|||||||
print('%serror:%s no tests match id %r?' % (
|
print('%serror:%s no tests match id %r?' % (
|
||||||
'\x1b[01;31m' if args['color'] else '',
|
'\x1b[01;31m' if args['color'] else '',
|
||||||
'\x1b[m' if args['color'] else '',
|
'\x1b[m' if args['color'] else '',
|
||||||
id))
|
id),
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
|
|
||||||
test_ids_.extend(test_ids__)
|
test_ids_.extend(test_ids__)
|
||||||
|
|||||||
+4
-2
@@ -717,7 +717,8 @@ def main(path='-', *,
|
|||||||
size = None
|
size = None
|
||||||
|
|
||||||
if any(isinstance(b, list) and len(b) > 1 for b in block):
|
if any(isinstance(b, list) and len(b) > 1 for b in block):
|
||||||
print("error: More than one block address?")
|
print("error: more than one block address?",
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
if isinstance(block[0], list):
|
if isinstance(block[0], list):
|
||||||
block = (block[0][0], *block[1:])
|
block = (block[0][0], *block[1:])
|
||||||
@@ -1013,7 +1014,8 @@ def main(path='-', *,
|
|||||||
# don't just flood open calls
|
# don't just flood open calls
|
||||||
time.sleep(sleep or 0.1)
|
time.sleep(sleep or 0.1)
|
||||||
except FileNotFoundError as e:
|
except FileNotFoundError as e:
|
||||||
print("error: file not found %r" % path)
|
print("error: file not found %r" % path,
|
||||||
|
file=sys.stderr)
|
||||||
sys.exit(-1)
|
sys.exit(-1)
|
||||||
except KeyboardInterrupt:
|
except KeyboardInterrupt:
|
||||||
pass
|
pass
|
||||||
|
|||||||
Reference in New Issue
Block a user