diff options
Diffstat (limited to 'kernel/src/test_support/filesystem/ext2.cpp')
| -rw-r--r-- | kernel/src/test_support/filesystem/ext2.cpp | 68 |
1 files changed, 0 insertions, 68 deletions
diff --git a/kernel/src/test_support/filesystem/ext2.cpp b/kernel/src/test_support/filesystem/ext2.cpp deleted file mode 100644 index 52b6efe7..00000000 --- a/kernel/src/test_support/filesystem/ext2.cpp +++ /dev/null @@ -1,68 +0,0 @@ -#include <kernel/test_support/filesystem/ext2.hpp> - -#include <kernel/filesystem/ext2/block_group_descriptor.hpp> -#include <kernel/filesystem/ext2/filesystem.hpp> -#include <kernel/filesystem/ext2/inode.hpp> -#include <kernel/filesystem/ext2/superblock.hpp> -#include <kernel/test_support/devices/block_device.hpp> - -#include <cstdint> -#include <cstring> - -namespace kernel::tests::filesystem::ext2 -{ - namespace - { - constexpr uint32_t root_directory_data_block = 20; - } // namespace - - auto write_bytes(kernel::tests::devices::block_device & device, size_t offset, void const * source, size_t size) - -> void - { - auto const required_size = offset + size; - if (device.data.size() < required_size) - { - device.data.resize(required_size, 0); - } - - std::memcpy(device.data.data() + offset, source, size); - } - - auto write_u32(kernel::tests::devices::block_device & device, size_t offset, uint32_t value) -> void - { - write_bytes(device, offset, &value, sizeof(value)); - } - - auto setup_mock_ext2_layout(kernel::tests::devices::block_device & device) -> void - { - auto superblock = kernel::filesystem::ext2::superblock{}; - superblock.magic = kernel::filesystem::ext2::constants::magic_number; - superblock.log_block_size = 0; - superblock.blocks_count = 64; - superblock.blocks_per_group = 64; - superblock.inodes_per_group = 32; - superblock.rev_level = 1; - superblock.inode_size = 128; - setup_mock_ext2_layout(device, superblock); - } - - auto setup_mock_ext2_layout(kernel::tests::devices::block_device & device, - kernel::filesystem::ext2::superblock const & superblock) -> void - { - write_bytes(device, kernel::filesystem::ext2::constants::superblock_offset, &superblock, sizeof(superblock)); - - auto group_descriptor = kernel::filesystem::ext2::block_group_descriptor{}; - group_descriptor.inode_table = 5; - write_bytes(device, 2048, &group_descriptor, sizeof(group_descriptor)); - - auto root_inode_data = kernel::filesystem::ext2::inode_data{}; - root_inode_data.mode = kernel::filesystem::ext2::constants::mode_directory; - root_inode_data.blocks = 2; - root_inode_data.block[0] = root_directory_data_block; - - auto const root_inode_offset = - static_cast<size_t>(group_descriptor.inode_table) * kernel::filesystem::ext2::constants::base_block_size + - (kernel::filesystem::ext2::constants::root_inode_number - 1) * superblock.inode_size; - write_bytes(device, root_inode_offset, &root_inode_data, sizeof(root_inode_data)); - } -} // namespace kernel::tests::filesystem::ext2
\ No newline at end of file |
