From 100d4983e77dc0c6b8efb588677ca6c9081d6e03 Mon Sep 17 00:00:00 2001 From: Jim Meyering Date: Thu, 2 Apr 2009 16:44:44 +0200 Subject: tests: improve ChangeLog syntax check * maint.mk (sc_changelog): Use $(VC_LIST_EXCEPT), not find. Don't hang when there are no ChangeLog files. (sc_require_config_h): For the file-name-filter, use grep -l to be slightly more efficient. (sc_require_config_h_first, _header_without_use, sc_program_name): Likewise. --- maint.mk | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/maint.mk b/maint.mk index dd780adb0..ac6a2bc06 100644 --- a/maint.mk +++ b/maint.mk @@ -193,7 +193,7 @@ sc_prohibit_have_config_h: # Nearly all .c files must include . sc_require_config_h: - @if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ + @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ grep -L '^# *include ' \ $$($(VC_LIST_EXCEPT) | grep '\.c$$') \ | grep . && \ @@ -204,7 +204,7 @@ sc_require_config_h: # You must include before including any other header file. sc_require_config_h_first: - @if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ + @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ fail=0; \ for i in $$($(VC_LIST_EXCEPT) | grep '\.c$$'); do \ grep '^# *include\>' $$i | sed 1q \ @@ -226,7 +226,7 @@ sc_prohibit_HAVE_MBRTOWC: # re: a regular expression that matches IFF something provided by $h is used. define _header_without_use h_esc=`echo "$$h"|sed 's/\./\\./g'`; \ - if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ + if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ files=$$(grep -l '^# *include '"$$h_esc" \ $$($(VC_LIST_EXCEPT) | grep '\.c$$')) && \ grep -LE "$$re" $$files | grep . && \ @@ -332,16 +332,19 @@ sc_obsolete_symbols: # FIXME: warn about definitions of EXIT_FAILURE, EXIT_SUCCESS, STREQ -# Each nonempty line must start with a year number, or a TAB. +# Each nonempty ChangeLog line must start with a year number, or a TAB. sc_changelog: - @grep -n '^[^12 ]' $$(find . -maxdepth 2 -name ChangeLog) && \ + @if $(VC_LIST_EXCEPT) | grep -l '^ChangeLog$$' >/dev/null; then \ + grep -n '^[^12 ]' \ + $$($(VC_LIST_EXCEPT) | grep '^ChangeLog$$') && \ { echo '$(ME): found unexpected prefix in a ChangeLog' 1>&2; \ - exit 1; } || : + exit 1; } || :; \ + fi # Ensure that each .c file containing a "main" function also # calls set_program_name. sc_program_name: - @if $(VC_LIST_EXCEPT) | grep '\.c$$' > /dev/null; then \ + @if $(VC_LIST_EXCEPT) | grep -l '\.c$$' > /dev/null; then \ files=$$(grep -l '^main *(' $$($(VC_LIST_EXCEPT) | grep '\.c$$')); \ grep -LE 'set_program_name *\(m?argv\[0\]\);' $$files \ | grep . && \ -- cgit v1.2.3-70-g09d2