diff --git a/tests/unittests/tests-spiffs/tests-spiffs.c b/tests/unittests/tests-spiffs/tests-spiffs.c index d2b2ae5fad..c781f15b6f 100644 --- a/tests/unittests/tests-spiffs/tests-spiffs.c +++ b/tests/unittests/tests-spiffs/tests-spiffs.c @@ -145,6 +145,31 @@ static void test_spiffs_teardown(void) vfs_umount(&_test_spiffs_mount); } +static void tests_spiffs_format(void) +{ + int res; + vfs_umount(&_test_spiffs_mount); + res = mtd_erase(_dev, 0, _dev->page_size * _dev->pages_per_sector * _dev->sector_count); + TEST_ASSERT_EQUAL_INT(0, res); + + res = vfs_mount(&_test_spiffs_mount); + TEST_ASSERT(res < 0); + + /* 1. format an invalid file system (failed mount) */ + res = vfs_format(&_test_spiffs_mount); + TEST_ASSERT_EQUAL_INT(0, res); + + res = vfs_mount(&_test_spiffs_mount); + TEST_ASSERT_EQUAL_INT(0, res); + + res = vfs_umount(&_test_spiffs_mount); + TEST_ASSERT_EQUAL_INT(0, res); + + /* 2. format a valid file system */ + res = vfs_format(&_test_spiffs_mount); + TEST_ASSERT_EQUAL_INT(0, res); +} + static void tests_spiffs_mount_umount(void) { int res; @@ -360,6 +385,7 @@ static void tests_spiffs_statvfs(void) Test *tests_spiffs_tests(void) { EMB_UNIT_TESTFIXTURES(fixtures) { + new_TestFixture(tests_spiffs_format), new_TestFixture(tests_spiffs_mount_umount), new_TestFixture(tests_spiffs_open_close), new_TestFixture(tests_spiffs_write),