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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.