Skip to content

Commit 22c9c85

Browse files
authored
Merge pull request ARMmbed#17 from ARMmbed/g-fs-dot-entries
Add checks for '.' and '..' in readdir tests
2 parents 8f37760 + 90ffa86 commit 22c9c85

File tree

1 file changed

+10
-0
lines changed

1 file changed

+10
-0
lines changed

Diff for: TESTS/filesystem/fopen/fopen.cpp

+10
Original file line numberDiff line numberDiff line change
@@ -1105,6 +1105,16 @@ control_t fsfat_fopen_test_12(const size_t call_count)
11051105
pos = strrchr(buf, '/');
11061106
*pos = '\0';
11071107
dir = opendir(buf);
1108+
1109+
dp = readdir(dir);
1110+
TEST_ASSERT_MESSAGE(dp != 0, "Error: readdir() failed\n");
1111+
FSFAT_TEST_UTEST_MESSAGE(fsfat_fopen_utest_msg_g, FSFAT_UTEST_MSG_BUF_SIZE, "%s:Error: unexpected object name (name=%s, expected=%s).\n", __func__, dp->d_name, ".");
1112+
TEST_ASSERT_MESSAGE(strncmp(dp->d_name, ".", strlen(".")) == 0, fsfat_fopen_utest_msg_g);
1113+
dp = readdir(dir);
1114+
TEST_ASSERT_MESSAGE(dp != 0, "Error: readdir() failed\n");
1115+
FSFAT_TEST_UTEST_MESSAGE(fsfat_fopen_utest_msg_g, FSFAT_UTEST_MSG_BUF_SIZE, "%s:Error: unexpected object name (name=%s, expected=%s).\n", __func__, dp->d_name, "..");
1116+
TEST_ASSERT_MESSAGE(strncmp(dp->d_name, "..", strlen("..")) == 0, fsfat_fopen_utest_msg_g);
1117+
11081118
while ((dp = readdir(dir)) != NULL) {
11091119
FSFAT_DBGLOG("%s: filename: \"%s\"\n", __func__, dp->d_name);
11101120
TEST_ASSERT_MESSAGE(dp != 0, "Error: readdir() failed\n");

0 commit comments

Comments
 (0)