From a99a244824dcbd25279fe10d3250a7d7f5ba82a1 Mon Sep 17 00:00:00 2001 From: Vincent Dupont <vincent@otakeys.com> Date: Mon, 13 Nov 2017 18:25:11 +0100 Subject: [PATCH] unittests/tests-spiffs: add statvfs unittest --- tests/unittests/tests-spiffs/tests-spiffs.c | 32 +++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/tests/unittests/tests-spiffs/tests-spiffs.c b/tests/unittests/tests-spiffs/tests-spiffs.c index 4203653399..d2b2ae5fad 100644 --- a/tests/unittests/tests-spiffs/tests-spiffs.c +++ b/tests/unittests/tests-spiffs/tests-spiffs.c @@ -326,6 +326,37 @@ static void tests_spiffs_rename(void) TEST_ASSERT_EQUAL_INT(0, res); } +static void tests_spiffs_statvfs(void) +{ + const char buf[] = "TESTSTRING"; + struct statvfs stat1; + struct statvfs stat2; + + int res = vfs_statvfs("/test-spiffs/", &stat1); + TEST_ASSERT_EQUAL_INT(0, res); + TEST_ASSERT_EQUAL_INT(1, stat1.f_bsize); + TEST_ASSERT_EQUAL_INT(1, stat1.f_frsize); + TEST_ASSERT((_dev->pages_per_sector * _dev->page_size * _dev->sector_count) >= + stat1.f_blocks); + + int fd = vfs_open("/test-spiffs/test.txt", O_CREAT | O_RDWR, 0); + TEST_ASSERT(fd >= 0); + + res = vfs_write(fd, buf, sizeof(buf)); + TEST_ASSERT(res == sizeof(buf)); + + res = vfs_close(fd); + TEST_ASSERT_EQUAL_INT(0, res); + + res = vfs_statvfs("/test-spiffs/", &stat2); + TEST_ASSERT_EQUAL_INT(0, res); + + TEST_ASSERT_EQUAL_INT(1, stat2.f_bsize); + TEST_ASSERT_EQUAL_INT(1, stat2.f_frsize); + TEST_ASSERT(sizeof(buf) <= (stat1.f_bfree - stat2.f_bfree)); + TEST_ASSERT(sizeof(buf) <= (stat1.f_bavail - stat2.f_bavail)); +} + Test *tests_spiffs_tests(void) { EMB_UNIT_TESTFIXTURES(fixtures) { @@ -335,6 +366,7 @@ Test *tests_spiffs_tests(void) new_TestFixture(tests_spiffs_unlink), new_TestFixture(tests_spiffs_readdir), new_TestFixture(tests_spiffs_rename), + new_TestFixture(tests_spiffs_statvfs), }; EMB_UNIT_TESTCALLER(spiffs_tests, test_spiffs_setup, test_spiffs_teardown, fixtures); -- GitLab