summaryrefslogtreecommitdiff
path: root/python
diff options
context:
space:
mode:
authorJoseph Sutton <josephsutton@catalyst.net.nz>2021-10-27 19:18:20 +1300
committerJule Anger <janger@samba.org>2021-11-08 10:46:44 +0100
commit694b16b516a9d45bcb4fbdfcfaf5088b4fa050ce (patch)
tree729492b21a7ede7b6bb0afe375e3729f88e9f3aa /python
parent4ecd2f5b8e46128d4289a84f52c2363fb77e60d6 (diff)
downloadsamba-694b16b516a9d45bcb4fbdfcfaf5088b4fa050ce.tar.gz
CVE-2020-25722 pytest: Raise an error when adding a dynamic test that would overwrite an existing test
BUG: https://bugzilla.samba.org/show_bug.cgi?id=14753 Signed-off-by: Joseph Sutton <josephsutton@catalyst.net.nz> Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'python')
-rw-r--r--python/samba/tests/__init__.py5
1 files changed, 4 insertions, 1 deletions
diff --git a/python/samba/tests/__init__.py b/python/samba/tests/__init__.py
index 2c4c8fad83e..3812f5bad4a 100644
--- a/python/samba/tests/__init__.py
+++ b/python/samba/tests/__init__.py
@@ -100,7 +100,10 @@ class TestCase(unittest.TestCase):
def fn(self):
getattr(self, "_%s_with_args" % fnname)(*args)
fn.__doc__ = doc
- setattr(cls, "%s_%s" % (fnname, suffix), fn)
+ attr = "%s_%s" % (fnname, suffix)
+ if hasattr(cls, attr):
+ raise RuntimeError(f"Dynamic test {attr} already exists!")
+ setattr(cls, attr, fn)
@classmethod
def setUpDynamicTestCases(cls):