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

From: Leonard Crestez
Date: Thu Oct 07 2021 - 16:52:46 EST


On 07.10.2021 04:17, David Ahern wrote:
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.

An explicit -t is only passed for some of the tests

$ grep -c nettest.*-r tools/testing/selftests/net/fcnal-test.sh
243
$ grep -c nettest.*-t tools/testing/selftests/net/fcnal-test.sh
15

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.

Would you agree with adding an option to fcnal-test.sh which decreases timeouts passed to nettest client calls?