python.subunit: add assertRegexpMatches for Python 2.6
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Sat, 10 Feb 2018 22:59:40 +0000 (11:59 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Wed, 14 Feb 2018 23:18:29 +0000 (00:18 +0100)
This is used in python/samba/tests/samba_tool/provision_password_check.py

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/__init__.py

index c4d24fa913f0ba641b263c36eea2c1ff6c635215..b6293dff75707c1f7e98cf4f42d572771b515496 100644 (file)
@@ -31,9 +31,10 @@ import subprocess
 import sys
 import tempfile
 import unittest
+import re
 import samba.auth
 import samba.dcerpc.base
-from samba.compat import PY3
+from samba.compat import PY3, text_type
 if not PY3:
     # Py2 only
     from samba.samdb import SamDB
@@ -161,6 +162,14 @@ class TestCase(unittest.TestCase):
             self._cleanups = getattr(self, "_cleanups", []) + [
                 (fn, args, kwargs)]
 
+        def assertRegexpMatches(self, text, regex, msg=None):
+            # PY3 note: Python 3 will never see this, but we use
+            # text_type for the benefit of linters.
+            if isinstance(regex, (str, text_type)):
+                regex = re.compile(regex)
+            if not regex.search(text):
+                self.fail(msg)
+
         def _addSkip(self, result, reason):
             addSkip = getattr(result, 'addSkip', None)
             if addSkip is not None: