From: Gabriel Nagy Date: Tue, 24 Oct 2023 09:26:42 +0000 (+0300) Subject: gp_pol: Test empty multi_sz roundtrip X-Git-Tag: talloc-2.4.2~974 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=9c5a924428181604e1abc513415037369e79d75b;p=thirdparty%2Fsamba.git gp_pol: Test empty multi_sz roundtrip Signed-off-by: Gabriel Nagy Reviewed-by: Andrew Bartlett Reviewed-by: David Mulder --- diff --git a/python/samba/tests/gpo.py b/python/samba/tests/gpo.py index d68f11233a6..db5da83bcbe 100644 --- a/python/samba/tests/gpo.py +++ b/python/samba/tests/gpo.py @@ -14,7 +14,7 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see . -import os, grp, pwd +import os, grp, pwd, re import errno from samba import gpo, tests from samba.gp.gpclass import register_gp_extension, list_gp_extensions, \ @@ -5015,6 +5015,18 @@ drive_maps_xml = b""" """ +empty_multi_sz_reg_pol = \ +br""" + + + + KeyName + ValueName + + + +""" + def days2rel_nttime(val): seconds = 60 minutes = 60 @@ -8015,3 +8027,22 @@ class GPOTests(tests.TestCase): pass else: self.fail('Undefined variable %s caused no error' % undef_var) + + def test_parser_roundtrip_empty_multi_sz(self): + with TemporaryDirectory() as dname: + reg_pol_xml = os.path.join(dname, 'REGISTRY.POL.XML') + + parser = GPPolParser() + try: + parser.load_xml(etree.fromstring(empty_multi_sz_reg_pol.strip())) + except Exception as e: + self.fail(str(e)) + parser.write_xml(reg_pol_xml) + + with open(reg_pol_xml, 'r') as f: + pol_xml_data = f.read() + + # Strip whitespace characters due to indentation differences + expected_xml_data = re.sub(r"\s+", "", empty_multi_sz_reg_pol.decode(), flags=re.UNICODE) + actual_xml_data = re.sub(r"\s+", "", pol_xml_data, flags=re.UNICODE) + self.assertEqual(expected_xml_data, actual_xml_data, 'XML data mismatch') diff --git a/selftest/knownfail.d/gpo b/selftest/knownfail.d/gpo new file mode 100644 index 00000000000..55f943f4341 --- /dev/null +++ b/selftest/knownfail.d/gpo @@ -0,0 +1 @@ +^samba.tests.gpo.samba.tests.gpo.GPOTests.test_parser_roundtrip_empty_multi_sz