Fix test.py hang on ctrl-C, cleanup TODOs

A small mistake in test.py's control flow meant the failing test job
would succesfully kill all other test jobs, but then humorously start
up a new process to continue testing.
This commit is contained in:
Christopher Haster
2022-05-14 23:37:19 -05:00
parent 4a42326797
commit 1616115662
7 changed files with 72 additions and 61 deletions

View File

@@ -17,6 +17,15 @@ import collections as co
OBJ_PATHS = ['*.o']
def openio(path, mode='r'):
if path == '-':
if 'r' in mode:
return os.fdopen(os.dup(sys.stdin.fileno()), 'r')
else:
return os.fdopen(os.dup(sys.stdout.fileno()), 'w')
else:
return open(path, mode)
def collect(paths, **args):
results = co.defaultdict(lambda: 0)
pattern = re.compile(
@@ -64,15 +73,6 @@ def collect(paths, **args):
return flat_results
def main(**args):
def openio(path, mode='r'):
if path == '-':
if 'r' in mode:
return os.fdopen(os.dup(sys.stdin.fileno()), 'r')
else:
return os.fdopen(os.dup(sys.stdout.fileno()), 'w')
else:
return open(path, mode)
# find sizes
if not args.get('use', None):
# find .o files
@@ -281,4 +281,6 @@ if __name__ == "__main__":
parser.add_argument('--build-dir',
help="Specify the relative build directory. Used to map object files \
to the correct source files.")
sys.exit(main(**vars(parser.parse_args())))
sys.exit(main(**{k: v
for k, v in vars(parser.parse_args()).items()
if v is not None}))