MuseScore/mtest/updateReferences.sh

40 lines
916 B
Bash
Executable file

#!/bin/bash
function showHelp() {
cat >&2 <<"EOF"
Update reference files in mtest based on test results in build.debug/mtest.
Usage: mtest/updateReferences.sh mtest/$path
Or: cd mtest && ./updateReferences.sh $path
Copies test files from build.debug/mtest/$path to mtest/$path. Test files are
all files named like *-test.* and they are renamed *-ref.* in the process.
EOF
}
path="$1"
[ "$(basename "${PWD}")" == "mtest" ] && path="mtest/${path}" && cd ..
# Some checks:
if [ "${path}" == "" ] || [ ! -d "${path}" ]; then
showHelp
exit 1
fi
if [ "$(ls "build.debug/${path}/"*-test.*)" == "" ]; then
echo "$0: No test files in 'build.debug/$path'. Have you run the tests?"
exit 2
fi
# All good!
echo "Copy refs from 'build.debug/${path}' to '${path}'."
for file in build.debug/"${path}"/*-test.*; do
cp "$file" "${path}"/"$(basename "${file}" | sed "s|-test\.|-ref\.|")"
done