From 1b17e5de9d5a949dc4da6b312af19b06c96e0f2f Mon Sep 17 00:00:00 2001 From: Lukas Oesch Date: Tue, 9 Jun 2026 22:58:49 +0200 Subject: check whether the target already exists when creating an inode --- kernel/kapi/filesystem.tests.cpp | 40 ++++++++++++++++++++-------------------- 1 file changed, 20 insertions(+), 20 deletions(-) (limited to 'kernel/kapi/filesystem.tests.cpp') diff --git a/kernel/kapi/filesystem.tests.cpp b/kernel/kapi/filesystem.tests.cpp index 595d73e8..f2a6a988 100644 --- a/kernel/kapi/filesystem.tests.cpp +++ b/kernel/kapi/filesystem.tests.cpp @@ -216,28 +216,28 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap { auto new_file_path = "/information/new_information.txt"; - REQUIRE(kapi::filesystem::open(new_file_path) < 0); + REQUIRE(!kapi::filesystem::open(new_file_path)); - REQUIRE(kapi::filesystem::create(new_file_path) == 0); + REQUIRE(kapi::filesystem::create(new_file_path)); auto fd = kapi::filesystem::open(new_file_path); - REQUIRE(fd >= 0); + REQUIRE(fd); auto write_buffer = std::vector{std::byte{'T'}, std::byte{'e'}, std::byte{'s'}, std::byte{'t'}}; - kapi::filesystem::write(fd, write_buffer.data(), write_buffer.size()); + CHECK(kapi::filesystem::write(*fd, write_buffer.data(), write_buffer.size())); - REQUIRE(kapi::filesystem::close(fd) == 0); + REQUIRE(kapi::filesystem::close(*fd)); fd = kapi::filesystem::open(new_file_path); - REQUIRE(fd >= 0); + REQUIRE(fd); auto read_buffer = std::vector(4); - auto bytes_read = kapi::filesystem::read(fd, read_buffer.data(), read_buffer.size()); + auto bytes_read = kapi::filesystem::read(*fd, read_buffer.data(), read_buffer.size()); - std::string_view buffer_as_str{reinterpret_cast(read_buffer.data()), static_cast(bytes_read)}; + std::string_view buffer_as_str{reinterpret_cast(read_buffer.data()), static_cast(*bytes_read)}; REQUIRE(buffer_as_str == "Test"); - REQUIRE(kapi::filesystem::close(fd) == 0); + REQUIRE(kapi::filesystem::close(*fd)); } THEN("a new directory can be created and a file within can be created, opened, and closed again") @@ -245,29 +245,29 @@ SCENARIO_METHOD(kernel::tests::filesystem::storage_boot_module_vfs_fixture, "Kap auto new_directory_path = "/information/new_directory"; auto new_file_path = "/information/new_directory/new_information.txt"; - REQUIRE(kapi::filesystem::open(new_file_path) < 0); + REQUIRE(!kapi::filesystem::open(new_file_path)); - REQUIRE(kapi::filesystem::mkdir(new_directory_path) == 0); - REQUIRE(kapi::filesystem::create(new_file_path) == 0); + REQUIRE(kapi::filesystem::mkdir(new_directory_path)); + REQUIRE(kapi::filesystem::create(new_file_path)); auto fd = kapi::filesystem::open(new_file_path); - REQUIRE(fd >= 0); - REQUIRE(kapi::filesystem::close(fd) == 0); + REQUIRE(fd); + REQUIRE(kapi::filesystem::close(*fd)); } THEN("a file can be created in a mounted filesystem, opened, and closed again") { - kapi::filesystem::mount("/dev/ram16", "/information"); + CHECK(kapi::filesystem::mount("/dev/ram16", "/information")); auto new_file_path = "/information/monkey_house/monkey_4.txt"; - REQUIRE(kapi::filesystem::open(new_file_path) < 0); - REQUIRE(kapi::filesystem::create(new_file_path) == 0); + REQUIRE(!kapi::filesystem::open(new_file_path)); + REQUIRE(kapi::filesystem::create(new_file_path)); auto fd = kapi::filesystem::open(new_file_path); - REQUIRE(fd >= 0); - REQUIRE(kapi::filesystem::close(fd) == 0); + REQUIRE(fd); + REQUIRE(kapi::filesystem::close(*fd)); - REQUIRE(kapi::filesystem::umount("/information") == 0); + REQUIRE(kapi::filesystem::umount("/information")); } } } -- cgit v1.2.3