Subject: Re: [PATCH net-next] selftests: forwarding: Import top-level lib.sh through $lib_dir

From: Petr Machata <[email-masked]>
Date: Tue, 12 Dec 2023 18:22:28 +0100

Hangbin Liu <[email-masked]> writes:

> On Mon, Dec 11, 2023 at 01:01:06PM +0100, Petr Machata wrote:
>
>> @@ -38,7 +38,7 @@ if [[ -f $relative_path/forwarding.config ]]; then
>>  	source "$relative_path/forwarding.config"
>>  fi
>>  
>> -source ../lib.sh
>> +source ${lib_dir-.}/../lib.sh
>>  ##############################################################################
>>  # Sanity checks
>
> Hi Petr,
>
> Thanks for the report. However, this doesn't fix the soft link scenario. e.g.
> The bonding tests tools/testing/selftests/drivers/net/bonding add a soft link
> net_forwarding_lib.sh and source it directly in dev_addr_lists.sh.

I see, I didn't realize those exist.

> So how about something like:
>
> diff --git a/tools/testing/selftests/net/forwarding/lib.sh b/tools/testing/selftests/net/forwarding/lib.sh
> index 8f6ca458af9a..7f90248e05d6 100755
> --- a/tools/testing/selftests/net/forwarding/lib.sh
> +++ b/tools/testing/selftests/net/forwarding/lib.sh
> @@ -38,7 +38,8 @@ if [[ -f $relative_path/forwarding.config ]]; then
>         source "$relative_path/forwarding.config"
>  fi
>
> -source ../lib.sh
> +forwarding_dir=$(dirname $(readlink -f $BASH_SOURCE))
> +source ${forwarding_dir}/../lib.sh

Yep, that's gonna work.
I'll pass through our tests and send later this week.