statcheck/testrunner

38 lines
870 B
Text
Raw Normal View History

2024-08-31 06:01:55 +00:00
#!/usr/bin/env python3
import os
from os.path import dirname, basename, join, exists
import shlex
import sys
import yaml
def read_config(path):
if path == '':
return {}
# Config deeper in the hierarchy can override config files from
# higher up in the hierarchy:
result = read_config(dirname(path))
config_file = join(path, ".democonfig")
if exists(config_file):
with open(config_file) as f:
result.update(yaml.safe_load(f))
return result
lmp_file, out_file = sys.argv[1:]
cfg = read_config(lmp_file)
args = [
"chocolate-doom", "-iwad", cfg["iwad"],
"-statdump", out_file,
"-timedemo", lmp_file,
2024-08-31 06:09:35 +00:00
] + shlex.split(os.getenv("DOOMOPTS", ""))
2024-08-31 06:01:55 +00:00
if "pwad" in cfg:
args.extend(("-file", join("extract", cfg["pwad"])))
print(shlex.join(args))
sys.stdout.close()
os.spawnvp(os.P_WAIT, args[0], args)