The patch set [1] added a general lib.sh in net selftests, and converted several test scripts to source the lib.sh.
The shebang of unicast_extensions.sh is /bin/sh which may point to various shells in different distributions, but "source" is only available in some of them. For example, "source" is a built-it function in bash, but it cannot be used in dash.
Refer to other scripts that were converted together, simply change the shebang to bash to suppress the following errors when the default /bin/sh points to other shells.
# selftests: net: unicast_extensions.sh # ./unicast_extensions.sh: 31: source: not found # ########################################################################### # Unicast address extensions tests (behavior of reserved IPv4 addresses) # ########################################################################### # TEST: assign and ping within 240/4 (1 of 2) (is allowed) [FAIL] # TEST: assign and ping within 240/4 (2 of 2) (is allowed) [FAIL] # TEST: assign and ping within 0/8 (1 of 2) (is allowed) [FAIL] # TEST: assign and ping within 0/8 (2 of 2) (is allowed) [FAIL] # TEST: assign and ping inside 255.255/16 (is allowed) [FAIL] # TEST: assign and ping inside 255.255.255/24 (is allowed) [FAIL] # TEST: route between 240.5.6/24 and 255.1.2/24 (is allowed) [FAIL] # TEST: route between 0.200/16 and 245.99/16 (is allowed) [FAIL] # TEST: assign and ping lowest address (/24) [FAIL] # TEST: assign and ping lowest address (/26) [FAIL] # TEST: routing using lowest address [FAIL] # TEST: assigning 0.0.0.0 (is forbidden) [ OK ] # TEST: assigning 255.255.255.255 (is forbidden) [ OK ] # TEST: assign and ping inside 127/8 (is forbidden) [ OK ] # TEST: assign and ping class D address (is forbidden) [ OK ] # TEST: routing using class D (is forbidden) [ OK ] # TEST: routing using 127/8 (is forbidden) [ OK ] not ok 51 selftests: net: unicast_extensions.sh # exit=1
Link: https://lore.kernel.org/all/20231202020110.362433-1-liuhangbin@gmail.com/ [1] Fixes: 0f4765d0b48d ("selftests/net: convert unicast_extensions.sh to run it in unique namespace") Reported-by: kernel test robot oliver.sang@intel.com Signed-off-by: Yujie Liu yujie.liu@intel.com --- tools/testing/selftests/net/unicast_extensions.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/tools/testing/selftests/net/unicast_extensions.sh b/tools/testing/selftests/net/unicast_extensions.sh index b7a2cb9e7477..2766990c2b78 100755 --- a/tools/testing/selftests/net/unicast_extensions.sh +++ b/tools/testing/selftests/net/unicast_extensions.sh @@ -1,4 +1,4 @@ -#!/bin/sh +#!/bin/bash # SPDX-License-Identifier: GPL-2.0 # # By Seth Schoen (c) 2021, for the IPv4 Unicast Extensions Project
On Mon, Dec 25, 2023 at 03:21:09PM +0800, Yujie Liu wrote:
The patch set [1] added a general lib.sh in net selftests, and converted several test scripts to source the lib.sh.
Oh, I didn't know dash doesn't support "source". Thanks for the fix. Would you please also help fix the pmtu.sh, which has the same issue?
BTW, you can change the "source ./lib.sh" to "source lib.sh" to consistent with other tests.
Thanks Hangbin
Hi Hangbin,
On Mon, Dec 25, 2023 at 08:39:09PM +0800, Hangbin Liu wrote:
On Mon, Dec 25, 2023 at 03:21:09PM +0800, Yujie Liu wrote:
The patch set [1] added a general lib.sh in net selftests, and converted several test scripts to source the lib.sh.
Oh, I didn't know dash doesn't support "source". Thanks for the fix. Would you please also help fix the pmtu.sh, which has the same issue?
It looks like pmtu.sh was not converted in patch set [1], so it doesn't have "source lib.sh" yet. The cover letter of [1] mentions that the whole process of conversion will be split into several parts. Not sure if pmtu.sh will be converted in the subsequent parts soon? If so, would you like to change the shebang of pmtu.sh when converting it later, or change it together in this patch? Thanks.
BTW, in addition to pmtu.sh, I noticed that there are several other scripts in net selftests which have "/bin/sh" shebang:
linux/tools/testing/selftests/net$ grep -rF '#!/bin/sh' openvswitch/openvswitch.sh:#!/bin/sh in_netns.sh:#!/bin/sh netdevice.sh:#!/bin/sh test_bpf.sh:#!/bin/sh test_blackhole_dev.sh:#!/bin/sh vlan_hw_filter.sh:#!/bin/sh run_netsocktests:#!/bin/sh pmtu.sh:#!/bin/sh bareudp.sh:#!/bin/sh l2_tos_ttl_inherit.sh:#!/bin/sh veth.sh:#!/bin/sh ipv6_flowlabel.sh:#!/bin/sh unicast_extensions.sh:#!/bin/sh reuseport_addr_any.sh:#!/bin/sh run_afpackettests:#!/bin/sh ip_local_port_range.sh:#!/bin/sh amt.sh:#!/bin/sh udpgso.sh:#!/bin/sh ip_defrag.sh:#!/bin/sh rps_default_mask.sh:#!/bin/sh
BTW, you can change the "source ./lib.sh" to "source lib.sh" to consistent with other tests.
Sure, will respin a v2 with this change added.
Thanks, Yujie
On Tue, Dec 26, 2023 at 04:43:18PM +0800, Yujie Liu wrote:
Hi Hangbin,
On Mon, Dec 25, 2023 at 08:39:09PM +0800, Hangbin Liu wrote:
On Mon, Dec 25, 2023 at 03:21:09PM +0800, Yujie Liu wrote:
The patch set [1] added a general lib.sh in net selftests, and converted several test scripts to source the lib.sh.
Oh, I didn't know dash doesn't support "source". Thanks for the fix. Would you please also help fix the pmtu.sh, which has the same issue?
It looks like pmtu.sh was not converted in patch set [1], so it doesn't have "source lib.sh" yet. The cover letter of [1] mentions that the whole process of conversion will be split into several parts. Not sure if pmtu.sh will be converted in the subsequent parts soon? If so, would you like to change the shebang of pmtu.sh when converting it later, or change it together in this patch? Thanks.
The pmtu.sh update is in this patch set. https://lore.kernel.org/all/20231219094856.1740079-1-liuhangbin@gmail.com/
It would be good to fix these 2 tests together.
BTW, in addition to pmtu.sh, I noticed that there are several other scripts in net selftests which have "/bin/sh" shebang:
Yes, but the other tests don't use "source".
linux/tools/testing/selftests/net$ grep -rF '#!/bin/sh' openvswitch/openvswitch.sh:#!/bin/sh in_netns.sh:#!/bin/sh netdevice.sh:#!/bin/sh test_bpf.sh:#!/bin/sh test_blackhole_dev.sh:#!/bin/sh vlan_hw_filter.sh:#!/bin/sh run_netsocktests:#!/bin/sh pmtu.sh:#!/bin/sh bareudp.sh:#!/bin/sh l2_tos_ttl_inherit.sh:#!/bin/sh veth.sh:#!/bin/sh ipv6_flowlabel.sh:#!/bin/sh unicast_extensions.sh:#!/bin/sh reuseport_addr_any.sh:#!/bin/sh run_afpackettests:#!/bin/sh ip_local_port_range.sh:#!/bin/sh amt.sh:#!/bin/sh udpgso.sh:#!/bin/sh ip_defrag.sh:#!/bin/sh rps_default_mask.sh:#!/bin/sh
BTW, you can change the "source ./lib.sh" to "source lib.sh" to consistent with other tests.
Sure, will respin a v2 with this change added.
Thanks Hangbin
On Tue, Dec 26, 2023 at 08:51:43PM +0800, Hangbin Liu wrote:
On Tue, Dec 26, 2023 at 04:43:18PM +0800, Yujie Liu wrote:
Hi Hangbin,
On Mon, Dec 25, 2023 at 08:39:09PM +0800, Hangbin Liu wrote:
On Mon, Dec 25, 2023 at 03:21:09PM +0800, Yujie Liu wrote:
The patch set [1] added a general lib.sh in net selftests, and converted several test scripts to source the lib.sh.
Oh, I didn't know dash doesn't support "source". Thanks for the fix. Would you please also help fix the pmtu.sh, which has the same issue?
It looks like pmtu.sh was not converted in patch set [1], so it doesn't have "source lib.sh" yet. The cover letter of [1] mentions that the whole process of conversion will be split into several parts. Not sure if pmtu.sh will be converted in the subsequent parts soon? If so, would you like to change the shebang of pmtu.sh when converting it later, or change it together in this patch? Thanks.
The pmtu.sh update is in this patch set. https://lore.kernel.org/all/20231219094856.1740079-1-liuhangbin@gmail.com/
It would be good to fix these 2 tests together.
Sorry for the late reply due to recent holiday. v2 patch has been sent at: https://lore.kernel.org/all/20231229131931.3961150-1-yujie.liu@intel.com/ Please kindly review.
Thanks, Yujie
BTW, in addition to pmtu.sh, I noticed that there are several other scripts in net selftests which have "/bin/sh" shebang:
Yes, but the other tests don't use "source".
linux/tools/testing/selftests/net$ grep -rF '#!/bin/sh' openvswitch/openvswitch.sh:#!/bin/sh in_netns.sh:#!/bin/sh netdevice.sh:#!/bin/sh test_bpf.sh:#!/bin/sh test_blackhole_dev.sh:#!/bin/sh vlan_hw_filter.sh:#!/bin/sh run_netsocktests:#!/bin/sh pmtu.sh:#!/bin/sh bareudp.sh:#!/bin/sh l2_tos_ttl_inherit.sh:#!/bin/sh veth.sh:#!/bin/sh ipv6_flowlabel.sh:#!/bin/sh unicast_extensions.sh:#!/bin/sh reuseport_addr_any.sh:#!/bin/sh run_afpackettests:#!/bin/sh ip_local_port_range.sh:#!/bin/sh amt.sh:#!/bin/sh udpgso.sh:#!/bin/sh ip_defrag.sh:#!/bin/sh rps_default_mask.sh:#!/bin/sh
BTW, you can change the "source ./lib.sh" to "source lib.sh" to consistent with other tests.
Sure, will respin a v2 with this change added.
Thanks Hangbin
linux-kselftest-mirror@lists.linaro.org