From fc4303e743b30a30acbf4dd738466988893da1d2 Mon Sep 17 00:00:00 2001 From: Timothy Werquin Date: Fri, 31 May 2024 21:12:45 +0200 Subject: [PATCH] Refactor unit test temp file helper --- test/unit/TempFiles.h | 24 ++++++++++++++++++++++++ test/unit/TestTilem.cpp | 21 ++++----------------- test/unit/assets/tilem-error.png | 4 ++-- 3 files changed, 30 insertions(+), 19 deletions(-) create mode 100644 test/unit/TempFiles.h diff --git a/test/unit/TempFiles.h b/test/unit/TempFiles.h new file mode 100644 index 0000000..83edb03 --- /dev/null +++ b/test/unit/TempFiles.h @@ -0,0 +1,24 @@ +#pragma once + +#include + +#include + +class TemporaryDirectory { +public: + TemporaryDirectory() : dir("/tmp/unit-tests") { + REQUIRE_NOTHROW(std::filesystem::create_directory(dir)); + } + TemporaryDirectory(const TemporaryDirectory&) = delete; + TemporaryDirectory(TemporaryDirectory&&) = default; + TemporaryDirectory& operator=(const TemporaryDirectory&) = delete; + TemporaryDirectory& operator=(TemporaryDirectory&&) = default; + + ~TemporaryDirectory() { + if (!dir.empty() && std::filesystem::is_directory(dir)) { + REQUIRE_NOTHROW(std::filesystem::remove_all(dir)); + } + } + + std::filesystem::path dir; +}; diff --git a/test/unit/TestTilem.cpp b/test/unit/TestTilem.cpp index dc0263d..1d2b3b4 100644 --- a/test/unit/TestTilem.cpp +++ b/test/unit/TestTilem.cpp @@ -1,5 +1,6 @@ #include +#include "TempFiles.h" #include "rMLibTestHelper.h" #include "Calculator.h" @@ -11,24 +12,9 @@ using namespace rmlib; using namespace tilem; -class TemporaryDirectory { -public: - TemporaryDirectory() : dir("/tmp/tilem") { - REQUIRE_NOTHROW(std::filesystem::create_directory(dir)); - } - - ~TemporaryDirectory() { - if (!dir.empty() && std::filesystem::is_directory(dir)) { - REQUIRE_NOTHROW(std::filesystem::remove_all(dir)); - } - } - - std::string dir; -}; - TEST_CASE("Tilem", "[tilem][ui]") { TemporaryDirectory tmp; - const auto romPath = tmp.dir + "/unit_test.rom"; + const auto romPath = tmp.dir / "unit_test.rom"; auto ctx = TestContext::make(); @@ -54,7 +40,8 @@ TEST_CASE("Tilem", "[tilem][ui]") { // Wait for the download to finish. ctx.pump(); - while (!ctx.findByText("Downloading ROM '" + romPath + "' ...").empty()) { + while (!ctx.findByText("Downloading ROM '" + romPath.string() + "' ...") + .empty()) { ctx.pump(); } ctx.pump(std::chrono::milliseconds(500)); diff --git a/test/unit/assets/tilem-error.png b/test/unit/assets/tilem-error.png index cf4d1c4..425a31b 100644 --- a/test/unit/assets/tilem-error.png +++ b/test/unit/assets/tilem-error.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c62b09722311f535afb885dd9c14cd28a49674e4508d64cad7405bf2794f3ff -size 72213 +oid sha256:cd788f214566f38dbe4cd0023907ef6ff8591adad979839a660972ba79449db3 +size 72886