fs-tests: fix max file name length in integrity test
PATCH 2/3 fs-tests: fix max file name length in integrity test
Signed-off-by Adrian Hunter <[email protected]>
---
tests/fs-tests/integrity/integck.c | 2 +- tests/fs-tests/lib/tests.c | 4 ++++ tests/fs-tests/lib/tests.h | 3 +++ 3 files changed, 8 insertions(+), 1 deletions(-)
tests/fs-tests/integrity/integck.c +0 -0
@@ -1388,7 +1388,7 @@ static char *make_name(struct dir_info *dir)
do {
found = 0;
if (tests_random_no(5) == 1) {- int i, n = tests_random_no(255) + 1;
+ int i, n = tests_random_no(tests_max_fname_len) + 1;
CHECK(n > 0 && n < 256); for (i = 0; i < n; i++)
tests/fs-tests/lib/tests.c +0 -0
@@ -83,6 +83,9 @@ int tests_hole_flag = 0;
/* Whether it is ok to test on the root file system */ static int rootok = 0;
+/* Maximum file name length of test file system (from statfs) */ +long tests_max_fname_len = 255;
+
/* Function invoked by the CHECK macro */
void tests_test(int test,const char *msg,const char *file,unsigned line) {
@@ -370,6 +373,7 @@ void tests_check_test_file_system(void)
"TEST_FILE_SYSTEM_MOUNT_DIR\n");
CHECK(0);
}
+ tests_max_fname_len = fs_info.f_namelen;
if (strcmp(tests_file_system_type, "jffs2") == 0 &&
fs_info.f_type != JFFS2_SUPER_MAGIC) {
fprintf(stderr, "File system type is not jffs2\n");tests/fs-tests/lib/tests.h +0 -0
@@ -202,4 +202,7 @@ extern int tests_hole_flag;
/* Program name from argv[0] */
extern char *program_name;
+/* Maximum file name length of test file system (from statfs) */ +extern long tests_max_fname_len;
+
#endif
Signature · 1 line
1.5.4.3