diff options
author | Stefan Metzmacher <metze@samba.org> | 2016-03-11 10:16:27 +0100 |
---|---|---|
committer | Andrew Bartlett <abartlet@samba.org> | 2016-03-11 22:58:18 +0100 |
commit | 1a315bec2720aafc9f0efa48eb36509fc26a6ebf (patch) | |
tree | 5e0d3af88d2564e48756ee39d0031dd9161a5474 /source4/dsdb | |
parent | 0b500d413c5b76188c0c566318be7079b777237c (diff) | |
download | samba-1a315bec2720aafc9f0efa48eb36509fc26a6ebf.tar.gz |
s4:dsdb/test/notification: make test_invalid_filter more resilient against ordering races
We saw a lot of flapping tests with:
[1793(11038)/1892 at 1h55m26s]
samba4.ldap.notification.python(ad_dc_ntvfs)(ad_dc_ntvfs)
UNEXPECTED(failure):
samba4.ldap.notification.python(ad_dc_ntvfs).__main__.LDAPNotificationTest.test_max_search(ad_dc_ntvfs)
REASON: Exception: Exception: Traceback (most recent call last):
File
"/memdisk/autobuild/fl/b1782183/samba/source4/dsdb/tests/python/notification.py",
line 181, in test_max_search
self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED)
AssertionError: 11 != 3
Signed-off-by: Stefan Metzmacher <metze@samba.org>
Reviewed-by: Andrew Bartlett <abartlet@samba.org>
Diffstat (limited to 'source4/dsdb')
-rwxr-xr-x | source4/dsdb/tests/python/notification.py | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/source4/dsdb/tests/python/notification.py b/source4/dsdb/tests/python/notification.py index d799c91def5..afc6343c309 100755 --- a/source4/dsdb/tests/python/notification.py +++ b/source4/dsdb/tests/python/notification.py @@ -168,6 +168,8 @@ delete: otherLoginWorkstations attrs=["name"], controls=["notification:1"], timeout=1) + num_admin_limit = 0 + num_time_limit = 0 for i in xrange(0, max_notifications + 1): try: for msg in notifies[i]: @@ -175,10 +177,15 @@ delete: otherLoginWorkstations res = notifies[i].result() self.fail() except LdbError, (num, _): - if i >= max_notifications: - self.assertEquals(num, ERR_ADMIN_LIMIT_EXCEEDED) - else: - self.assertEquals(num, ERR_TIME_LIMIT_EXCEEDED) + if num == ERR_ADMIN_LIMIT_EXCEEDED: + num_admin_limit += 1 + continue + if num == ERR_TIME_LIMIT_EXCEEDED: + num_time_limit += 1 + continue + raise + self.assertEqual(num_admin_limit, 1) + self.assertEqual(num_time_limit, max_notifications) def test_invalid_filter(self): """Testing invalid filters for notifications""" |