Since these files are temporary they should ideally never touch any
permanent storage (they can be written to an in-memory tmpfs filesystem
on most OSes). Plus, it's just better practice to not write a ton of
temp files to the working directory.
I think I only added this because I was using an older version of macOS
that opened many different windows continually while running the demos.
Recent versions don't suffer from this problem any more. Furthermore, this
makes the script easier to run on headless machines.
Some demo outputs were zero length because they were recorded with
the "alternate" version of Final Doom included with the id anthology.
So add an exceptions file that lists these, and fix the expected
outputs for these files.
This is the first step towards a fix for #1.
When debugging desyncs, it's useful to be able to re-run a bunch of
previous failures. For example:
python regression-test $(cat previous-fails.txt)
To be able to do this it's necessary to be able to specify multiple
patterns on the command line. This is in keeping with other Unix tools
that do the same.
Since chocolate-doom/chocolate-doom#368 was fixed, this demo now plays
back correctly. So add the correct expected output for this demo so
that the test runs correctly.
ZIP files in pwads/ cannot be processed at the moment, but slow down
testing as each idle call processes only a single ZIP. Check that
game type can be identified when building the initial set of ZIPs and
exclude those that cannot.
Lots of windows pop up while the regression test is running, which makes
typing ^Z or ^C in the terminal difficult. Add a small wxPython GUI with
clickable buttons to pause or abort processing.
For some reason that I'm unable to determine, certain demos exit with a
V_DrawPatch error when they are played back using statdump.exe and
the -nodraw parameter. Because of this, the statistics information is
not recorded. I have manually recorded the correct output from these
demos to fix the problem.