[LTP] [PATCH 2/6] tst_env.sh: Backport common functions from tst_test.sh

Petr Vorel
2026-03-13T14:27:35Z

Backport common functions from tst_test.sh to the shell loader:

* ROD()
* ROD_SILENT()
* EXPECT_PASS()
* EXPECT_PASS_BRK()
* EXPECT_FAIL()
* EXPECT_FAIL_BRK()
+ their dependencies.

ROD_SILENT will be used in du01.sh rewrite, others will be used likely
in other tests later.

Signed-off-by: Petr Vorel <pvorel@suse.cz>
---
testcases/lib/tst_env.sh | 71 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 71 insertions(+)

diff --git a/testcases/lib/tst_env.sh b/testcases/lib/tst_env.sh
index 585790a7d0..13d8a8f954 100644
--- a/testcases/lib/tst_env.sh
+++ b/testcases/lib/tst_env.sh
@@ -1,6 +1,7 @@
#!/bin/sh
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (c) 2024-2025 Cyril Hrubis <chrubis@suse.cz>
+# Copyright (c) Linux Test Project, 2026
#
# This is a minimal test environment for a shell scripts executed from C by
# tst_run_shell() function. Shell tests must use the tst_loader.sh instead!
@@ -30,3 +31,73 @@ tst_brk_()

alias tst_res="tst_res_ $tst_script_name \$LINENO"
alias tst_brk="tst_brk_ $tst_script_name \$LINENO"
+
+ROD_SILENT()
+{
+ local tst_out
+
+ tst_out=$(tst_rod "$@" 2>&1)
+ if [ $? -ne 0 ]; then
+ echo "$tst_out"
+ tst_brk TBROK "$@ failed"
+ fi
+}
+
+ROD()
+{
+ tst_rod "$@"
+ if [ $? -ne 0 ]; then
+ tst_brk TBROK "$@ failed"
+ fi
+}
+
+_tst_expect_pass()
+{
+ local fnc="$1"
+ shift
+
+ tst_rod "$@"
+ if [ $? -eq 0 ]; then
+ tst_res TPASS "$@ passed as expected"
+ return 0
+ else
+ $fnc TFAIL "$@ failed unexpectedly"
+ return 1
+ fi
+}
+
+_tst_expect_fail()
+{
+ local fnc="$1"
+ shift
+
+ # redirect stderr since we expect the command to fail
+ tst_rod "$@" 2> /dev/null
+ if [ $? -ne 0 ]; then
+ tst_res TPASS "$@ failed as expected"
+ return 0
+ else
+ $fnc TFAIL "$@ passed unexpectedly"
+ return 1
+ fi
+}
+
+EXPECT_PASS()
+{
+ _tst_expect_pass tst_res "$@"
+}
+
+EXPECT_PASS_BRK()
+{
+ _tst_expect_pass tst_brk "$@"
+}
+
+EXPECT_FAIL()
+{
+ _tst_expect_fail tst_res "$@"
+}
+
+EXPECT_FAIL_BRK()
+{
+ _tst_expect_fail tst_brk "$@"
+}
--
2.51.0