Re: [PATCHv2] selftests: net: devlink_port_split.py: skip test if no suitable device available

From: Jakub Kicinski
Date: Fri Mar 10 2023 - 19:05:59 EST


On Tue, 7 Mar 2023 23:00:30 +0800 Po-Hsu Lin wrote:
> def main(cmdline=None):
> + test_ran = False

Could you move this variable init right before the

for port in ports.if_names:

line, and call it something like found_max_lanes ?

> parser = make_parser()
> args = parser.parse_args(cmdline)
>
> @@ -240,12 +264,9 @@ def main(cmdline=None):
> stdout, stderr = run_command(cmd)
> assert stderr == ""
>
> + validate_devlink_output(json.loads(stdout))
> devs = json.loads(stdout)['dev']
> - if devs:
> - dev = list(devs.keys())[0]
> - else:
> - print("no devlink device was found, test skipped")
> - sys.exit(KSFT_SKIP)
> + dev = list(devs.keys())[0]
>
> cmd = "devlink dev show %s" % dev
> stdout, stderr = run_command(cmd)
> @@ -277,6 +298,11 @@ def main(cmdline=None):
> split_splittable_port(port, lane, max_lanes, dev)
>
> lane //= 2
> + test_ran = True
> +
> + if not test_ran:
> + print("Test not started, no suitable device for the test")

Then change the message to

f"Test not started, no port of device {dev} reports max_lanes"

> + sys.exit(KSFT_SKIP)
>