Commit cd74cbba18db33091056b098889e82de598a6cdd

Ben Straub 2013-01-31T14:38:22

Plug test leaks

diff --git a/tests-clar/network/urlparse.c b/tests-clar/network/urlparse.c
index 29d0506..84d0bfb 100644
--- a/tests-clar/network/urlparse.c
+++ b/tests-clar/network/urlparse.c
@@ -1,10 +1,24 @@
 #include "clar_libgit2.h"
 #include "netops.h"
 
-void test_network_urlparse__trivial(void)
+char *host, *port, *user, *pass;
+
+void test_network_urlparse__initialize(void)
 {
-	char *host, *port, *user, *pass;
+	host = port = user = pass = NULL;
+}
 
+void test_network_urlparse__cleanup(void)
+{
+#define FREE_AND_NULL(x) if (x) { git__free(x); x = NULL; }
+	FREE_AND_NULL(host);
+	FREE_AND_NULL(port);
+	FREE_AND_NULL(user);
+	FREE_AND_NULL(pass);
+}
+
+void test_network_urlparse__trivial(void)
+{
 	cl_git_pass(gitno_extract_url_parts(&host, &port, &user, &pass,
 				"example.com/resource", "8080"));
 	cl_assert_equal_s(host, "example.com");
@@ -15,8 +29,6 @@ void test_network_urlparse__trivial(void)
 
 void test_network_urlparse__user(void)
 {
-	char *host, *port, *user, *pass;
-
 	cl_git_pass(gitno_extract_url_parts(&host, &port, &user, &pass,
 				"user@example.com/resource", "8080"));
 	cl_assert_equal_s(host, "example.com");
@@ -27,8 +39,6 @@ void test_network_urlparse__user(void)
 
 void test_network_urlparse__user_pass(void)
 {
-	char *host, *port, *user, *pass;
-
 	/* user:pass@hostname.tld/resource */
 	cl_git_pass(gitno_extract_url_parts(&host, &port, &user, &pass,
 				"user:pass@example.com/resource", "8080"));
@@ -40,8 +50,6 @@ void test_network_urlparse__user_pass(void)
 
 void test_network_urlparse__port(void)
 {
-	char *host, *port, *user, *pass;
-
 	/* hostname.tld:port/resource */
 	cl_git_pass(gitno_extract_url_parts(&host, &port, &user, &pass,
 				"example.com:9191/resource", "8080"));
@@ -53,8 +61,6 @@ void test_network_urlparse__port(void)
 
 void test_network_urlparse__user_port(void)
 {
-	char *host, *port, *user, *pass;
-
 	/* user@hostname.tld:port/resource */
 	cl_git_pass(gitno_extract_url_parts(&host, &port, &user, &pass,
 				"user@example.com:9191/resource", "8080"));
@@ -66,8 +72,6 @@ void test_network_urlparse__user_port(void)
 
 void test_network_urlparse__user_pass_port(void)
 {
-	char *host, *port, *user, *pass;
-
 	/* user:pass@hostname.tld:port/resource */
 	cl_git_pass(gitno_extract_url_parts(&host, &port, &user, &pass,
 				"user:pass@example.com:9191/resource", "8080"));