Linux Test Project
 help / color / mirror / Atom feed
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

  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