aboutsummaryrefslogtreecommitdiff
path: root/kernel/src/filesystem/device_inode.tests.cpp
diff options
context:
space:
mode:
authorFelix Morgner <felix.morgner@ost.ch>2026-07-03 09:32:30 +0200
committerFelix Morgner <felix.morgner@ost.ch>2026-07-03 09:32:30 +0200
commit3012fa5dfe5dfed5e83baf9b40934ed8e8317627 (patch)
tree00d1c60a3d5d1cdfa55e0ff1691cd3362b6064ee /kernel/src/filesystem/device_inode.tests.cpp
parent5d8a58d538515ffc57ddf82ba40ba763990a8696 (diff)
downloadkernel-3012fa5dfe5dfed5e83baf9b40934ed8e8317627.tar.xz
kernel-3012fa5dfe5dfed5e83baf9b40934ed8e8317627.zip
kernel: rearrange sources according to p1204
Diffstat (limited to 'kernel/src/filesystem/device_inode.tests.cpp')
-rw-r--r--kernel/src/filesystem/device_inode.tests.cpp109
1 files changed, 0 insertions, 109 deletions
diff --git a/kernel/src/filesystem/device_inode.tests.cpp b/kernel/src/filesystem/device_inode.tests.cpp
deleted file mode 100644
index 025a22a2..00000000
--- a/kernel/src/filesystem/device_inode.tests.cpp
+++ /dev/null
@@ -1,109 +0,0 @@
-#include <kernel/filesystem/device_inode.hpp>
-
-#include <kernel/test_support/cpu.hpp>
-#include <kernel/test_support/devices/block_device.hpp>
-#include <kernel/test_support/devices/character_device.hpp>
-
-#include <kstd/memory>
-#include <kstd/print>
-#include <kstd/vector>
-
-#include <catch2/catch_test_macros.hpp>
-
-#include <cstddef>
-#include <cstdint>
-
-SCENARIO("Device inode construction", "[filesystem][device_inode]")
-{
- GIVEN("a block device")
- {
- auto device = kstd::make_shared<kernel::tests::devices::block_device>(0, 0, "test_block_device", 512, 3 * 512);
-
- WHEN("constructing a device inode with the block device")
- {
- auto inode = kernel::filesystem::device_inode{device};
-
- THEN("the device inode has the correct device")
- {
- REQUIRE(inode.device() == device);
- }
-
- THEN("the device inode has the correct kind")
- {
- REQUIRE(inode.is_device());
- REQUIRE_FALSE(inode.is_directory());
- REQUIRE_FALSE(inode.is_regular());
- REQUIRE_FALSE(inode.is_symbolic_link());
- }
- }
-
- WHEN("constructing a device inode with a null device")
- {
- THEN("the constructor panics")
- {
- REQUIRE_THROWS_AS((kernel::filesystem::device_inode{nullptr}), kernel::tests::cpu::halt);
- }
- }
- }
-}
-
-SCENARIO("Device inode read/write", "[filesystem][device_inode]")
-{
- GIVEN("a block device and a device inode for that device")
- {
- auto device = kstd::make_shared<kernel::tests::devices::block_device>(0, 0, "test_block_device", 512, 3 * 512);
- auto inode = kernel::filesystem::device_inode{device};
-
- WHEN("writing to the device inode")
- {
- kstd::vector<uint8_t> write_buffer(1024);
- for (size_t i = 0; i < write_buffer.size(); ++i)
- {
- write_buffer[i] = static_cast<uint8_t>(i % 256);
- }
-
- auto bytes_written = inode.write(write_buffer.data(), 256, write_buffer.size());
-
- THEN("the correct number of bytes is written")
- {
- REQUIRE(bytes_written == 1024);
- }
-
- THEN("the data written matches the data read back from the device inode")
- {
- kstd::vector<uint8_t> read_buffer(1024);
- auto bytes_read = inode.read(read_buffer.data(), 256, read_buffer.size());
-
- REQUIRE(bytes_read == write_buffer.size());
- REQUIRE(read_buffer == write_buffer);
- }
- }
- }
-}
-
-SCENARIO("Device inode read/write with a non-block device", "[filesystem][device_inode]")
-{
- GIVEN("a non-block device and a device inode for that device")
- {
- auto device = kstd::make_shared<kernel::tests::devices::character_device>(0, 0, "test_character_device");
- auto inode = kernel::filesystem::device_inode{device};
-
- WHEN("reading from the device inode")
- {
- kstd::vector<uint8_t> read_buffer(512);
- THEN("the system panics")
- {
- REQUIRE_THROWS_AS(inode.read(read_buffer.data(), 0, read_buffer.size()), kernel::tests::cpu::halt);
- }
- }
-
- WHEN("writing to the device inode")
- {
- kstd::vector<uint8_t> write_buffer(512);
- THEN("the system panics")
- {
- REQUIRE_THROWS_AS(inode.write(write_buffer.data(), 0, write_buffer.size()), kernel::tests::cpu::halt);
- }
- }
- }
-}