]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
Documentation: add basic smoketest for boilerplate.c
authorThomas Weißschuh <thomas@t-8ch.de>
Sat, 20 Jan 2024 12:10:01 +0000 (13:10 +0100)
committerThomas Weißschuh <thomas@t-8ch.de>
Tue, 23 Jan 2024 19:35:03 +0000 (20:35 +0100)
Signed-off-by: Thomas Weißschuh <thomas@t-8ch.de>
Documentation/Makemodule.am [new file with mode: 0644]
Makefile.am
meson.build
tests/commands.sh
tests/expected/misc/boilerplate-exec [new file with mode: 0644]
tests/expected/misc/boilerplate-help [new file with mode: 0644]
tests/ts/misc/boilerplate [new file with mode: 0755]

diff --git a/Documentation/Makemodule.am b/Documentation/Makemodule.am
new file mode 100644 (file)
index 0000000..0089a41
--- /dev/null
@@ -0,0 +1,4 @@
+check_PROGRAMS += test_boilerplate
+test_boilerplate_SOURCES = Documentation/boilerplate.c
+test_boilerplate_LDADD =  $(LDADD)
+test_boilerplate_CFLAGS = $(AM_CFLAGS)
index 796e82fabd73f8d54de4b404eeaea87a6fe1255c..2986006933c89e931ae260b5640f85e9d0bbe1d9 100644 (file)
@@ -122,6 +122,7 @@ include pam_lastlog2/Makemodule.am
 include bash-completion/Makemodule.am
 include man-common/Makemodule.am
 
+include Documentation/Makemodule.am
 include tests/Makemodule.am
 
 # Meson files
index a68a422ebc4803073edab55ada34be028c216e4d..e2973f8b0e11e6d73b657356fbf05df2d10e3090 100644 (file)
@@ -3572,6 +3572,15 @@ if not is_disabler(exe)
   exes += exe
 endif
 
+exe = executable(
+  'test_boilerplate',
+  'Documentation/boilerplate.c',
+   include_directories : includes,
+   build_by_default: program_tests)
+if not is_disabler(exe)
+  exes += exe
+endif
+
 ############################################################
 
 # Let the test runner know whether we're running under asan and export
index 6699f3d252a5e41d6651f471a12cf20b5986d483..cb8013ef4c1b76bf6d7369a762d027f374e8708c 100644 (file)
@@ -2,6 +2,7 @@
 TS_TESTUSER=${TS_TESTUSER:-"nobody"}
 
 # helpers
+TS_HELPER_BOILERPLATE="${ts_helpersdir}test_boilerplate"
 TS_HELPER_BYTESWAP="${ts_helpersdir}test_byteswap"
 TS_HELPER_CPUSET="${ts_helpersdir}test_cpuset"
 TS_HELPER_CAP="${ts_helpersdir}test_cap"
diff --git a/tests/expected/misc/boilerplate-exec b/tests/expected/misc/boilerplate-exec
new file mode 100644 (file)
index 0000000..324da67
--- /dev/null
@@ -0,0 +1 @@
+ret=0
diff --git a/tests/expected/misc/boilerplate-help b/tests/expected/misc/boilerplate-help
new file mode 100644 (file)
index 0000000..549400d
--- /dev/null
@@ -0,0 +1,24 @@
+
+Usage:
+ test_boilerplate [options] file...
+
+Short program description.
+
+Options:
+ -n, --no-argument       option does not use argument
+     --optional[=<arg>]  option argument is optional
+ -r, --required <arg>    option requires an argument
+ -z                      no long option
+     --xyzzy             a long option only
+ -e, --extremely-long-long-option
+                         use next line for description when needed
+ -l, --long-explanation  an example of very verbose, and chatty option
+                           description on two, or multiple lines, where the
+                           consecutive lines are intended by two spaces
+ -f, --foobar            next option description resets indent
+
+ -h, --help              display this help
+ -V, --version           display version
+
+For more details see fixme-command-name(1).
+ret=0
diff --git a/tests/ts/misc/boilerplate b/tests/ts/misc/boilerplate
new file mode 100755 (executable)
index 0000000..d795ec2
--- /dev/null
@@ -0,0 +1,39 @@
+#!/bin/bash
+
+# Copyright (C) 2023 Thomas Weißschuh <thomas@t-8ch.de>
+#
+# This file is part of util-linux.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 2 of the License, or
+# (at your option) any later version.
+#
+# This file is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+# GNU General Public License for more details.
+
+TS_TOPDIR="${0%/*}/../.."
+TS_DESC="Documentation/boilerplate"
+
+. "$TS_TOPDIR"/functions.sh
+ts_init "$*"
+
+ts_check_test_command "$TS_HELPER_BOILERPLATE"
+
+ts_init_subtest exec
+
+"$TS_HELPER_BOILERPLATE" >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret=$?" >> "$TS_OUTPUT"
+
+ts_finalize_subtest
+
+ts_init_subtest help
+
+"$TS_HELPER_BOILERPLATE" --help >> "$TS_OUTPUT" 2>> "$TS_ERRLOG"
+echo "ret=$?" >> "$TS_OUTPUT"
+
+ts_finalize_subtest
+
+ts_finalize