s4/tort: Add test for comparing special DNs
authorKamen Mazdrashki <kamenim@samba.org>
Sat, 8 May 2010 07:20:00 +0000 (10:20 +0300)
committerKamen Mazdrashki <kamenim@samba.org>
Mon, 10 May 2010 20:45:20 +0000 (23:45 +0300)
source4/torture/ldb/ldb.c

index dbfd96c59b26403fcc1711837004b6df9ae4c928..8bc6357e3dc1fe1495fcbadc82cd63994a15b52e 100644 (file)
@@ -587,6 +587,7 @@ static bool torture_ldb_dn(struct torture_context *torture)
        struct ldb_dn *dn;
        struct ldb_dn *child_dn;
        struct ldb_dn *typo_dn;
+       struct ldb_dn *special_dn;
        struct ldb_val val;
 
        torture_assert(torture, 
@@ -656,6 +657,23 @@ static bool torture_ldb_dn(struct torture_context *torture)
                       ldb_dn_compare_base(dn, typo_dn) != 0,
                       "Base Comparison on dc=samba,dc=org and c=samba,dc=org should != 0");
 
+       /* Check comparisons with a special DN */
+       torture_assert(torture,
+                      special_dn = ldb_dn_new(mem_ctx, ldb, "@special_dn"),
+                      "Failed to create 'special' DN");
+
+       torture_assert(torture,
+                      ldb_dn_compare(dn, special_dn) != 0,
+                      "Comparison on dc=samba,dc=org and @special_dn should != 0");
+
+       torture_assert(torture,
+                      ldb_dn_compare_base(special_dn, dn) > 0,
+                      "Base Comparison of @special_dn and dc=samba,dc=org should > 0");
+
+       torture_assert(torture,
+                      ldb_dn_compare_base(dn, special_dn) < 0,
+                      "Base Comparison on dc=samba,dc=org and @special_dn should < 0");
+
        /* Check DN based on MS-ADTS:3.1.1.5.1.2 Naming Constraints*/
        torture_assert(torture,
                       dn = ldb_dn_new(mem_ctx, ldb, "CN=New\nLine,DC=SAMBA,DC=org"),