+2006-03-05 Paul Eggert <eggert@cs.ucla.edu>
+
+ * lib/autotest/general.m4 (_AT_NORMALIZE_TEST_GROUP_NUMBER): New macro.
+ (AT_INIT): Use it, to remove arbitrary limit of 999,999 test
+ cases, and to work around Tru64 expr bug.
+
+2006-03-05 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
+
+ * doc/autoconf.texi (Limitations of Usual Tools): Mention Tru64
+ expr bug that turns the result of a regex match into a number if
+ possible.
+
2006-03-04 Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
* lib/autoconf/types.m4 (AC_CHECK_ALIGNOF): Work around
[m4_bpatsubst(__file__, [^\(.*/\)*\(.*\)], [[\2]]):__line__])
+# _AT_NORMALIZE_TEST_GROUP_NUMBER(SHELL-VAR)
+# ------------------------------------------
+# Normalize SHELL-VAR so that its value has the same number of digits as
+# all the other test group numbers.
+m4_define([_AT_NORMALIZE_TEST_GROUP_NUMBER],
+[
+ while :; do
+ case $$1 in #(
+ $at_format*) break;;
+ esac
+ $1=0$$1
+ done
+])
+
+
# AT_INIT([TESTSUITE-NAME])
# -------------------------
# Begin test suite.
at_tested='m4_ifdef([AT_tested], [AT_tested])'
# List of the all the test groups.
at_groups_all='AT_groups_all'
-# As many dots as there are digits in the last test group number.
+# As many question marks as there are digits in the last test group number.
# Used to normalize the test group numbers so that `ls' lists them in
# numerical order.
-at_format='m4_bpatsubst(m4_defn([AT_ordinal]), [.], [.])'
+at_format='m4_bpatsubst(m4_defn([AT_ordinal]), [.], [?])'
# Description of all the test groups.
at_help_all='AT_help_all'])])dnl
m4_divert_push([PARSE_ARGS])dnl
*" $at_group "* ) continue;;
esac
- # Normalize the test group number.
- at_group_normalized=`expr "00000$at_group" : ".*\($at_format\)"`
+ at_group_normalized=$at_group
+ _AT_NORMALIZE_TEST_GROUP_NUMBER(at_group_normalized)
# Create a fresh directory for the next test group, and enter.
at_group_dir=$at_suite_dir/$at_group_normalized
echo
for at_group in $at_fail_list
do
- # Normalize the test group number and cat the log.
- at_group_normalized=`expr "00000$at_group" : ".*\($at_format\)"`
+ at_group_normalized=$at_group
+ _AT_NORMALIZE_TEST_GROUP_NUMBER(at_group_normalized)
cat "$at_suite_dir/$at_group_normalized/$as_me.log"
echo
done