From d091ed1911e227e7a036327f882e7d0d68a1bf9d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Manuel=20P=C3=A9gouri=C3=A9-Gonnard?= Date: Tue, 12 Jan 2016 14:17:52 +0000 Subject: [PATCH] Add scripts/apidoc_full.sh This re-introduces the apidoc with full config.h, but hopefully with the race conditions and other issues that the previous implementation had. Adapt doxygen test script to use that new script, and also check for errors in addition to warnings while at it. --- scripts/apidoc_full.sh | 25 +++++++++++++++++++++++++ tests/scripts/doxygen.sh | 4 ++-- 2 files changed, 27 insertions(+), 2 deletions(-) create mode 100755 scripts/apidoc_full.sh diff --git a/scripts/apidoc_full.sh b/scripts/apidoc_full.sh new file mode 100755 index 000000000..bebab103e --- /dev/null +++ b/scripts/apidoc_full.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +# Generate doxygen documentation with a full config.h (this ensures that every +# available flag is documented, and avoids warnings about documentation +# without a corresponding #define). +# +# /!\ This must not be a Makefile target, as it would create a race condition +# when multiple targets are invoked in the same parallel build. + +set -eu + +CONFIG_H='include/mbedtls/config.h' + +if [ -r $CONFIG_H ]; then :; else + echo "$CONFIG_H not found" >&2 + exit 1 +fi + +CONFIG_BAK=${CONFIG_H}.bak +cp -p $CONFIG_H $CONFIG_BAK + +scripts/config.pl realfull +make apidoc + +mv $CONFIG_BAK $CONFIG_H diff --git a/tests/scripts/doxygen.sh b/tests/scripts/doxygen.sh index 1013cbd16..e7758c9e8 100755 --- a/tests/scripts/doxygen.sh +++ b/tests/scripts/doxygen.sh @@ -10,7 +10,7 @@ if [ -d library -a -d include -a -d tests ]; then :; else exit 1 fi -if make apidoc > doc.out 2>doc.err; then :; else +if scripts/apidoc_full.sh > doc.out 2>doc.err; then :; else cat doc.err echo "FAIL" >&2 exit 1; @@ -20,7 +20,7 @@ cat doc.out doc.err | \ grep -v "warning: ignoring unsupported tag" \ > doc.filtered -if grep "warning" doc.filtered; then +if egrep "(warning|error):" doc.filtered; then echo "FAIL" >&2 exit 1; fi