$at_diff "$at_devnull" "$[1]"
}
+# at_func_test NUMBER
+# -------------------
+# Parse out test NUMBER from the tail of this file.
+at_func_test ()
+{
+ sed -n '/^@%:@AT_START_'$[1]'$/,/^@%:@AT_STOP_'$[1]'$/p' "$at_myself" \
+ > "$at_test_source"
+}
+
# at_func_create_debugging_script
# -------------------------------
# Create the debugging script $at_group_dir/run which will reproduce the
at_stdout=$at_suite_dir/at-stdout
at_stder1=$at_suite_dir/at-stder1
at_stderr=$at_suite_dir/at-stderr
-# The stem for files containing a test group.
+# The file containing the function to run a test group.
at_test_source=$at_suite_dir/at-test-source
# The file containing dates.
at_times_file=$at_suite_dir/at-times
at_diff=diff
fi
-{
- echo 'BEGIN {'
- for at_group in $at_groups; do
- at_group_normalized=$at_group
- _AT_NORMALIZE_TEST_GROUP_NUMBER(at_group_normalized)
- echo " outfile[[\"$at_group\"]] = \"$at_test_source-$at_group_normalized\""
- done
- AS_ECHO(['
- FS = "\a"
-}
-emit == 0 && /^@%:@AT_START_/ {
- test = substr($ 0, 11);
- if (outfile[[test]]) {
- emit = 1
- print "cat >\"" outfile[[test]] "\" <<'\''_AT_T_EOF'\''"
- }
-}
-emit != 0 && /^@%:@AT_STOP_/ {
- print "_AT_T_EOF"
- emit = 0
-}
-emit != 0 { print }
-'])
-} > "$at_test_source.awk"
-
-# Extract test group that will be run from the tail of this file
-if awk -f "$at_test_source.awk" "$at_myself" >"$at_test_source.sh" \
- && . "$at_test_source.sh" \
- && rm -f "$at_test_source.awk" "$at_test_source.sh"; then :; else
- AS_ECHO(["$as_me: unable to parse test groups"]) >&2
- exit 1
-fi
m4_text_box([Driver loop.])
for at_group in $at_groups
at_tee_pipe='cat >> "$at_group_log"'
fi
- . "$at_test_source-$at_group_normalized"
+ if at_func_test $at_group && . "$at_test_source"; then :; else
+ AS_ECHO(["$as_me: unable to parse test group: $at_group"]) >&2
+ at_failed=:
+ fi
# Be sure to come back to the suite directory, in particular
# since below we might `rm' the group directory we are in currently.
find "$at_group_dir" -type d ! -perm -700 -exec chmod u+rwx \{\} \;
rm -fr "$at_group_dir"
fi
- rm -f "$at_test_source-$at_group_normalized"
+ rm -f "$at_test_source"
fi
;;
*)