]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
selftests: net: fix wrong boolean evaluation in __exit__
authorGal Pressman <gal@nvidia.com>
Sun, 25 Jan 2026 10:55:24 +0000 (12:55 +0200)
committerJakub Kicinski <kuba@kernel.org>
Tue, 27 Jan 2026 03:32:20 +0000 (19:32 -0800)
commita84a1fe0fb2e9bfccb1d5a2929a249960a93264d
tree40119c145aeb7a81c02666baf3a94f087f2a860d
parent3ccf393cdd091ad18be1135d19773d3739d09caa
selftests: net: fix wrong boolean evaluation in __exit__

The __exit__ method receives ex_type as the exception class when an
exception occurs. The previous code used implicit boolean evaluation:

    terminate = self.terminate or (self._exit_wait and ex_type)
                                                   ^^^^^^^^^^^

In Python, the and operator can be used with non-boolean values, but it
does not always return a boolean result.

This is probably not what we want, because 'self._exit_wait and ex_type'
could return the actual ex_type value (the exception class) rather than
a boolean True when an exception occurs.

Use explicit `ex_type is not None` check to properly evaluate whether
an exception occurred, returning a boolean result.

Reviewed-by: Nimrod Oren <noren@nvidia.com>
Signed-off-by: Gal Pressman <gal@nvidia.com>
Link: https://patch.msgid.link/20260125105524.773993-1-gal@nvidia.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
tools/testing/selftests/net/lib/py/utils.py