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..ba152dd80 --- /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[@]}" |