diff options
| author | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-08 06:22:49 +0100 |
|---|---|---|
| committer | Amlal El Mahrouss <amlal@nekernel.org> | 2026-03-08 06:24:45 +0100 |
| commit | 9ff9bf184558f47f83c44196a05983a49f5bdf16 (patch) | |
| tree | 98b7a0dce73cf5a3a4674370c20c695aac6e3963 /test | |
| parent | b64851f5c5654f9f28bd18b42155e5daea8c7e50 (diff) | |
[FEAT] CompilerKit testing coverage additions and 64-bit assembler patches.compiler_kit-test-additions
Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
Diffstat (limited to 'test')
| -rw-r--r-- | test/.gitkeep | 0 | ||||
| -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 | ||||
| -rw-r--r-- | test/test_02_linker/.gitkeep | 0 | ||||
| -rw-r--r-- | test/test_02_linker/CMakeLists.txt | 23 | ||||
| -rw-r--r-- | test/test_02_linker/linker.test.cc | 28 | ||||
| -rw-r--r-- | test/test_samples/inner.nc | 11 | ||||
| -rw-r--r-- | test/test_samples/test_ostream.nc | 9 | ||||
| -rw-r--r-- | test/test_samples/test_printf.nc | 11 | ||||
| -rw-r--r-- | test/test_samples/test_struct.nc | 20 |
11 files changed, 0 insertions, 157 deletions
diff --git a/test/.gitkeep b/test/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/test/.gitkeep +++ /dev/null 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."; -} diff --git a/test/test_02_linker/.gitkeep b/test/test_02_linker/.gitkeep deleted file mode 100644 index e69de29..0000000 --- a/test/test_02_linker/.gitkeep +++ /dev/null diff --git a/test/test_02_linker/CMakeLists.txt b/test/test_02_linker/CMakeLists.txt deleted file mode 100644 index 0ad69e0..0000000 --- a/test/test_02_linker/CMakeLists.txt +++ /dev/null @@ -1,23 +0,0 @@ -cmake_minimum_required(VERSION 3.10) -project(NeCTILinkerTest) - -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(LinkerTestBasic linker.test.cc) -target_link_libraries(LinkerTestBasic gtest_main) - -set_property(TARGET LinkerTestBasic PROPERTY CXX_STANDARD 20) -target_include_directories(LinkerTestBasic PUBLIC ../../) - -include(GoogleTest) -gtest_discover_tests(LinkerTestBasic) diff --git a/test/test_02_linker/linker.test.cc b/test/test_02_linker/linker.test.cc deleted file mode 100644 index bade75b..0000000 --- a/test/test_02_linker/linker.test.cc +++ /dev/null @@ -1,28 +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 Linker Unit test, from the C++ unit to the final executable. -/// @author Amlal El Mahrouss - -#include <gtest/gtest.h> - -/// 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/inner.nc b/test/test_samples/inner.nc deleted file mode 100644 index 5d90b41..0000000 --- a/test/test_samples/inner.nc +++ /dev/null @@ -1,11 +0,0 @@ -extern exit; - -let main() -{ - let foo := 42; - - const ret_stub(): - foo := 0x10; - exit(foo); - return 0x0; -} diff --git a/test/test_samples/test_ostream.nc b/test/test_samples/test_ostream.nc deleted file mode 100644 index 0d0410b..0000000 --- a/test/test_samples/test_ostream.nc +++ /dev/null @@ -1,9 +0,0 @@ -#include <GenericsLibrary/ostream.nhh> - -let main() -{ - let io := 0; - io := ostream{}; - let arr := io.read(0, 0); - return arr; -}
\ No newline at end of file diff --git a/test/test_samples/test_printf.nc b/test/test_samples/test_printf.nc deleted file mode 100644 index c29bb05..0000000 --- a/test/test_samples/test_printf.nc +++ /dev/null @@ -1,11 +0,0 @@ -export main; - -let main() -{ - if (0x01 =: 0x01): - { - return 0; - } - - return 1; -}
\ No newline at end of file diff --git a/test/test_samples/test_struct.nc b/test/test_samples/test_struct.nc deleted file mode 100644 index 71a9492..0000000 --- a/test/test_samples/test_struct.nc +++ /dev/null @@ -1,20 +0,0 @@ -extern exit; -extern malloc; - -let construct_foo() -{ - let io := 0; - io := malloc(4); - - return io; -} - -let main() -{ - let io := 0x0; - io := construct_foo(); - - _ := exit(io); - - return first_number; -}
\ No newline at end of file |
