[LTP] [PATCH v2] Add containers/share to PATH when call init_ltp_netspace

Petr Vorel pvorel@suse.cz
Fri Jan 6 10:31:30 CET 2023


Hi Wei,

> When run single test case use command such as:
> LTP_SHELL_API_TESTS=shell/net/tst_rhost_run.sh make test-shell
> Error msg such as "ns_create: command not found" will popup, so
> need update PATH before call ns_create etc..

Once fixed, it should be here:

Fixes: #991

> Signed-off-by: WEI GAO <wegao@suse.com>
> ---
>  testcases/lib/tst_net.sh | 5 ++++-
>  1 file changed, 4 insertions(+), 1 deletion(-)

> diff --git a/testcases/lib/tst_net.sh b/testcases/lib/tst_net.sh
> index ceb45c98d..cd370e26f 100644
> --- a/testcases/lib/tst_net.sh
> +++ b/testcases/lib/tst_net.sh
> @@ -128,10 +128,13 @@ tst_net_require_ipv6()

>  init_ltp_netspace()
>  {
> +	PATH="$PWD/../../testcases/kernel/containers/share/:$PATH"
> +	tst_res TINFO "PATH='$PATH'"
This is not acceptable. The path should go to the test itself (tst_net.sh should
be either proper installed, then it expect ns_clone and other binaries to be
properly in /opt/ltp/testcases/bin and $PATH set to it. Or, if it's used for a
development, user is required to set the correct $PATH already.)

The reason why it should be in tst_rhost_run.sh is to allow testing instead of
make install. But user still needs to run make in required directories to have
required binaries at least compiled (if not installed).

NOTE: there are only 2 network shell API tests and the other tst_ipaddr_un.sh
does not use namespaces, that's why it goes just to this test.

> +
>  	local pid

>  	if [ ! -f /var/run/netns/ltp_ns -a -z "$LTP_NETNS" ]; then
> -		tst_require_cmds ip
> +		tst_require_cmds ip ns_create ns_exec ns_ifmov
This is wrong:
s/ns_ifmov/ns_ifmove/

(copy & paste is your friend to prevent silly errors)

Kind regards,
Petr


More information about the ltp mailing list