The branch, master has been updated
       via  99af0e0 tests: add test for merging with empty vectors left and 
right.
       via  f69f5e6 tests: improve nwrap_vector tests
      from  dff6144 tests: Add missing include for crypt.h in test_shadow

https://git.samba.org/?p=nss_wrapper.git;a=shortlog;h=master


- Log -----------------------------------------------------------------
commit 99af0e0df68f19522d87f0d27f68769ec3af7193
Author: Michael Adam <[email protected]>
Date:   Fri Oct 9 10:16:44 2015 +0200

    tests: add test for merging with empty vectors left and right.
    
    Signed-off-by: Michael Adam <[email protected]>
    Reviewed-by: Andreas Schneider <[email protected]>

commit f69f5e625974175923d8dcfca1eb2e21ab3ddb6e
Author: Michael Adam <[email protected]>
Date:   Fri Oct 9 10:10:44 2015 +0200

    tests: improve nwrap_vector tests
    
    Improves ordering and adds some additional checks.
    
    Signed-off-by: Michael Adam <[email protected]>
    Reviewed-by: Andreas Schneider <[email protected]>

-----------------------------------------------------------------------

Summary of changes:
 tests/test_nwrap_vector.c | 64 +++++++++++++++++++++++++++++++++++++++--------
 1 file changed, 54 insertions(+), 10 deletions(-)


Changeset truncated at 500 lines:

diff --git a/tests/test_nwrap_vector.c b/tests/test_nwrap_vector.c
index 4e9f066..26baf01 100644
--- a/tests/test_nwrap_vector.c
+++ b/tests/test_nwrap_vector.c
@@ -21,19 +21,21 @@ static void test_nwrap_vector_basic_add(void **state)
        nwrap_vector_add_item(&v, string);
        assert_null(v.items[1]);
        assert_int_equal(v.count, 1);
+       assert_string_equal(v.items[0], string);
        assert_int_equal(v.capacity, DEFAULT_VECTOR_CAPACITY);
 
        assert_string_equal(v.items[0], "string!");
 
        nwrap_vector_add_item(&v, string2);
+       assert_null(v.items[2]);
+       assert_int_equal(v.count, 2);
        assert_string_equal(v.items[0], string);
        assert_string_equal(v.items[1], string2);
-       assert_null(v.items[2]);
 
        free(v.items);
 }
 
-static void test_nwrap_vector_merge(void **state)
+static void test_nwrap_vector_merge_empty(void **state)
 {
        struct nwrap_vector v1;
        struct nwrap_vector v2;
@@ -44,24 +46,64 @@ static void test_nwrap_vector_merge(void **state)
 
        nwrap_vector_init(&v1);
        assert_non_null(v1.items);
+       assert_int_equal(v1.count, 0);
 
        nwrap_vector_init(&v2);
        assert_non_null(v2.items);
+       assert_int_equal(v2.count, 0);
+
+       nwrap_vector_merge(&v1, &v2);
+       assert_int_equal(v1.count, 0);
+       assert_null(v1.items[0]);
 
        nwrap_vector_add_item(&v1, string);
        nwrap_vector_add_item(&v1, string2);
+       assert_int_equal(v1.count, 2);
+
+       nwrap_vector_merge(&v1, &v2);
+       assert_int_equal(v1.count, 2);
+       assert_string_equal(v1.items[0], string);
+       assert_string_equal(v1.items[1], string2);
+       assert_null(v1.items[2]);
+
+       nwrap_vector_merge(&v2, &v1);
+       assert_int_equal(v2.count, 2);
+       assert_string_equal(v2.items[0], string);
+       assert_string_equal(v2.items[1], string2);
+       assert_null(v2.items[2]);
 
+       free(v1.items);
+       free(v2.items);
+}
+
+static void test_nwrap_vector_merge(void **state)
+{
+       struct nwrap_vector v1;
+       struct nwrap_vector v2;
+       char string[] = "string!";
+       char string2[] = "2string!";
+
+       (void) state; /* unused */
+
+       nwrap_vector_init(&v1);
+       assert_non_null(v1.items);
+       nwrap_vector_add_item(&v1, string);
+       nwrap_vector_add_item(&v1, string2);
+       assert_int_equal(v1.count, 2);
+
+       nwrap_vector_init(&v2);
+       assert_non_null(v2.items);
        nwrap_vector_add_item(&v2, string2);
        nwrap_vector_add_item(&v2, string);
+       assert_int_equal(v2.count, 2);
 
        nwrap_vector_merge(&v1, &v2);
-
+       assert_int_equal(v1.count, 4);
        assert_string_equal(v1.items[0], string);
        assert_string_equal(v1.items[1], string2);
        assert_string_equal(v1.items[2], string2);
        assert_string_equal(v1.items[3], string);
        assert_null(v1.items[4]);
-       assert_int_equal(v1.count, 4);
 
        free(v1.items);
        free(v2.items);
@@ -80,20 +122,21 @@ static void test_nwrap_vector_merge_max(void **state)
        nwrap_vector_init(&v1);
        assert_non_null(v1.items);
 
-       nwrap_vector_init(&v2);
-       assert_non_null(v2.items);
-
        for (p = 0; p < 64; ++p) {
                nwrap_vector_add_item(&v1, string);
        }
-       nwrap_vector_merge(&v2, &v1);
+       assert_int_equal(v1.count, 64);
+
+       nwrap_vector_init(&v2);
+       assert_non_null(v2.items);
 
+       nwrap_vector_merge(&v2, &v1);
+       assert_int_equal(v2.count, 64);
        for (p = 0; p < 64; ++p) {
                assert_string_equal(v2.items[p], string);
        }
-       assert_int_equal(v2.count, 64);
-       nwrap_vector_add_item(&v2, string2);
 
+       nwrap_vector_add_item(&v2, string2);
        assert_string_equal(v2.items[64], string2);
        assert_int_equal(v2.count, 65);
        assert_null(v2.items[65]);
@@ -107,6 +150,7 @@ int main(void) {
 
        const struct CMUnitTest tests[] = {
                cmocka_unit_test(test_nwrap_vector_basic_add),
+               cmocka_unit_test(test_nwrap_vector_merge_empty),
                cmocka_unit_test(test_nwrap_vector_merge),
                cmocka_unit_test(test_nwrap_vector_merge_max),
        };


-- 
NSS Wrapper Repository

Reply via email to