3 # Generate a group file from the _begin_fstest call in each test.
5 if [ "$1" = "--help" ]; then
6 echo "Usage: (cd tests/XXX/ ; ../../tools/mkgroupfile [output])"
12 GROUPNAME_DOC_FILE="$(readlink -m ../../doc/group-names.txt)"
13 export GROUPNAME_DOC_FILE
15 if [ ! -x ../../check ]; then
16 echo "$0: Run this from tests/XXX/."
21 test -z "$groupfile" && return
22 test -z "$ngroupfile" && return
24 if [ $ret -eq 0 ]; then
25 mv "$ngroupfile" "$groupfile"
31 ret=1 # trigger cleanup of temporary files unless we succeed
32 trap 'cleanup; exit $ret' EXIT INT TERM QUIT
34 generate_groupfile() {
36 # QA groups control file, automatically generated.
37 # See _begin_fstest in each test for details.
41 export GENERATE_GROUPS=yes
42 grep -R -l "^_begin_fstest" "$test_dir/" 2>/dev/null | while read testfile; do
43 test -x "$testfile" && "$testfile" || return 1
45 ret="${PIPESTATUS[1]}"
49 if [ -z "$groupfile" ] || [ "$groupfile" = "-" ]; then
50 # Dump the group file to stdout and exit
54 # Otherwise, write the group file to disk somewhere.
55 ngroupfile="${groupfile}.new"
57 generate_groupfile >> "$ngroupfile"
58 # let cleanup rename or delete ngroupfile