tests: SambaToolCmdTest.assertMatch() indicates what was asserted
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 9 Feb 2018 01:29:43 +0000 (14:29 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Sun, 11 Feb 2018 23:50:25 +0000 (00:50 +0100)
Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
python/samba/tests/samba_tool/base.py

index c57e9e94a1b90ba2ab629137bfc8b75707d5fe69..de257e3db09a96476337e26e0bb1bb2559e4adfa 100644 (file)
@@ -29,6 +29,13 @@ from cStringIO import StringIO
 from samba.netcmd.main import cmd_sambatool
 import samba.tests
 
+
+def truncate_string(s, cutoff=100):
+    if len(s) < cutoff + 15:
+        return s
+    return s[:cutoff] + '[%d more characters]' % (len(s) - cutoff)
+
+
 class SambaToolCmdTest(samba.tests.BlackboxTestCase):
 
     def getSamDB(self, *argv):
@@ -88,7 +95,10 @@ class SambaToolCmdTest(samba.tests.BlackboxTestCase):
     def assertCmdFail(self, val, msg=""):
         self.assertIsNotNone(val, msg)
 
-    def assertMatch(self, base, string, msg=""):
+    def assertMatch(self, base, string, msg=None):
+        if msg is None:
+            msg = "%r is not in %r" % (truncate_string(string),
+                                       truncate_string(base))
         self.assertTrue(string in base, msg)
 
     def randomName(self, count=8):