[LTP] [RFC][PATCH 2/3] tst_test: Allow test to suggest reboot via $TST_REBOOT

Petr Vorel pvorel@suse.cz
Wed Jul 16 08:54:44 CEST 2025


Hi Cyril, all,

> Frameworks/tooling which run LTP can schedule reboot based on
> environment variable.

Cyril, you wanted to add this via struct tst_test (e.g. not using a new variable
in shell). That's indeed better (used by both C API and shell loader + having it
in metadata doc). But for a better integration with external frameworks (e.g.
kirk or openQA) it will still be needed to export some environment variable
(e.g. LTP_REBOOT) to notify the framework for a reboot.

And for IMA tests to be able to use it they will need to be converted to shell
loader (which requires to finish setup/cleanup support for shell loader [1]).
ima_setup.sh use quirk to use a loop device if TMPDIR is on tmpfs (some
IMA measurements are not supported on tmpfs). Because shell loader's struct
tst_test in JSON is not modifiable I will have to use always a loop device
(slower) and force some filesystem (previously tests were run on the filesystem
installed on TMPDIR, e.g. test on the filesystem chosen by distro/user).

Setting this whole patchset in patchwork as rejected.

Kind regards,
Petr

[1] https://patchwork.ozlabs.org/project/ltp/list/?series=460106&state=*

> Signed-off-by: Petr Vorel <pvorel@suse.cz>
> ---
> If useful, I should probably add it to C API as well
> (at least swapoff01.c and swapon01.c print also "reboot recommended").

>  doc/users/setup_tests.rst | 3 +++
>  testcases/lib/tst_test.sh | 7 ++++++-
>  2 files changed, 9 insertions(+), 1 deletion(-)

> diff --git a/doc/users/setup_tests.rst b/doc/users/setup_tests.rst
> index ddcf00f027..0cdb86715f 100644
> --- a/doc/users/setup_tests.rst
> +++ b/doc/users/setup_tests.rst
> @@ -85,6 +85,9 @@ users.
>     * - LTP_ENABLE_DEBUG
>       - Enable debug info (value ``1`` or ``y``). Equivalent of ``-D`` parameter.

> +   * - TST_REBOOT
> +     - Environment variable set by LTP test to signalize that SUT should be rebooted.
> +
>  Environment variables for network tests
>  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
>  See :master:`testcases/network/README.md`.
> diff --git a/testcases/lib/tst_test.sh b/testcases/lib/tst_test.sh
> index 2b797705e3..a450976f36 100644
> --- a/testcases/lib/tst_test.sh
> +++ b/testcases/lib/tst_test.sh
> @@ -16,6 +16,7 @@ export TST_COUNT=1
>  export TST_ITERATIONS=1
>  export TST_TMPDIR_RHOST=0
>  export TST_LIB_LOADED=1
> +export TST_REBOOT=

>  . tst_ansi_color.sh
>  . tst_security.sh
> @@ -84,6 +85,10 @@ _tst_do_exit()
>  		[ -z "$TST_SKIP_LSM_WARNINGS" ] && _tst_check_security_modules
>  	fi

> +	if [ "$TST_REBOOT" = 1 ]; then
> +		tst_res TINFO "WARNING: reboot recommended due test changes"
> +	fi


More information about the ltp mailing list