From: Petr Vorel <pvorel@suse.cz>
To: Cyril Hrubis <chrubis@suse.cz>
Cc: ltp@lists.linux.it
Subject: Re: [LTP] [RFC PATCH 4/5] shell lib: Add basic support for test cleanup
Date: Fri, 25 Apr 2025 20:33:45 +0200 [thread overview]
Message-ID: <20250425183345.GA79209@pevik> (raw)
In-Reply-To: <Z8shfrkfVkwsCOTw@yuki.lan>
Hi Cyril,
...
> > +++ b/testcases/lib/tst_loader.sh
> > @@ -3,11 +3,8 @@
> > # Copyright (c) 2024-2025 Cyril Hrubis <chrubis@suse.cz>
> > # This is a loader for shell tests that use the C test library.
> > -#
> > if [ -z "$LTP_IPC_PATH" ]; then
> > - tst_run_shell $(basename "$0") "$@"
> > + tst_run_shell tst_exec.sh $(basename "$0") "$@"
> > exit $?
> > -else
> > - . tst_env.sh
> > fi
> Do we really need the tst_exec.sh?
> Doesn't it work if we add what is in the tst_exec here?
I guess you mean to keep the original:
- tst_run_shell $(basename "$0") "$@"
instead of what I proposed:
+ tst_run_shell tst_exec.sh $(basename "$0") "$@"
I added it to get rid of previous error:
tst_res: not found
$ PATH="testcases/lib:testcases/lib/tests:$PATH" shell_loader_setup_cleanup.sh
tst_test.c:1903: TINFO: LTP version: 20250130-239-gc016fb0c0a
tst_test.c:1907: TINFO: Tested kernel: 6.12.20-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.12.20-1 (2025-03-23) x86_64
tst_kconfig.c:88: TINFO: Parsing kernel config '/boot/config-6.12.20-amd64'
tst_test.c:1720: TINFO: Overall timeout per run is 0h 00m 30s
testcases/lib/tests/shell_loader_setup_cleanup.sh: 16: testcases/lib/tst_loader.sh: tst_res: not found
testcases/lib/tests/shell_loader_setup_cleanup.sh: 21: tst_res: not found
tst_test.c:452: TBROK: Invalid child (82160) exit value 127
tst_exec.sh added in this v1 contains:
. tst_env.sh
. "$1"
if [ -n "$TST_CLEANUP" ]; then
trap $TST_CLEANUP EXIT
fi
if [ -n "$TST_SETUP" ]; then
$TST_SETUP
fi
tst_test
---
The most important part is:
. "$1"
which is to source the script. This cannot be added into tst_loader.sh
(it would create indefinite loop), this must be somehow added to tst_run_shell.c
And the only way I come up with was to add it via the above mentioned change of
tst_run_shell.c running actually tst_exec.sh instead of the test directly.
I guess I'm missing something.
Feel free to look into my v2, likely it's obvious to you what am I missing:
https://github.com/pevik/ltp/blob/refs/heads/shell-loader-setup-cleanup.v2/testcases/lib/tst_loader.sh
Kind regards,
Petr
> The whole point of [ -z "$LTP_IPC_PATH" ]; is to detect when we are
> being re-executed by the tst_run_shell, so the else branch (which
> isn't really needed, because we do exit in the if) was when the test did
> run.
> If you change the tests to be in functions and source the tst_loader.sh
> at the end it should just work.
--
Mailing list info: https://lists.linux.it/listinfo/ltp
next prev parent reply other threads:[~2025-04-25 18:34 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-28 17:24 [LTP] [RFC PATCH 0/5] shell loader rewrite to support TST_SETUP Petr Vorel
2025-02-28 17:24 ` [LTP] [RFC PATCH 1/5] shell lib: Add support for test cleanup Petr Vorel
2025-03-04 12:57 ` Li Wang
2025-03-04 13:08 ` Petr Vorel
2025-03-04 13:15 ` Li Wang
2025-02-28 17:24 ` [LTP] [RFC PATCH 2/5] lib: Allow test to have positional args Petr Vorel
2025-02-28 17:43 ` Petr Vorel
2025-03-07 16:17 ` Cyril Hrubis
2025-03-10 10:23 ` Petr Vorel
2025-03-07 16:27 ` Cyril Hrubis
2025-03-10 10:16 ` Petr Vorel
2025-02-28 17:24 ` [LTP] [RFC PATCH 3/5] shell: Move shell code into functions Petr Vorel
2025-02-28 17:45 ` Petr Vorel
2025-02-28 17:24 ` [LTP] [RFC PATCH 4/5] shell lib: Add basic support for test cleanup Petr Vorel
2025-03-07 16:40 ` Cyril Hrubis
2025-03-10 10:27 ` Petr Vorel
2025-04-25 18:33 ` Petr Vorel [this message]
2025-04-30 8:52 ` Cyril Hrubis
2025-04-30 8:57 ` Cyril Hrubis
2025-04-30 11:47 ` Petr Vorel
2025-04-30 13:39 ` Cyril Hrubis
2025-02-28 17:24 ` [LTP] [RFC PATCH 5/5] shell: Add shell_loader_setup_cleanup.sh test Petr Vorel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20250425183345.GA79209@pevik \
--to=pvorel@suse.cz \
--cc=chrubis@suse.cz \
--cc=ltp@lists.linux.it \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox