From: Emil Velikov Date: Wed, 4 Sep 2024 18:25:44 +0000 (+0100) Subject: meson: add test for gtkdoc coverage X-Git-Tag: v34~418 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=41c799c8444f6c671c77c65c41b9684aad6afdeb;p=thirdparty%2Fkmod.git meson: add test for gtkdoc coverage Signed-off-by: Emil Velikov Link: https://github.com/kmod-project/kmod/pull/94 Signed-off-by: Lucas De Marchi --- diff --git a/Makefile.am b/Makefile.am index 16c5ae60..6c4b00eb 100644 --- a/Makefile.am +++ b/Makefile.am @@ -23,6 +23,7 @@ EXTRA_DIST += \ meson_options.txt \ testsuite/meson.build \ scripts/build-scdoc.sh \ + scripts/check-gtkdoc.sh \ scripts/kmod-symlink.sh AM_CPPFLAGS = \ diff --git a/libkmod/docs/meson.build b/libkmod/docs/meson.build index ff0132c6..a6d64ebf 100644 --- a/libkmod/docs/meson.build +++ b/libkmod/docs/meson.build @@ -6,7 +6,7 @@ version_file = configure_file( configuration: cdata, ) -gnome.gtkdoc( +built_docs = gnome.gtkdoc( 'libkmod', content_files : version_file, ignore_headers : [ @@ -20,3 +20,10 @@ gnome.gtkdoc( module_version : '3', main_xml : 'libkmod-docs.xml', ) + +test( + 'test-gtkdoc', + check_gtkdoc, + args : meson.current_build_dir(), + depends : built_docs, +) diff --git a/meson.build b/meson.build index c41a2bbe..db07e9c5 100644 --- a/meson.build +++ b/meson.build @@ -423,6 +423,7 @@ if get_option('manpages') endif if get_option('docs') + check_gtkdoc = find_program('scripts/check-gtkdoc.sh') subdir('libkmod/docs') endif diff --git a/scripts/check-gtkdoc.sh b/scripts/check-gtkdoc.sh new file mode 100755 index 00000000..624837e1 --- /dev/null +++ b/scripts/check-gtkdoc.sh @@ -0,0 +1,24 @@ +#!/bin/bash + +set -euo pipefail + +err=0 + +warn() { + (( ++err )) + echo + echo "WARNING: $1." + echo "See file below for more details." + echo + echo "$2:" + cat "$2" + echo +} + +cd "$1" + +grep -q '100%' 'libkmod-undocumented.txt' || warn 'Some APIs are missing documentation' 'libkmod-undocumented.txt' + +(( $(wc -l < 'libkmod-unused.txt') == 0)) || warn 'APIs are missing from the libkmod-section.txt index' 'libkmod-unused.txt' + +exit "$err"