summaryrefslogtreecommitdiffstats
path: root/src/tests/common.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/tests/common.c')
-rw-r--r--src/tests/common.c26
1 files changed, 26 insertions, 0 deletions
diff --git a/src/tests/common.c b/src/tests/common.c
index 118684ddb..3e4753e08 100644
--- a/src/tests/common.c
+++ b/src/tests/common.c
@@ -67,3 +67,29 @@ compare_dp_options(struct dp_option *map1, size_t size1,
return EOK;
}
+
+/* Check that the option names of the two maps are the same
+ * and appear in the same order.
+ */
+errno_t
+compare_sdap_attr_maps(struct sdap_attr_map *map1, size_t size1,
+ struct sdap_attr_map *map2)
+{
+ size_t i;
+
+ for (i = 0; i < size1; i++) {
+ /* Check for a valid option */
+ if (map1[i].opt_name == NULL) return EINVAL;
+
+ /* Check whether we've gone past the end of map2 */
+ if (map2[i].opt_name == NULL) return ERANGE;
+
+ /* Ensure that the option names are the same */
+ if(strcmp(map1[i].opt_name, map2[i].opt_name) != 0) return EINVAL;
+ }
+
+ /* Leftover options in map2 */
+ if (map2[i].opt_name != NULL) return ERANGE;
+
+ return EOK;
+}