tests/samba-tool user wdigest: fix a flapping test
authorDouglas Bagnall <douglas.bagnall@catalyst.net.nz>
Fri, 9 Feb 2018 10:09:41 +0000 (23:09 +1300)
committerAndrew Bartlett <abartlet@samba.org>
Mon, 12 Feb 2018 04:21:01 +0000 (05:21 +0100)
The output of something like

  samba-tool user getpassword $USER --attributes virtualWDigest01

contains an LDIF section with long strings folded on the 77th column.

To unfold this LDIF we were using:

   result = re.sub(r"\n\s*", '', out)

which worked fine EXCEPT when a space in the output happened to land
immediately after the fold and got eaten by the \s*.

Instead we remove just a single space after the line break, because
that is always what fold_string() in lib/ldb/common/ldb_ldif.c
inserts, and for this simple replacement we don't need the re module.

Signed-off-by: Douglas Bagnall <douglas.bagnall@catalyst.net.nz>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Autobuild-User(master): Andrew Bartlett <abartlet@samba.org>
Autobuild-Date(master): Mon Feb 12 05:21:01 CET 2018 on sn-devel-144

python/samba/tests/samba_tool/user_wdigest.py

index 497855c7b73c60ccff74d66b14a070353e702575..35283ebfcb320432aa66de9209c209e387aaf33d 100644 (file)
@@ -31,7 +31,6 @@ from samba import (
 from samba.ndr import ndr_unpack
 from samba.dcerpc import drsblobs
 from hashlib import md5
-import re
 import random
 import string
 
@@ -105,8 +104,8 @@ class UserCmdWdigestTestCase(SambaToolCmdTest):
         if missing:
             self.assertTrue(attribute not in out)
         else:
-            result = re.sub(r"\n\s*", '', out)
-            self.assertMatch(result, "%s: %s" % (attribute, expected))
+            self.assertMatch(out.replace('\n ', ''),
+                             "%s: %s" % (attribute, expected))
 
     def test_Wdigest_no_suffix(self):
         attribute = "virtualWDigest"