From: Karel Zak Date: Wed, 18 Mar 2026 10:17:41 +0000 (+0100) Subject: tests: add strtobool test X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=8783a37cdae3b6612833f2cde234df4086411604;p=thirdparty%2Futil-linux.git tests: add strtobool test Signed-off-by: Karel Zak --- diff --git a/tests/expected/misc/strtobool b/tests/expected/misc/strtobool new file mode 100644 index 000000000..1095435a2 --- /dev/null +++ b/tests/expected/misc/strtobool @@ -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 index 000000000..3ada5242a --- /dev/null +++ b/tests/ts/misc/strtobool @@ -0,0 +1,53 @@ +#!/bin/bash + +# +# Copyright (C) 2026 Karel Zak +# +# 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