| // Copyright 2020 The Fuchsia Authors. All rights reserved. |
| // Use of this source code is governed by a BSD-style license that can be |
| // found in the LICENSE file. |
| |
| #ifndef SRC_STORAGE_FS_TEST_MINFS_TEST_H_ |
| #define SRC_STORAGE_FS_TEST_MINFS_TEST_H_ |
| |
| #include "src/storage/fs_test/fs_test.h" |
| #include "src/storage/minfs/format.h" |
| |
| namespace fs_test { |
| |
| class MinfsInstance; |
| |
| // Support for Minfs. |
| class MinfsFilesystem : public FilesystemImplWithDefaultMake<MinfsFilesystem, MinfsInstance> { |
| public: |
| zx::status<std::unique_ptr<FilesystemInstance>> Open( |
| const TestFilesystemOptions& options) const override; |
| const Traits& GetTraits() const override { |
| static Traits traits{ |
| .name = "minfs", |
| .can_unmount = true, |
| .timestamp_granularity = zx::nsec(1), |
| .supports_hard_links = true, |
| .supports_mmap = false, |
| .supports_resize = true, |
| .max_file_size = minfs::kMinfsMaxFileSize, |
| .in_memory = false, |
| .is_case_sensitive = true, |
| .supports_sparse_files = true, |
| .supports_fsck_after_every_transaction = true, |
| }; |
| return traits; |
| } |
| }; |
| |
| // Returns a vector of minfs test options. |
| std::vector<TestFilesystemOptions> AllTestMinfs(); |
| |
| } // namespace fs_test |
| |
| #endif // SRC_STORAGE_FS_TEST_MINFS_TEST_H_ |