The IPA provider has its own set of dp_option and sdap_attr_map mappings that we need to make sure remain in-sync with the standard LDAP provider. In the past, we've just kept a "magic number" in a header file that we need to remember to bump up every time we add a new option (or down if we were to remove one).
With these patches, we will now make the checks much more robust (checking not only for attribute count but also ordering).
Patch 0001: Put the attribute maps into their own header files so they can be included by test tools. There is no functional change in this patch.
Patch 0002: Add a terminator for the dp_option maps. This will allow us to test them more simply.
Patch 0003: Add some better dp_option tests, allowing us to walk through the map and verify that the option count is the same and that they are in the same order.
Patch 0004: Similar to patch 0002, but for sdap_attr_map maps.
Patch 0005: Similar to patch 0003, but for sdap_attr_map maps.
Patch 0006: Remove old code that relied on the magic numbers. This patch also drops the runtime option-count check, since we are always performing the more complete check at build-time (as part of 'make check', which is always run during distribution-builds as well as during code-review).
On Wed, Mar 28, 2012 at 01:19:05PM -0400, Stephen Gallagher wrote:
The IPA provider has its own set of dp_option and sdap_attr_map mappings that we need to make sure remain in-sync with the standard LDAP provider. In the past, we've just kept a "magic number" in a header file that we need to remember to bump up every time we add a new option (or down if we were to remove one).
With these patches, we will now make the checks much more robust (checking not only for attribute count but also ordering).
Patch 0001: Put the attribute maps into their own header files so they can be included by test tools. There is no functional change in this patch.
Ack
Patch 0002: Add a terminator for the dp_option maps. This will allow us to test them more simply.
Ack
Patch 0003: Add some better dp_option tests, allowing us to walk through the map and verify that the option count is the same and that they are in the same order.
Ack
Patch 0004: Similar to patch 0002, but for sdap_attr_map maps.
Ack
Patch 0005: Similar to patch 0003, but for sdap_attr_map maps.
Ack, but would it also make sense to compare rfc2307 and rfc2307bis maps? (Or rfc2307bis and IPA, that should yield the same result)
Patch 0006: Remove old code that relied on the magic numbers. This patch also drops the runtime option-count check, since we are always performing the more complete check at build-time (as part of 'make check', which is always run during distribution-builds as well as during code-review).
Ack
On Wed, 2012-03-28 at 14:54 -0400, Jakub Hrozek wrote:
Patch 0005: Similar to patch 0003, but for sdap_attr_map maps.
Ack, but would it also make sense to compare rfc2307 and rfc2307bis maps? (Or rfc2307bis and IPA, that should yield the same result)
We should probably add another unit test specifically for the LDAP provider to guarantee that the different schemas line up. I think it's out of scope for this patch-series, but I'll open a task bug to keep track of it.
On Wed, 2012-03-28 at 14:54 -0400, Jakub Hrozek wrote:
On Wed, Mar 28, 2012 at 01:19:05PM -0400, Stephen Gallagher wrote:
The IPA provider has its own set of dp_option and sdap_attr_map mappings that we need to make sure remain in-sync with the standard LDAP provider. In the past, we've just kept a "magic number" in a header file that we need to remember to bump up every time we add a new option (or down if we were to remove one).
With these patches, we will now make the checks much more robust (checking not only for attribute count but also ordering).
Patch 0001: Put the attribute maps into their own header files so they can be included by test tools. There is no functional change in this patch.
Ack
Patch 0002: Add a terminator for the dp_option maps. This will allow us to test them more simply.
Ack
Patch 0003: Add some better dp_option tests, allowing us to walk through the map and verify that the option count is the same and that they are in the same order.
Ack
Patch 0004: Similar to patch 0002, but for sdap_attr_map maps.
Ack
Patch 0005: Similar to patch 0003, but for sdap_attr_map maps.
Ack, but would it also make sense to compare rfc2307 and rfc2307bis maps? (Or rfc2307bis and IPA, that should yield the same result)
Patch 0006: Remove old code that relied on the magic numbers. This patch also drops the runtime option-count check, since we are always performing the more complete check at build-time (as part of 'make check', which is always run during distribution-builds as well as during code-review).
Ack
Pushed to master.
sssd-devel@lists.fedorahosted.org