diff options
author | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-11-21 21:40:10 +0100 |
---|---|---|
committer | Benjamin Dauvergne <bdauvergne@entrouvert.com> | 2011-11-22 17:45:52 +0100 |
commit | 26d6b35a498843f66c66d1d1ed1a28189ef15dd2 (patch) | |
tree | 996ae582c1ce63a20f111da6f458a8cfd19d23ee /tests | |
parent | 5192cdf7a000c1086869df43d8153d3e344a3b91 (diff) | |
download | lasso-26d6b35a498843f66c66d1d1ed1a28189ef15dd2.tar.gz lasso-26d6b35a498843f66c66d1d1ed1a28189ef15dd2.tar.xz lasso-26d6b35a498843f66c66d1d1ed1a28189ef15dd2.zip |
[leakcheck] fix leaks seen by the unit tests
This commit also improved valgrind suppression file to hide static
allocations done by the GLib type system.
Diffstat (limited to 'tests')
-rw-r--r-- | tests/basic_tests.c | 12 | ||||
-rw-r--r-- | tests/non_regression_tests.c | 49 | ||||
-rw-r--r-- | tests/valgrind/lasso.supp | 39 |
3 files changed, 84 insertions, 16 deletions
diff --git a/tests/basic_tests.c b/tests/basic_tests.c index e0158055..69991d4b 100644 --- a/tests/basic_tests.c +++ b/tests/basic_tests.c @@ -1840,6 +1840,13 @@ START_TEST(test10_test_alldumps) lasso_release_string(node_dump); lasso_release_gobject(node2); lasso_release_gobject(node); + /* test serialization / deserialization of KeyInfoConfirmationDataType */ + node = LASSO_NODE(lasso_saml2_key_info_confirmation_data_type_new()); + node_dump = lasso_node_dump(node); + fail_unless((node2 = lasso_node_new_from_dump(node_dump)) != NULL, "restoring dump failed after lasso_saml2_key_info_confirmation_data_type_new"); + lasso_release_string(node_dump); + lasso_release_gobject(node2); + lasso_release_gobject(node); #endif /* test deserialization of saml2:EncryptedAssertion" */ const char *encrypted_element_xml[] = { @@ -1873,10 +1880,6 @@ START_TEST(test10_test_alldumps) lasso_release_doc(xmldoc); ++iter; } - /* test serialization / deserialization of KeyInfoConfirmationDataType */ - node = LASSO_NODE(lasso_saml2_key_info_confirmation_data_type_new()); - printf("%s\n", lasso_node_debug(node, 10)); - lasso_release_gobject(node); } END_TEST @@ -1976,6 +1979,7 @@ START_TEST(test13_test_lasso_server_load_metadata) check_equals(g_list_length(loaded_entity_ids), 283); check_equals(g_hash_table_size(server->providers), 393); #endif + lasso_release_list_of_strings(loaded_entity_ids); lasso_release_gobject(server); } diff --git a/tests/non_regression_tests.c b/tests/non_regression_tests.c index b266e9dd..03c11a35 100644 --- a/tests/non_regression_tests.c +++ b/tests/non_regression_tests.c @@ -88,6 +88,7 @@ END_TEST START_TEST(indexed_endpoints_20101008) { LassoProvider *provider = NULL; + char *str; char *meta01 = "<md:EntityDescriptor entityID=\"google.com\" xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\" xmlns:ds=\"http://www.w3.org/2000/09/xmldsig#\" xmlns:md=\"urn:oasis:names:tc:SAML:2.0:metadata\">\n\ <SPSSODescriptor protocolSupportEnumeration=\"urn:oasis:names:tc:SAML:2.0:protocol\">\n\ <AssertionConsumerService Binding=\"urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact\" Location=\"wrong\" index=\"1\" />\n\ @@ -115,27 +116,51 @@ START_TEST(indexed_endpoints_20101008) provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta01, NULL, NULL); check_not_null(provider); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "ok"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "wrong"); + str = lasso_provider_get_assertion_consumer_service_url(provider, NULL); + check_str_equals(str, "ok"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "0"); + check_str_equals(str, "ok"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "1"); + check_str_equals(str, "wrong"); + g_free(str); lasso_release_gobject(provider); provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta02, NULL, NULL); check_not_null(provider); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "wrong"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "ok"); + str = lasso_provider_get_assertion_consumer_service_url(provider, NULL); + check_str_equals(str, "ok"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "0"); + check_str_equals(str, "wrong"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "1"); + check_str_equals(str, "ok"); + g_free(str); lasso_release_gobject(provider); provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta03, NULL, NULL); check_not_null(provider); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "wrong"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "ok"); + str = lasso_provider_get_assertion_consumer_service_url(provider, NULL); + check_str_equals(str, "ok"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "0"); + check_str_equals(str, "wrong"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "1"); + check_str_equals(str, "ok"); + g_free(str); lasso_release_gobject(provider); provider = lasso_provider_new_from_buffer(LASSO_PROVIDER_ROLE_SP, meta04, NULL, NULL); check_not_null(provider); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, NULL), "ok"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "0"), "wrong"); - check_str_equals(lasso_provider_get_assertion_consumer_service_url(provider, "1"), "ok"); + str = lasso_provider_get_assertion_consumer_service_url(provider, NULL); + check_str_equals(str, "ok"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "0"); + check_str_equals(str, "wrong"); + g_free(str); + str = lasso_provider_get_assertion_consumer_service_url(provider, "1"); + check_str_equals(str, "ok"); + g_free(str); lasso_release_gobject(provider); } END_TEST diff --git a/tests/valgrind/lasso.supp b/tests/valgrind/lasso.supp index b4d22161..4e9a80e2 100644 --- a/tests/valgrind/lasso.supp +++ b/tests/valgrind/lasso.supp @@ -165,3 +165,42 @@ fun:g_hash_table_new fun:g_quark_from_static_string } +{ + g_type_init + Memcheck:Leak + fun:malloc + ... + fun:g_type_init +} +{ + g_type_init + Memcheck:Leak + fun:calloc + ... + fun:g_type_init +} +{ + g_type_init + Memcheck:Leak + fun:realloc + ... + fun:g_type_init +} +{ + register type + Memcheck:Leak + fun:malloc + ... + fun:g_type_register_static + ... + fun:lasso_*get_type +} +{ + register type + Memcheck:Leak + fun:realloc + ... + fun:g_type_register_static + ... + fun:lasso_*get_type +} |