diff options
Diffstat (limited to 'test/test_01_codegen')
| -rw-r--r-- | test/test_01_codegen/.gitkeep | 0 | ||||
| -rw-r--r-- | test/test_01_codegen/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | test/test_01_codegen/codegen.test.cc | 32 |
3 files changed, 0 insertions, 55 deletions
diff --git a/test/test_01_codegen/.gitkeep b/test/test_01_codegen/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/test/test_01_codegen/.gitkeep +++ /dev/null diff --git a/test/test_01_codegen/CMakeLists.txt b/test/test_01_codegen/CMakeLists.txt deleted file mode 100644 index f6b363b..0000000 --- a/test/test_01_codegen/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(NeCTICodeGen) - -include(FetchContent) -FetchContent_Declare( - googletest - URL https://github.com/google/googletest/archive/refs/tags/v1.14.0.zip -) - -# For Windows: Prevent overriding the parent project's compiler/linker settings -set(gtest_force_shared_crt ON CACHE BOOL "" FORCE) -FetchContent_MakeAvailable(googletest) - -enable_testing() - -add_executable(CodegenTestBasic codegen.test.cc) -target_link_libraries(CodegenTestBasic gtest_main) - -set_property(TARGET CodegenTestBasic PROPERTY CXX_STANDARD 20) -target_include_directories(CodegenTestBasic PUBLIC ../../) - -include(GoogleTest) -gtest_discover_tests(CodegenTestBasic) diff --git a/test/test_01_codegen/codegen.test.cc b/test/test_01_codegen/codegen.test.cc deleted file mode 100644 index 10d1f95..0000000 --- a/test/test_01_codegen/codegen.test.cc +++ /dev/null @@ -1,32 +0,0 @@ -// Copyright 2024-2025, Amlal El Mahrouss (amlal@nekernel.org) -// Licensed under the Apache License, Version 2.0 (See accompanying -// file LICENSE or copy at http://www.apache.org/licenses/LICENSE-2.0) -// Official repository: https://github.com/ne-foss-org/nectar - -/// @brief Codegen Unit test, from the C++ unit to the final executable. -/// @author Amlal El Mahrouss - -#include <gtest/gtest.h> - -TEST(CodegenTest, BasicCodegenTestGrep) { - // Compile C++ source to assembly - auto compile_result = std::system("pef-amd64-cxxdrv ../test_samples/sample.nc > /dev/null 2>&1"); - EXPECT_TRUE(compile_result == 0) << "C++ compiler driver failed to compile sample.cc"; - - // Grep for expected entry point symbol in generated assembly - auto grep_main = std::system("grep -q '__NECTAR_main' ../test_samples/sample.nc.masm"); - EXPECT_TRUE(grep_main == 0) << "Generated assembly missing expected entry point __NECTAR_main"; - - // Grep for return instruction - auto grep_ret = std::system("grep -q 'ret' ../test_samples/sample.nc.masm"); - EXPECT_TRUE(grep_ret == 0) << "Generated assembly missing return instruction"; - - // Grep for 64-bit mode directive - auto grep_bits64 = std::system("grep -q '%bits 64' ../test_samples/sample.nc.masm"); - EXPECT_TRUE(grep_bits64 == 0) << "Generated assembly missing 64-bit mode directive"; -} - -TEST(CodegenTest, BasicCodegenTestAssemble) { - auto expr = std::system("asm -asm-x64 test_samples/sample.asm"); - EXPECT_TRUE(expr == 0) << "ASM Driver did not compile the easy ASM unit."; -} |
