docs/libcurl: check that all options with man pages are referenced
authorDan Fandrich <dan@coneharvesters.com>
Wed, 18 Mar 2015 22:21:46 +0000 (23:21 +0100)
committerDan Fandrich <dan@coneharvesters.com>
Wed, 18 Mar 2015 22:44:45 +0000 (23:44 +0100)
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
docs/libcurl/Makefile.am

index 29479d5adac1ca4e48411b7fdefbe47cfcc06df7..60d744e46a125560f7733ebd7a02efc94545151f 100644 (file)
@@ -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
index d208bf6b228d9c928935eacbb3973732977cce8e..d6543d280899a095cbdfc23fac1c608b9f361b93 100644 (file)
@@ -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 > $@