On Fri, Jul 25, 2025 at 10:27:48AM +0200, Petr Machata wrote:
Hangbin Liu liuhangbin@gmail.com writes:
On Thu, Jul 24, 2025 at 04:06:03AM +0000, Hangbin Liu wrote:
On Tue, Jul 15, 2025 at 11:37:54AM +0200, Paolo Abeni wrote:
diff --git a/tools/testing/selftests/drivers/net/bonding/bond_passive_lacp.sh b/tools/testing/selftests/drivers/net/bonding/bond_passive_lacp.sh new file mode 100755 index 000000000000..4cf8a5999aaa --- /dev/null +++ b/tools/testing/selftests/drivers/net/bonding/bond_passive_lacp.sh @@ -0,0 +1,21 @@ +#!/bin/sh +# SPDX-License-Identifier: GPL-2.0 +# +# Testing if bond works with lacp_active = off
+lib_dir=$(dirname "$0") +source ${lib_dir}/bond_topo_lacp.sh
shellcheck is not super happy about 'source' usage:
In bond_passive_lacp.sh line 7: source ${lib_dir}/bond_topo_lacp.sh ^-- SC3046 (warning): In POSIX sh, 'source' in place of '.' is undefined. ^-- SC3051 (warning): In POSIX sh, 'source' in place of '.' is undefined.
either switch to '. ' or use bash instead of 'sh'.
Hi Paolo,
I updated the case and remove the source file bond_topo_lacp.sh. Instead I source the forwarding lib directly like:
lib_dir=$(dirname "$0") source "$lib_dir"/../../../net/forwarding/lib.sh
But this cause shell check unable to find the lib.sh as $lib_dir is get dynamically. This usage is common in selftest. How should we resolves this problem?
OK, I just disabled this warning.
# shellcheck disable=SC1091
I believe the point was only about using "." instead of "source". The following should have fixed it:
. ${lib_dir}/bond_topo_lacp.sh
... or just use bash as the interpreter, I suspect lib.sh is not actually POSIX clean.
Thanks Petr, I know Paolo means to use "." to fix this. The issue is that I changed the script to source forwarding lib. And shell check could only analyse static path. Unless use -x to supply the real source path. But I guess the CI can't do this. So I disabled the SC1091 checking as a workaround.
Regards Hangbin