Re: [PATCH 11/11] selftests: net/fcnal: Reduce client timeout

From: David Ahern
Date: Wed Oct 06 2021 - 21:17:52 EST


On 10/6/21 3:26 PM, Leonard Crestez wrote:
>
>
> On 06.10.2021 18:01, David Ahern wrote:
>> On 10/6/21 5:47 AM, Leonard Crestez wrote:
>>> Reduce default client timeout from 5 seconds to 500 miliseconds.
>>> Can be overridden from environment by exporting NETTEST_CLIENT_TIMEOUT=5
>>>
>>> Some tests need ICMP timeouts so pass an explicit -t5 for those.
>>>
>>> Signed-off-by: Leonard Crestez <cdleonard@xxxxxxxxx>
>>> ---
>>>   tools/testing/selftests/net/fcnal-test.sh | 17 +++++++++++------
>>>   1 file changed, 11 insertions(+), 6 deletions(-)
>>>
>>
>> The problem with blindly reducing the timeouts is running the script on
>> a loaded server. Some tests are expected to timeout while for tests a
>> timeout is a failure.
>
> Keeping the default value "5" would be fine as long as it is possible to
> override externally and get fast results on a mostly-idle machine.

5 is the default for nettest.c; the test script passes in -t1 for all tests.

>
> Placing a default value in the environment which is overriden by certain
> tests achieves that.
>
> In theory it would also be possible for fcnal-test.sh to parse as
> "--timeout" option and pass it into every single test but that solution
> would cause much more code churn.
>
> Having default values in environment variables that can still be
> overridden by command-line arguments is a common pattern in many tools.
> It also avoids having to pass-through every flag through every
> intermediate wrapper.

I do not agree with env variables here.