Message ID | 20231117171208.2066136-6-pctammela@mojatatu.com (mailing list archive) |
---|---|
State | Accepted |
Commit | 4b480cfb1066a8394017697ff4a58a970641e9b7 |
Delegated to: | Netdev Maintainers |
Headers | show |
Series | selftests: tc-testing: more updates to tdc | expand |
On Fri, Nov 17, 2023 at 02:12:07PM -0300, Pedro Tammela wrote: > In the spirit of failing early, timeout on unbounded loops that take > longer than 20 ticks to complete. Such loops are to ensure that objects > created are already visible so tests can proceed without any issues. > > If a test setup takes more than 20 ticks to see an object, there's > definetely something wrong. > > Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> Hi Pedro, no need to respin because of this, but 'definitely' is misspelt above. Moving on, I am very pleased to see these loops become bounded in time. So the above nit notwithstanding, Reviewed-by: Simon Horman <horms@kernel.org> ...
diff --git a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py index 7b674befceec..65c8f3f983b9 100644 --- a/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py +++ b/tools/testing/selftests/tc-testing/plugin-lib/nsPlugin.py @@ -40,7 +40,10 @@ class SubPlugin(TdcPlugin): self._ns_create() # Make sure the netns is visible in the fs + ticks = 20 while True: + if ticks == 0: + raise TimeoutError self._proc_check() try: ns = self.args.NAMES['NS'] @@ -49,6 +52,7 @@ class SubPlugin(TdcPlugin): break except: time.sleep(0.1) + ticks -= 1 continue def pre_case(self, test, test_skip): @@ -127,7 +131,10 @@ class SubPlugin(TdcPlugin): with IPRoute() as ip: ip.link('add', ifname=dev1, kind='veth', peer={'ifname': dev0, 'net_ns_fd':'/proc/1/ns/net'}) ip.link('add', ifname=dummy, kind='dummy') + ticks = 20 while True: + if ticks == 0: + raise TimeoutError try: dev1_idx = ip.link_lookup(ifname=dev1)[0] dummy_idx = ip.link_lookup(ifname=dummy)[0] @@ -136,17 +143,22 @@ class SubPlugin(TdcPlugin): break except: time.sleep(0.1) + ticks -= 1 continue netns.popns() with IPRoute() as ip: + ticks = 20 while True: + if ticks == 0: + raise TimeoutError try: dev0_idx = ip.link_lookup(ifname=dev0)[0] ip.link('set', index=dev0_idx, state='up') break except: time.sleep(0.1) + ticks -= 1 continue def _ns_create_cmds(self):
In the spirit of failing early, timeout on unbounded loops that take longer than 20 ticks to complete. Such loops are to ensure that objects created are already visible so tests can proceed without any issues. If a test setup takes more than 20 ticks to see an object, there's definetely something wrong. Signed-off-by: Pedro Tammela <pctammela@mojatatu.com> --- .../selftests/tc-testing/plugin-lib/nsPlugin.py | 12 ++++++++++++ 1 file changed, 12 insertions(+)