1 // Copyright 2017 The Fuchsia Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 #include <unittest/unittest.h> 6 #include <minfs/host.h> 7 #include <fcntl.h> 8 9 #define DEFAULT_DISK_SIZE (1llu << 32) 10 11 #define MOUNT_PATH "/tmp/zircon-fs-test" 12 13 typedef struct expected_dirent { 14 bool seen; // Should be set to "false", used internally by checking function. 15 const char* d_name; 16 unsigned char d_type; 17 } expected_dirent_t; 18 19 void setup_fs_test(size_t disk_size); 20 void teardown_fs_test(void); 21 int run_fsck(void); 22 23 #define BEGIN_FS_TEST_CASE(case_name, disk_size) \ 24 BEGIN_TEST_CASE(case_name) \ 25 setup_fs_test(disk_size); 26 27 #define END_FS_TEST_CASE(case_name) \ 28 teardown_fs_test(); \ 29 END_TEST_CASE(case_name) 30 31 #define RUN_MINFS_TESTS(case_name, CASE_TESTS) \ 32 RUN_MINFS_TESTS_SIZE(case_name, DEFAULT_DISK_SIZE, CASE_TESTS) 33 34 #define RUN_MINFS_TESTS_SIZE(case_name, disk_size, CASE_TESTS) \ 35 BEGIN_FS_TEST_CASE(minfs_##case_name, disk_size) \ 36 CASE_TESTS \ 37 END_FS_TEST_CASE(minfs_##case_name) 38 39 #define ASSERT_STREAM_ALL(op, fd, buf, len) \ 40 ASSERT_EQ(op(fd, (buf), (len)), (ssize_t)(len), ""); 41