aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--tests/fs-tests/integrity/integck.c2
-rw-r--r--tests/fs-tests/lib/tests.c4
-rw-r--r--tests/fs-tests/lib/tests.h3
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