summaryrefslogtreecommitdiff
path: root/util/stress_mapgen.sh
diff options
context:
space:
mode:
authorsfan5 <sfan5@live.de>2022-07-04 01:06:57 +0200
committerGitHub <noreply@github.com>2022-07-04 01:06:57 +0200
commit0e63f18a73754ebf68ebf286a95af222ab058538 (patch)
tree5fd649939acf0dee5761cc8bf5b8b91dd821b3c5 /util/stress_mapgen.sh
parentfc3460470aec8d73317d2b35edf195bfeec2852c (diff)
downloadminetest-0e63f18a73754ebf68ebf286a95af222ab058538.tar.gz
minetest-0e63f18a73754ebf68ebf286a95af222ab058538.tar.bz2
minetest-0e63f18a73754ebf68ebf286a95af222ab058538.zip
Add utility script to stress-test mapgen
Diffstat (limited to 'util/stress_mapgen.sh')
-rwxr-xr-xutil/stress_mapgen.sh30
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[@]}"