forked from minetest/minetest
-
Notifications
You must be signed in to change notification settings - Fork 10
/
stress_mapgen.sh
executable file
·30 lines (24 loc) · 802 Bytes
/
stress_mapgen.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
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[@]}"