diff options
Diffstat (limited to 'util/stress_mapgen.sh')
-rwxr-xr-x | util/stress_mapgen.sh | 30 |
1 files changed, 30 insertions, 0 deletions
diff --git a/util/stress_mapgen.sh b/util/stress_mapgen.sh new file mode 100755 index 000000000..6bbe57483 --- /dev/null +++ b/util/stress_mapgen.sh @@ -0,0 +1,30 @@ +#!/bin/bash +dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" +gameid=${gameid:-devtest} +minetest=$dir/../bin/minetest +testspath=$dir/../tests +conf_server=$testspath/server.conf +worldpath=$testspath/world + +run () { + if [ -n "$PERF" ]; then + perf record -z --call-graph dwarf -- "$@" + else + "$@" + fi +} + +[ -e "$minetest" ] || { echo "executable $minetest missing"; exit 1; } + +rm -rf "$worldpath" +mkdir -p "$worldpath/worldmods" + +settings=(sqlite_synchronous=0 helper_mode=mapgen) +[ -n "$PROFILER" ] && settings+=(profiler_print_interval=15) +printf '%s\n' "${settings[@]}" >"$testspath/server.conf" \ + +ln -s "$dir/helper_mod" "$worldpath/worldmods/" + +args=(--config "$conf_server" --world "$worldpath" --gameid $gameid) +[ -n "$PROFILER" ] && args+=(--verbose) +run "$minetest" --server "${args[@]}" |