Commit b8a1ea7cf9e23e394d09b0d051b696bd7acc2cf9

Russell Belfer 2013-01-03T11:04:03

Fix core::env cleanup code Mark fake home directories that failed to be created, so we won't try to remove them and have cleanup just use p_rmdir.

diff --git a/tests-clar/core/env.c b/tests-clar/core/env.c
index 27e52ec..72ef668 100644
--- a/tests-clar/core/env.c
+++ b/tests-clar/core/env.c
@@ -46,8 +46,12 @@ void test_core_env__cleanup(void)
 		env_save[i] = NULL;
 	}
 
+	/* these will probably have already been cleaned up, but if a test
+	 * fails, then it's probably good to try and clear out these dirs
+	 */
 	for (val = home_values; *val != NULL; val++) {
-		cl_fixture_cleanup(*val);
+		if (**val != '\0')
+			(void)p_rmdir(*val);
 	}
 }
 
@@ -79,8 +83,10 @@ void test_core_env__0(void)
 		 * we are on a filesystem that doesn't support the
 		 * characters in question and skip this test...
 		 */
-		if (p_mkdir(*val, 0777) != 0)
+		if (p_mkdir(*val, 0777) != 0) {
+			*val = ""; /* mark as not created */
 			continue;
+		}
 
 		cl_git_pass(git_path_prettify(&path, *val, NULL));
 
@@ -130,6 +136,8 @@ void test_core_env__0(void)
 			}
 		}
 #endif
+
+		(void)p_rmdir(*val);
 	}
 
 	git_buf_free(&path);