From 431c5261d2f512e87d6ee6f2a0701592ee29fcdf Mon Sep 17 00:00:00 2001 From: Dan Fandrich Date: Wed, 18 Mar 2015 23:21:46 +0100 Subject: [PATCH] docs/libcurl: check that all options with man pages are referenced If a man page exists in the opts/ directory, it must also be referenced either in curl_easy_setopt.3 or curl_multi_setopt.3 --- Makefile.am | 5 ++++- docs/libcurl/Makefile.am | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 2 deletions(-) diff --git a/Makefile.am b/Makefile.am index 29479d5ad..60d744e46 100644 --- a/Makefile.am +++ b/Makefile.am @@ -153,7 +153,7 @@ html: pdf: cd docs; make pdf -check: test examples +check: test examples check-docs if CROSSCOMPILING test-full: test @@ -181,6 +181,9 @@ endif examples: @(cd docs/examples; $(MAKE) check) +check-docs: + @(cd docs/libcurl; $(MAKE) check) + # This is a hook to have 'make clean' also clean up the docs and the tests # dir. The extra check for the Makefiles being present is necessary because # 'make distcheck' will make clean first in these directories _before_ it runs diff --git a/docs/libcurl/Makefile.am b/docs/libcurl/Makefile.am index d208bf6b2..d6543d280 100644 --- a/docs/libcurl/Makefile.am +++ b/docs/libcurl/Makefile.am @@ -85,7 +85,7 @@ PDFPAGES = curl_easy_cleanup.pdf curl_easy_getinfo.pdf \ m4macrodir = $(datadir)/aclocal dist_m4macro_DATA = libcurl.m4 -CLEANFILES = $(HTMLPAGES) $(PDFPAGES) +CLEANFILES = $(HTMLPAGES) $(PDFPAGES) $(TESTS) EXTRA_DIST = $(man_MANS) $(HTMLPAGES) index.html $(PDFPAGES) ABI \ symbols-in-versions symbols.pl mksymbolsmanpage.pl @@ -111,3 +111,17 @@ pdf: $(PDFPAGES) ps2pdf $$foo.ps $@; \ rm $$foo.ps; \ echo "converted $< to $@") + +# Make sure each option man page is referenced in the main man page +TESTS = check-easy check-multi +LOG_COMPILER = $(PERL) +# The test fails if the log file contains any text +AM_LOG_FLAGS = -p -e 'die "$$_" if ($$_);' + +check-easy: $(srcdir)/curl_easy_setopt.3 $(srcdir)/opts/CURLOPT*.3 + OPTS="$$(ls $(srcdir)/opts/CURLOPT*.3 | $(SED) -e 's,^.*/,,' -e 's,\.3$$,,')" && \ + for opt in $$OPTS; do grep "^\.IP $$opt$$" $(srcdir)/curl_easy_setopt.3 >/dev/null || echo Missing $$opt; done > $@ + +check-multi: $(srcdir)/curl_multi_setopt.3 $(srcdir)/opts/CURLMOPT*.3 + OPTS="$$(ls $(srcdir)/opts/CURLMOPT*.3 | $(SED) -e 's,^.*/,,' -e 's,\.3$$,,')" && \ + for opt in $$OPTS; do grep "^\.IP $$opt$$" $(srcdir)/curl_multi_setopt.3 >/dev/null || echo Missing $$opt; done > $@