From bc9da9568223ddfc8b70384f895c41b7cb6a9b13 Mon Sep 17 00:00:00 2001 From: Douglas Bagnall Date: Mon, 13 Nov 2023 13:34:57 +1300 Subject: [PATCH] pytest: conditional_ace_claims: write_c_test_on_failure() copes with claims *copes badly, but better than crashing. Signed-off-by: Douglas Bagnall Reviewed-by: Andrew Bartlett --- python/samba/tests/conditional_ace_claims.py | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/python/samba/tests/conditional_ace_claims.py b/python/samba/tests/conditional_ace_claims.py index 9b2aaef259f..e7fef5aed43 100644 --- a/python/samba/tests/conditional_ace_claims.py +++ b/python/samba/tests/conditional_ace_claims.py @@ -20,6 +20,7 @@ from samba.dcerpc import security from samba.security import access_check from samba.tests.token_factory import token as Token +from samba.dcerpc.security import CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1 from samba.tests import TestCase, DynamicTestCase, get_env_dir from samba.colour import c_RED, c_GREEN import os @@ -73,10 +74,14 @@ def write_c_test_on_failure(f): if s in token: macro = s.upper() for name, values in token[s].items(): - if not isinstance(values, (list, tuple)): - values = [values] - v = ', '.join(q(x) for x in values) - v = q(f"{v}") + if isinstance(values, + CLAIM_SECURITY_ATTRIBUTE_RELATIVE_V1): + v = '...' + else: + if not isinstance(values, (list, tuple)): + values = [values] + v = ', '.join(q(x) for x in values) + v = q(f"{v}") print(f'\t{macro}({q(name)}, {v});') print(f'\tSD({q(sddl)});') if 'allow' in f.__name__: -- 2.47.3