]> git.ipfire.org Git - thirdparty/util-linux.git/commitdiff
tests: add strtobool test
authorKarel Zak <kzak@redhat.com>
Wed, 18 Mar 2026 10:17:41 +0000 (11:17 +0100)
committerKarel Zak <kzak@redhat.com>
Wed, 18 Mar 2026 10:17:41 +0000 (11:17 +0100)
Signed-off-by: Karel Zak <kzak@redhat.com>
tests/expected/misc/strtobool [new file with mode: 0644]
tests/ts/misc/strtobool [new file with mode: 0755]

diff --git a/tests/expected/misc/strtobool b/tests/expected/misc/strtobool
new file mode 100644 (file)
index 0000000..1095435
--- /dev/null
@@ -0,0 +1,19 @@
+'1'-->true
+'y'-->true
+'t'-->true
+'yes'-->true
+'true'-->true
+'on'-->true
+'enable'-->true
+'YES'-->true
+'True'-->true
+'ON'-->true
+'0'-->false
+'no'-->false
+'not'-->false
+'false'-->false
+'off'-->false
+'disable'-->false
+'NO'-->false
+'False'-->false
+'OFF'-->false
diff --git a/tests/ts/misc/strtobool b/tests/ts/misc/strtobool
new file mode 100755 (executable)
index 0000000..3ada524
--- /dev/null
@@ -0,0 +1,53 @@
+#!/bin/bash
+
+#
+# Copyright (C) 2026 Karel Zak <kzak@redhat.com>
+#
+# 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="strtobool"
+
+. "$TS_TOPDIR"/functions.sh
+ts_init "$*"
+
+ts_check_test_command "$TS_HELPER_STRUTILS"
+
+# true values
+$TS_HELPER_STRUTILS --strtobool 1 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool y >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool t >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool yes >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool true >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool on >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool enable >> $TS_OUTPUT 2>> $TS_ERRLOG
+
+# true values (case insensitive)
+$TS_HELPER_STRUTILS --strtobool YES >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool True >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool ON >> $TS_OUTPUT 2>> $TS_ERRLOG
+
+# false values
+$TS_HELPER_STRUTILS --strtobool 0 >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool no >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool not >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool false >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool off >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool disable >> $TS_OUTPUT 2>> $TS_ERRLOG
+
+# false values (case insensitive)
+$TS_HELPER_STRUTILS --strtobool NO >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool False >> $TS_OUTPUT 2>> $TS_ERRLOG
+$TS_HELPER_STRUTILS --strtobool OFF >> $TS_OUTPUT 2>> $TS_ERRLOG
+
+ts_finalize