mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Files

It relied on reading gamedesc.txt to find a list of puzzle binaries to run. But gamedesc.txt is now specific to the Windows build (since it contains Windows executable names), and isn't available in the Unix cmake build directory. Fixed by making a simpler gamelist.txt available on all platforms.
32 lines
971 B
Bash
Executable File
32 lines
971 B
Bash
Executable File
#!/bin/sh
|
|
|
|
# Run every puzzle in benchmarking mode, and generate a file of raw
|
|
# data that benchmark.pl will format into a web page.
|
|
#
|
|
# Expects to be run in the cmake build directory, where it can find
|
|
# both the game binaries themselves and the file gamelist.txt that
|
|
# lists them.
|
|
|
|
# If any arguments are provided, use those as the list of games to
|
|
# benchmark. Otherwise, read the full list from gamelist.txt.
|
|
if test $# = 0; then
|
|
set -- $(cat gamelist.txt)
|
|
fi
|
|
|
|
failures=false
|
|
|
|
for game in "$@"; do
|
|
# Use 'env -i' to suppress any environment variables that might
|
|
# change the preset list for a puzzle (e.g. user-defined extras)
|
|
presets=$(env -i ./$game --list-presets | cut -f1 -d' ')
|
|
for preset in $presets; do
|
|
if ! env -i ./$game --test-solve --time-generation \
|
|
--generate 100 $preset;
|
|
then
|
|
echo "${game} ${preset} failed to generate" >&2
|
|
fi
|
|
done
|
|
done
|
|
|
|
if $failures; then exit 1; fi
|