From abcb4e618287d1998e15bf42460d908cf51f994d Mon Sep 17 00:00:00 2001 From: Amlal El Mahrouss Date: Sun, 21 Dec 2025 15:27:44 +0100 Subject: chore: refactor codebase with our testing naming format. Signed-off-by: Amlal El Mahrouss --- test/test_01_codegen/CMakeLists.txt | 2 +- test/test_01_codegen/codegen.test.cc | 15 +++++++++++++++ test/test_01_codegen/codegen_test.cc | 15 --------------- test/test_02_linker/CMakeLists.txt | 2 +- test/test_02_linker/linker.test.cc | 29 +++++++++++++++++++++++++++++ test/test_02_linker/linker_test.cc | 29 ----------------------------- test/test_samples/sample.asm | 1 + test/test_samples/sample.cc.pp | 3 +++ 8 files changed, 50 insertions(+), 46 deletions(-) create mode 100644 test/test_01_codegen/codegen.test.cc delete mode 100644 test/test_01_codegen/codegen_test.cc create mode 100644 test/test_02_linker/linker.test.cc delete mode 100644 test/test_02_linker/linker_test.cc create mode 100644 test/test_samples/sample.cc.pp diff --git a/test/test_01_codegen/CMakeLists.txt b/test/test_01_codegen/CMakeLists.txt index 8b782d5..f6b363b 100644 --- a/test/test_01_codegen/CMakeLists.txt +++ b/test/test_01_codegen/CMakeLists.txt @@ -13,7 +13,7 @@ FetchContent_MakeAvailable(googletest) enable_testing() -add_executable(CodegenTestBasic linker_test.cc) +add_executable(CodegenTestBasic codegen.test.cc) target_link_libraries(CodegenTestBasic gtest_main) set_property(TARGET CodegenTestBasic PROPERTY CXX_STANDARD 20) diff --git a/test/test_01_codegen/codegen.test.cc b/test/test_01_codegen/codegen.test.cc new file mode 100644 index 0000000..06c8e25 --- /dev/null +++ b/test/test_01_codegen/codegen.test.cc @@ -0,0 +1,15 @@ +/* ======================================== + + Copyright (C) 2024-2025 Amlal El Mahrouss, licensed under the Apache 2.0 license. + + ======================================== */ + +/// @brief Codegen Unit test, from the C++ unit to the final executable. +/// @author Amlal El Mahrouss + +#include + +TEST(CodegenTest, BasicCodegenTest) { + auto expr = std::system("asm -asm-x64 test_samples/sample.asm"); + EXPECT_TRUE(expr == 0) << "ASM Driver did not compile the easy ASM unit."; +} diff --git a/test/test_01_codegen/codegen_test.cc b/test/test_01_codegen/codegen_test.cc deleted file mode 100644 index 06c8e25..0000000 --- a/test/test_01_codegen/codegen_test.cc +++ /dev/null @@ -1,15 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025 Amlal El Mahrouss, licensed under the Apache 2.0 license. - - ======================================== */ - -/// @brief Codegen Unit test, from the C++ unit to the final executable. -/// @author Amlal El Mahrouss - -#include - -TEST(CodegenTest, BasicCodegenTest) { - auto expr = std::system("asm -asm-x64 test_samples/sample.asm"); - EXPECT_TRUE(expr == 0) << "ASM Driver did not compile the easy ASM unit."; -} diff --git a/test/test_02_linker/CMakeLists.txt b/test/test_02_linker/CMakeLists.txt index f3493fc..0ad69e0 100644 --- a/test/test_02_linker/CMakeLists.txt +++ b/test/test_02_linker/CMakeLists.txt @@ -13,7 +13,7 @@ FetchContent_MakeAvailable(googletest) enable_testing() -add_executable(LinkerTestBasic linker_test.cc) +add_executable(LinkerTestBasic linker.test.cc) target_link_libraries(LinkerTestBasic gtest_main) set_property(TARGET LinkerTestBasic PROPERTY CXX_STANDARD 20) diff --git a/test/test_02_linker/linker.test.cc b/test/test_02_linker/linker.test.cc new file mode 100644 index 0000000..617327f --- /dev/null +++ b/test/test_02_linker/linker.test.cc @@ -0,0 +1,29 @@ +/* ======================================== + + Copyright (C) 2024-2025 Amlal El Mahrouss, licensed under the Apache 2.0 license. + + ======================================== */ + +/// @brief Linker Unit test, from the C++ unit to the final executable. +/// @author Amlal El Mahrouss + +#include + +/// compile +TEST(LinkerTest, BasicLinkTestCompile) { + auto expr = std::system("pef-amd64-cxxdrv test_samples/sample.cc"); + EXPECT_TRUE(expr == 0) << "C++ Driver did not compile the easy C++ unit."; +} + +/// assemble +TEST(LinkerTest, BasicLinkTestAssemble) { + auto expr = std::system("asm -asm:x64 test_samples/sample.cc.pp.masm"); + EXPECT_TRUE(expr == 0) << "Assembler did not assemble the easy asm unit."; +} + +/// link +TEST(LinkerTest, BasicLinkTestLink) { + auto expr = std::system( + "ld64 -amd64 test_samples/sample.cc.pp.obj -start __NECTAR_main -output main.exec"); + EXPECT_TRUE(expr == 0) << "Linker did not link the easy object."; +} diff --git a/test/test_02_linker/linker_test.cc b/test/test_02_linker/linker_test.cc deleted file mode 100644 index 617327f..0000000 --- a/test/test_02_linker/linker_test.cc +++ /dev/null @@ -1,29 +0,0 @@ -/* ======================================== - - Copyright (C) 2024-2025 Amlal El Mahrouss, licensed under the Apache 2.0 license. - - ======================================== */ - -/// @brief Linker Unit test, from the C++ unit to the final executable. -/// @author Amlal El Mahrouss - -#include - -/// compile -TEST(LinkerTest, BasicLinkTestCompile) { - auto expr = std::system("pef-amd64-cxxdrv test_samples/sample.cc"); - EXPECT_TRUE(expr == 0) << "C++ Driver did not compile the easy C++ unit."; -} - -/// assemble -TEST(LinkerTest, BasicLinkTestAssemble) { - auto expr = std::system("asm -asm:x64 test_samples/sample.cc.pp.masm"); - EXPECT_TRUE(expr == 0) << "Assembler did not assemble the easy asm unit."; -} - -/// link -TEST(LinkerTest, BasicLinkTestLink) { - auto expr = std::system( - "ld64 -amd64 test_samples/sample.cc.pp.obj -start __NECTAR_main -output main.exec"); - EXPECT_TRUE(expr == 0) << "Linker did not link the easy object."; -} diff --git a/test/test_samples/sample.asm b/test/test_samples/sample.asm index 82c0320..6b622f7 100644 --- a/test/test_samples/sample.asm +++ b/test/test_samples/sample.asm @@ -1,3 +1,4 @@ +;; \note This should compile. public_segment .code64 __ImageStart ;; rax is the return value register. mov rax, 5 diff --git a/test/test_samples/sample.cc.pp b/test/test_samples/sample.cc.pp new file mode 100644 index 0000000..4cce7f6 --- /dev/null +++ b/test/test_samples/sample.cc.pp @@ -0,0 +1,3 @@ +int main() { + return 0; +} -- cgit v1.2.3