diff --git a/lib/ldb/tests/python/api.py b/lib/ldb/tests/python/api.py index 88dfa8c3b71..0fc31e3fe09 100755 --- a/lib/ldb/tests/python/api.py +++ b/lib/ldb/tests/python/api.py @@ -1341,6 +1341,22 @@ class SearchTests(LdbBaseTest): expression="(ou=unique)") self.assertEqual(len(res11), 1) + def test_subtree_uni123_elsewhere(self): + """Testing a search, where the search term contains a (normal ASCII) + dotted-i, that will be upper-cased to 'İ', U+0130, LATIN + CAPITAL LETTER I WITH DOT ABOVE in certain locales including + tr_TR in which this test is sometimes run. + + The search term should fail because the ou does not exist, but + we used to get it wrong in unindexed searches which stopped + comparing at the i, ignoring the rest of the string, which is + not the same as the existing ou ('123' != 'que'). + """ + res11 = self.l.search(base="DC=EXAMPLE,DC=NET", + scope=ldb.SCOPE_SUBTREE, + expression="(ou=uni123)") + self.assertEqual(len(res11), 0) + def test_subtree_unique_elsewhere3(self): """Testing a search""" diff --git a/selftest/knownfail.d/ldb.python.api.tr b/selftest/knownfail.d/ldb.python.api.tr new file mode 100644 index 00000000000..f327762e70b --- /dev/null +++ b/selftest/knownfail.d/ldb.python.api.tr @@ -0,0 +1,2 @@ +^ldb.python.api.tr.api.SearchTests.test_subtree_uniquer_elsewhere.none +^ldb.python.api.tr.api.SearchTestsLmdb.test_subtree_uniquer_elsewhere.none