Skip to contentSkip to conversation

fs-tests: fix max file name length in integrity test

PATCH New Adrian Hunter 1 participant 1 message Aug 12, 2008 Memory technology devices (MTD)

lore
Share & tools
lore
#0 lore raw

PATCH 2/3 fs-tests: fix max file name length in integrity test

---

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
index f1a544a..ab69343 100644
@@ -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
index 97e5207..570672f 100644
@@ -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
index 04c834d..01849bc 100644
@@ -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