richton@nbcs.rutgers.edu wrote:
Full_Name: Aaron Richton Version: HEAD OS: irrelevant URL: https://www.nbcs.rutgers.edu/~richton/syncrepl-modrdn-tests.patch Submission from: (NULL) (67.85.181.229)
Per http://www.openldap.org/lists/openldap-devel/200812/msg00004.html these patches enhance tests to detect ITS#5809-like behavior.
The actual test changes are at the address linked to this report. They should apply clean to HEAD and can be used immediately with, for example, back-ldif. I note that I wasn't able to reproduce a failure under test018; if anybody can suggest a different test there, that'd be great, or perhaps the stopping and starting somehow masks the condition?
While verifying the tests, I noticed that some backends (such as back-bdb) were failing because the consumer and provider returned the attributes in a different order. Since attribute ordering isn't guaranteed, I viewed this as a test failure rather than a slapd failure, and used the back-ndb gawk acfilter.sh to work around this. In the end I just made it apply to all backends:
Since we want to minimize the dependency on gawk, I took a look at the ordering failure. It occurs because the syncrepl consumer internally processes renames before it processes modifies. As such, just changing the test script to execute in this order seems to avoid the problem.
https://www.nbcs.rutgers.edu/~richton/acfilter.patch
but we'll probably want to discuss this on -devel: it adds a gawk dependency to the tests.
With the acfilter.sh sorting enabled, I found three tests that don't filter the original data prior to ldapsearch comparison. I added these filters in:
https://www.nbcs.rutgers.edu/~richton/openldap-testflt.patch
Sounds like it should be harmless to include this patch...
We all know that nothing's free -- a couple extra commands in the name of bug coverage is probably worth it -- but the gawk dependency may be troublesome. Anyway, do what you will...I consider these pretty trivial, so:
These patch files are derived from OpenLDAP Software. All of the modifications to OpenLDAP Software represented in these patches were developed by Aaron Richtonrichton@nbcs.rutgers.edu. I have not assigned rights and/or interest in this work to any party.
I, Aaron Richton, hereby place these modifications to OpenLDAP Software (and only these modifications) into the public domain. Hence, these modifications may be freely used and/or redistributed for any purpose with or without attribution and/or other notice.