CVE-2020-25722 pytest: Raise an error when adding a dynamic test that would overwrite...
authorJoseph Sutton <josephsutton@catalyst.net.nz>
Wed, 27 Oct 2021 06:18:20 +0000 (19:18 +1300)
committerJule Anger <janger@samba.org>
Mon, 8 Nov 2021 09:52:12 +0000 (10:52 +0100)
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>
python/samba/tests/__init__.py

index e04ddcb4ba8e7bfa499652636a7fada06b47462c..ffb8e58f4715bd090ab219481be2f97ad193aaf9 100644 (file)
@@ -102,7 +102,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):