summaryrefslogtreecommitdiffhomepage
path: root/test
diff options
context:
space:
mode:
Diffstat (limited to 'test')
-rw-r--r--test/.gitkeep0
-rw-r--r--test/test_01_codegen/.gitkeep0
-rw-r--r--test/test_01_codegen/CMakeLists.txt23
-rw-r--r--test/test_01_codegen/codegen.test.cc32
-rw-r--r--test/test_02_linker/.gitkeep0
-rw-r--r--test/test_02_linker/CMakeLists.txt23
-rw-r--r--test/test_02_linker/linker.test.cc28
-rw-r--r--test/test_samples/inner.nc11
-rw-r--r--test/test_samples/test_ostream.nc9
-rw-r--r--test/test_samples/test_printf.nc11
-rw-r--r--test/test_samples/test_struct.nc20
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