From 70299b52ab264a2e1b7d1f5e8ea14135dbfbe183 Mon Sep 17 00:00:00 2001 From: Benjamin Dauvergne Date: Fri, 27 Mar 2009 15:06:25 +0000 Subject: [PATCH] Test: add missing release of objects and memory * tests/basic_tests.c: * tests/login_tests.c: * tests/metadata_tests.c: * tests/random_tests.c: * tests/tests.c: add missing g_free and g_object_unref calls. --- tests/basic_tests.c | 1 + tests/login_tests.c | 41 ++++++++++++++++++++++++++++++++++------- tests/metadata_tests.c | 5 +++++ tests/random_tests.c | 29 ++++++++++++++++++++++++----- tests/tests.c | 1 + 5 files changed, 65 insertions(+), 12 deletions(-) diff --git a/tests/basic_tests.c b/tests/basic_tests.c index 737e5eb4..b21202a3 100644 --- a/tests/basic_tests.c +++ b/tests/basic_tests.c @@ -150,6 +150,7 @@ START_TEST(test08_test_new_from_xmlNode) node = lasso_node_new_from_dump(""); fail_unless(node != NULL, "parsing should return an object"); fail_unless(strcmp(G_OBJECT_TYPE_NAME(node), "LassoTest") == 0, "node classname should be LassoTest"); + g_object_unref(node); } END_TEST diff --git a/tests/login_tests.c b/tests/login_tests.c index 7281c6b3..d33c03f5 100644 --- a/tests/login_tests.c +++ b/tests/login_tests.c @@ -34,6 +34,7 @@ static char* generateIdentityProviderContextDump() { LassoServer *serverContext; + char *ret; serverContext = lasso_server_new( TESTSDATADIR "/idp1-la/metadata.xml", @@ -46,13 +47,18 @@ generateIdentityProviderContextDump() TESTSDATADIR "/sp1-la/metadata.xml", TESTSDATADIR "/sp1-la/public-key.pem", TESTSDATADIR "/ca1-la/certificate.pem"); - return lasso_server_dump(serverContext); + ret = lasso_server_dump(serverContext); + + g_object_unref(serverContext); + + return ret; } static char* generateServiceProviderContextDump() { LassoServer *serverContext; + char *ret; serverContext = lasso_server_new( TESTSDATADIR "/sp1-la/metadata.xml", @@ -65,7 +71,10 @@ generateServiceProviderContextDump() TESTSDATADIR "/idp1-la/metadata.xml", TESTSDATADIR "/idp1-la/public-key.pem", TESTSDATADIR "/ca1-la/certificate.pem"); - return lasso_server_dump(serverContext); + + ret = lasso_server_dump(serverContext); + g_object_unref(serverContext); + return ret; } static char* @@ -76,6 +85,7 @@ generateIdentityProviderContextDumpMemory() char *private_key; char *certificate; guint len; + char *ret; g_file_get_contents(TESTSDATADIR "/idp1-la/metadata.xml", &metadata, &len, NULL); g_file_get_contents(TESTSDATADIR "/idp1-la/private-key-raw.pem", &private_key, &len, NULL); @@ -92,7 +102,12 @@ generateIdentityProviderContextDumpMemory() TESTSDATADIR "/sp1-la/metadata.xml", TESTSDATADIR "/sp1-la/public-key.pem", TESTSDATADIR "/ca1-la/certificate.pem"); - return lasso_server_dump(serverContext); + g_free(metadata); + g_free(private_key); + g_free(certificate); + ret = lasso_server_dump(serverContext); + g_object_unref(serverContext); + return ret; } @@ -276,8 +291,14 @@ START_TEST(test02_serviceProviderLogin) g_free(serviceProviderId); g_free(serviceProviderContextDump); g_free(identityProviderContextDump); - lasso_server_destroy(spContext); - lasso_server_destroy(idpContext); + g_free(idpSessionContextDump); + g_free(idpIdentityContextDump); + g_free(spIdentityContextDump); + g_free(spSessionDump); + g_object_unref(spContext); + g_object_unref(idpContext); + g_object_unref(spLoginContext); + g_object_unref(idpLoginContext); } END_TEST @@ -413,8 +434,14 @@ START_TEST(test03_serviceProviderLogin) g_free(serviceProviderId); g_free(serviceProviderContextDump); g_free(identityProviderContextDump); - lasso_server_destroy(spContext); - lasso_server_destroy(idpContext); + g_free(idpSessionContextDump); + g_free(idpIdentityContextDump); + g_free(spIdentityContextDump); + g_free(spSessionDump); + g_object_unref(spContext); + g_object_unref(idpContext); + g_object_unref(spLoginContext); + g_object_unref(idpLoginContext); } END_TEST Suite* diff --git a/tests/metadata_tests.c b/tests/metadata_tests.c index c9213047..171fdedd 100644 --- a/tests/metadata_tests.c +++ b/tests/metadata_tests.c @@ -34,6 +34,7 @@ START_TEST(test01_metadata_load_der_certificate_from_x509_cert) LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP, TESTSMETADATADIR "/metadata_01.xml", NULL, NULL); fail_unless(provider != NULL, "Can't load DER certificate from "); + g_object_unref(provider); } END_TEST @@ -42,6 +43,7 @@ START_TEST(test02_metadata_load_pem_certificate_from_x509_cert) LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP, TESTSMETADATADIR "/metadata_02.xml", NULL, NULL); fail_unless(provider != NULL, "Can't load PEM certificate from "); + g_object_unref(provider); } END_TEST @@ -50,6 +52,7 @@ START_TEST(test03_metadata_load_der_public_key_from_keyvalue) LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP, TESTSMETADATADIR "/metadata_03.xml", NULL, NULL); fail_unless(provider != NULL, "Can't load DER public key from "); + g_object_unref(provider); } END_TEST @@ -58,6 +61,7 @@ START_TEST(test04_metadata_load_pem_public_key_from_keyvalue) LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP, TESTSMETADATADIR "/metadata_04.xml", NULL, NULL); fail_unless(provider != NULL, "Can't load PEM public key from "); + g_object_unref(provider); } END_TEST @@ -66,6 +70,7 @@ START_TEST(test05_metadata_load_public_key_from_x509_cert) LassoProvider *provider = lasso_provider_new(LASSO_PROVIDER_ROLE_SP, TESTSMETADATADIR "/metadata_05.xml", NULL, NULL); fail_unless(provider != NULL, "Can't load DER public key from "); + g_object_unref(provider); } END_TEST diff --git a/tests/random_tests.c b/tests/random_tests.c index 6b248c61..47b5aaee 100644 --- a/tests/random_tests.c +++ b/tests/random_tests.c @@ -48,6 +48,7 @@ START_TEST(test01_provider_new) dump = lasso_node_dump(LASSO_NODE(provider)); printf("dump:\n%s\n", dump); + g_object_unref(provider); } END_TEST @@ -66,6 +67,8 @@ START_TEST(test02_provider_new_from_dump) provider2 = lasso_provider_new_from_dump(dump); dump = lasso_node_dump(LASSO_NODE(provider2)); printf("dump:\n%s\n", dump); + g_object_unref(provider1); + g_object_unref(provider2); } END_TEST @@ -81,6 +84,8 @@ START_TEST(test01_server_new) TESTSDATADIR "/idp1-la/certificate.pem"); dump = lasso_node_dump(LASSO_NODE(server)); + printf("dump:%s\n", dump); + g_object_unref(server); } END_TEST @@ -102,6 +107,7 @@ START_TEST(test02_server_add_provider) TESTSDATADIR "/ca1-la/certificate.pem"); dump = lasso_node_dump(LASSO_NODE(server)); + g_object_unref(server); } END_TEST @@ -125,7 +131,11 @@ START_TEST(test03_server_new_from_dump) dump = lasso_node_dump(LASSO_NODE(server1)); server2 = lasso_server_new_from_dump(dump); + g_free(dump); dump = lasso_node_dump(LASSO_NODE(server2)); + g_object_unref(server1); + g_object_unref(server2); + g_free(dump); } END_TEST @@ -147,6 +157,7 @@ START_TEST(test04_node_new_from_dump) node = lasso_node_new_from_dump(msg); fail_unless(node != NULL, "new_from_dump failed"); + g_object_unref(node); } END_TEST @@ -160,24 +171,31 @@ START_TEST(test05_xsi_type) LassoSamlAssertion *assertion; LassoLibAuthenticationStatement *stmt; + LassoSamlNameIdentifier *name_identifier; + char *dump; + name_identifier = lasso_saml_name_identifier_new(); assertion = LASSO_SAML_ASSERTION(lasso_lib_assertion_new_full("", "", "", "", "")); assertion->AuthenticationStatement = LASSO_SAML_AUTHENTICATION_STATEMENT( lasso_lib_authentication_statement_new_full( "toto", "toto", "toto", NULL, - lasso_saml_name_identifier_new())); + name_identifier)); + g_object_unref(name_identifier); stmt = LASSO_LIB_AUTHENTICATION_STATEMENT(assertion->AuthenticationStatement); stmt->AuthnContext = LASSO_LIB_AUTHN_CONTEXT(lasso_lib_authn_context_new()); stmt->AuthnContext->AuthnContextClassRef = g_strdup("urn:toto"); - fail_unless(strstr(lasso_node_dump(LASSO_NODE(assertion)), - "xsi:type=\"lib:AuthnContextType\"") == NULL, + dump = lasso_node_dump(LASSO_NODE(assertion)); + fail_unless(strstr(dump, "xsi:type=\"lib:AuthnContextType\"") == NULL, "AuthnContext got a xsi:type"); - fail_unless(strstr(lasso_node_dump(LASSO_NODE(assertion)), - "xsi:type=\"lib:AuthenticationStatementType\"") != NULL, + g_free(dump); + dump = lasso_node_dump(LASSO_NODE(assertion)); + fail_unless(strstr(dump, "xsi:type=\"lib:AuthenticationStatementType\"") != NULL, "AuthenticationStatement didn't get a xsi:type"); + g_free(dump); + g_object_unref(assertion); } END_TEST @@ -198,6 +216,7 @@ START_TEST(test06_lib_statuscode) LASSO_LIB_STATUS_CODE_UNKNOWN_PRINCIPAL); fail_unless(strstr(lasso_node_dump(LASSO_NODE(response)), "xmlns:lib=") != NULL, "liberty namespace should be defined"); + g_object_unref(response); } END_TEST diff --git a/tests/tests.c b/tests/tests.c index b7e44ec9..9333b99f 100644 --- a/tests/tests.c +++ b/tests/tests.c @@ -80,6 +80,7 @@ main(int argc, char *argv[]) /*suite_free(s); */ /* no longer available in check 0.9.0; it will leak a * bit with previous versions */ + lasso_shutdown(); return (rc == 0) ? EXIT_SUCCESS : EXIT_FAILURE; }