diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/fs-tests/integrity/integck.c | 2 | ||||
-rw-r--r-- | tests/fs-tests/lib/tests.c | 4 | ||||
-rw-r--r-- | tests/fs-tests/lib/tests.h | 3 |
3 files changed, 8 insertions, 1 deletions
diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index be93d3e..8cdbfb4 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -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++) diff --git a/tests/fs-tests/lib/tests.c b/tests/fs-tests/lib/tests.c index 97e5207..570672f 100644 --- a/tests/fs-tests/lib/tests.c +++ b/tests/fs-tests/lib/tests.c @@ -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"); diff --git a/tests/fs-tests/lib/tests.h b/tests/fs-tests/lib/tests.h index 04c834d..01849bc 100644 --- a/tests/fs-tests/lib/tests.h +++ b/tests/fs-tests/lib/tests.h @@ -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 |