Commit 212eb09d5fdf04018478eb375df369f9e7e56b66

Scott J. Goldman 2012-05-13T23:12:51

Add a test to verify FILENAME_MAX Since we now rely on it (at least under Solaris), I figured we probably want to make sure it's accurate. The new test makes sure that creating a file with a name of length FILENAME_MAX+1 fails.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
diff --git a/tests-clar/core/dirent.c b/tests-clar/core/dirent.c
index 9c366bf..5a7859d 100644
--- a/tests-clar/core/dirent.c
+++ b/tests-clar/core/dirent.c
@@ -222,3 +222,14 @@ void test_core_dirent__traverse_weird_filenames(void)
 
 	check_counts(&odd);
 }
+
+/* test filename length limits */
+void test_core_dirent__length_limits(void)
+{
+	char *big_filename = (char *)git__malloc(FILENAME_MAX + 1);
+	memset(big_filename, 'a', FILENAME_MAX + 1);
+	big_filename[FILENAME_MAX] = 0;
+
+	cl_must_fail(p_creat(big_filename, 0666));
+	git__free(big_filename);
+}