11dnl Functions for testing
22dnl
3- dnl Version: 20260607
3+ dnl Version: 20260610
44
55dnl Function to check if pthread_rwlock_unlock can be hooked for testing
6- AC_DEFUN ( [ AX_TESTS_CHECK_PTHREAD_RWLOCK_UNLOCK_HOOK ] ,
6+ AC_DEFUN ( [ AX_TESTS_CHECK_CAN_HOOK_PTHREAD_RWLOCK_UNLOCK ] ,
77 [ AC_REQUIRE ( [ AC_PROG_CC ] )
88
99 AC_MSG_CHECKING ( [ whether pthread_rwlock_unlock can be hooked for testing] )
@@ -48,7 +48,7 @@ if( pthread_rwlock_destroy( &rwlock ) != 0 ) { return 4; }]] )],
4848 ] )
4949
5050dnl Function to detect whether the file system is case-insensitive
51- AC_DEFUN ( [ AX_TEST_CHECK_FILE_SYSTEM_IS_CASE_INSENSITIVE ] ,
51+ AC_DEFUN ( [ AX_TESTS_CHECK_FILE_SYSTEM_IS_CASE_INSENSITIVE ] ,
5252 [ AC_MSG_CHECKING ( [ whether the file system is case-insensitive] )
5353
5454 as_tmp_case_file="conftest.case.tst"
@@ -73,6 +73,39 @@ AC_DEFUN([AX_TEST_CHECK_FILE_SYSTEM_IS_CASE_INSENSITIVE],
7373 ] )
7474 ] )
7575
76+ dnl Function to check for a manpage linting command
77+ AC_DEFUN ( [ AX_TESTS_CHECK_HAVE_MANPAGE_LINTER] ,
78+ [ AC_PATH_PROG ( [ MAN] , [ man] )
79+ AC_PATH_PROG ( [ MANDOC] , [ mandoc] )
80+
81+ AC_CACHE_CHECK (
82+ [ for manpage linter] ,
83+ [ ac_cv_have_manpage_linter] ,
84+ [ ac_cv_have_manpage_linter=no
85+
86+ printf '.Dd June 10, 2026\n.Dt TITLE 1\n.Os\n.Sh NAME\n.Nm command\n.Nd example\n' > conftest.1
87+
88+ AS_IF (
89+ [ test "x$MAN" != x] ,
90+ [ LC_ALL="en_US.UTF-8" MANROFFSEQ="" MANWIDTH="80" "$MAN" --warnings -E UTF-8 -l -Tutf8 -Z conftest.1 >/dev/null 2>&1
91+ AS_IF (
92+ [ test $? -eq 0] ,
93+ [ ac_cv_have_manpage_linter="man-db"] )
94+ ] )
95+
96+ AS_IF (
97+ [ test "x$ac_cv_have_manpage_linter" = xno && test "x$MANDOC" != x] ,
98+ [ LC_ALL="en_US.UTF-8" "$MANDOC" -O width=80 -T lint -W all ./conftest.1 >/dev/null 2>&1
99+
100+ AS_IF (
101+ [ test $? -eq 0] ,
102+ [ ac_cv_have_manpage_linter="mandoc"] )
103+ ] )
104+
105+ rm -f conftest.1
106+ ] )
107+ ] )
108+
76109dnl Function to check whether libasan is functional
77110AC_DEFUN ( [ AX_TESTS_CHECK_LIBASAN] ,
78111 [ AC_MSG_CHECKING ( [ whether libasan is functional] )
@@ -232,10 +265,13 @@ AC_DEFUN([AX_TESTS_CHECK_LOCAL],
232265 [ Define to 1 if dlsym function is available in GNU dl.] )
233266 ] )
234267
235- AX_TESTS_CHECK_PTHREAD_RWLOCK_UNLOCK_HOOK
236-
237- AX_TEST_CHECK_FILE_SYSTEM_IS_CASE_INSENSITIVE
268+ AX_TESTS_CHECK_CAN_HOOK_PTHREAD_RWLOCK_UNLOCK
269+ AX_TESTS_CHECK_FILE_SYSTEM_IS_CASE_INSENSITIVE
270+ AX_TESTS_CHECK_HAVE_MANPAGE_LINTER
238271
272+ AC_SUBST (
273+ [ TESTS_MANPAGE_LINTER] ,
274+ [ $ac_cv_have_manpage_linter] )
239275 AC_SUBST (
240276 [ TESTS_USE_WINAPI] ,
241277 [ $ac_cv_enable_winapi] )
0 commit comments