meta: add support for simple unit test

This commit is contained in:
2025-04-11 13:41:33 +01:00
parent 377444ef59
commit 2b603c0d75
3 changed files with 40 additions and 6 deletions

View File

@@ -10,14 +10,14 @@ endif ()
set(CMAKE_COMPILE_WARNING_AS_ERROR ON)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/lib)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib)
if (NOT IVY_STATIC)
set(IVY_STATIC 0)
@@ -35,3 +35,4 @@ add_subdirectory(asm)
add_subdirectory(mie)
add_subdirectory(rt)
add_subdirectory(frontend)
add_subdirectory(test)

13
test/CMakeLists.txt Normal file
View File

@@ -0,0 +1,13 @@
file(GLOB test_sources *.c)
foreach (test_file ${test_sources})
get_filename_component(test_name ${test_file} NAME_WE)
add_executable(${test_name} ${test_file})
target_link_libraries(${test_name} ivy-common ivy-lang ivy-asm ivy-rt mie)
set_target_properties(${test_name} PROPERTIES
ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin/test"
)
endforeach (test_file)

20
test/name-map.c Normal file
View File

@@ -0,0 +1,20 @@
#include <mie/name.h>
#include <stdio.h>
int main(void)
{
struct mie_name_map *map = mie_name_map_create();
struct mie_name n1;
struct mie_name n2;
struct mie_name n3;
mie_name_map_put(map, &n1, "tmp");
mie_name_map_put(map, &n2, "tmp");
mie_name_map_put(map, &n3, "tmp");
printf("%s\n", n1.n_str);
printf("%s\n", n2.n_str);
printf("%s\n", n3.n_str);
return 0;
}