blob: 0681e5d29d55635dbec1f1ca5c69bf545ffbb077 [file]
#!/bin/bash
# Generate a group file from the _begin_fstest call in each test.
if [ "$1" = "--help" ]; then
echo "Usage: (cd tests/XXX/ ; ../../tools/mkgroupfile [output])"
exit 1
fi
test_dir="$PWD"
groupfile="$1"
if [ ! -x ../../check ]; then
echo "$0: Run this from tests/XXX/."
exit 1
fi
generate_groupfile() {
cat << ENDL
# QA groups control file, automatically generated.
# See _begin_fstest in each test for details.
ENDL
cd ../../
export GENERATE_GROUPS=yes
grep -R -l "^_begin_fstest" "$test_dir/" 2>/dev/null | while read testfile; do
test -x "$testfile" && "$testfile"
done | sort -g
cd "$test_dir"
}
if [ -z "$groupfile" ] || [ "$groupfile" = "-" ]; then
# Dump the group file to stdout and exit
generate_groupfile
exit 0
fi
# Otherwise, write the group file to disk somewhere.
ngroupfile="${groupfile}.new"
rm -f "$ngroupfile"
generate_groupfile >> "$ngroupfile"
mv "$ngroupfile" "$groupfile"