Initial test runner script

This commit is contained in:
Simon Howard 2024-08-31 02:01:55 -04:00
parent fa2d68af0b
commit 93cc45308e
8 changed files with 56 additions and 2 deletions

View file

@ -7,9 +7,9 @@ check: expected output
output: $(OUTPUTS)
output/%:
output/%.txt: demos/%.lmp
@mkdir -p $(dir $@)
touch $@ # TODO
./testrunner $< $@
extract/%:
unzip $(UNZIPOPTS) -d extract $< $(notdir $@)

View file

@ -0,0 +1,2 @@
iwad: doom2.wad
pwad: av.wad

View file

@ -0,0 +1,2 @@
iwad: doom.wad
pwad: class_ep.wad

View file

@ -0,0 +1,2 @@
iwad: doom2.wad
pwad: hr.wad

View file

@ -0,0 +1,2 @@
iwad: doom2.wad
pwad: mm.wad

View file

@ -0,0 +1,2 @@
iwad: doom2.wad
pwad: mm2.wad

View file

@ -0,0 +1,2 @@
iwad: doom2.wad
pwad: requiem.wad

42
testrunner Executable file
View file

@ -0,0 +1,42 @@
#!/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)
os.environ["SDL_VIDEODRIVER"] = "dummy"
args = [
"chocolate-doom", "-iwad", cfg["iwad"],
"-statdump", out_file,
"-timedemo", lmp_file,
] + shlex.split("""
-mb 16 -nodraw -noblit -nosound
-noautoload -nogui -nograbmouse
""")
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)