minetest-worldtest/minetest-worldtest-check-an...

40 lines
1.0 KiB
Bash
Executable File
Raw Permalink Blame History

This file contains invisible Unicode characters!

This file contains invisible Unicode characters that may be processed differently from what appears below. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to reveal hidden characters.

#!/bin/bash
dir="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
if [ $# -ne 2 ]; then
if [ $# -ne 3 ]; then
echo "Usage: $0 <minetest git directory> <world directory> [<result file>]"
exit 1
fi
resultfile_dst=$3
else
resultfile_dst=""
fi
gamedir=$1
worlddir=$2
#echo "-- Making world in $worlddir using $gamedir"
echo "-- Making world `basename $worlddir`"
pushd "$gamedir" &>/dev/null || exit 1
# Configuration file is the common runtime configuration method
echo -e "map-dir = $worlddir\nenable_mapgen_debug_info = true\n" > worldtest_config
mkdir -p "$worlddir" || exit 1
if ! [ -a "$worlddir/world.mt" ]; then
echo -e 'gameid = minimal' > "$worlddir/world.mt"
fi
"$gamedir/bin/minetestserver" --config worldtest_config
popd &>/dev/null
resultfile=$gamedir/worldtest_result.txt
# Copy result to wanted location
if [ "$resultfile_dst" != "" ]; then
cp "$resultfile" "$resultfile_dst"
fi
# Return based on result
if [ "`grep -c BAD: "$resultfile"`" != "0" ]; then
#echo `grep ERRORS: "$resultfile"`
exit 1
else
exit 0
fi