ovni/test/rt/nanos6/CMakeLists.txt

49 lines
1.6 KiB
CMake
Raw Normal View History

2022-09-19 12:39:02 +02:00
# Copyright (c) 2022 Barcelona Supercomputing Center (BSC)
# SPDX-License-Identifier: GPL-3.0-or-later
find_package(Nanos6)
2022-09-29 12:41:59 +02:00
include(CheckCCompilerFlag)
check_c_compiler_flag("-fompss-2" HAVE_FOMPSS2_FLAG)
if(NOT HAVE_FOMPSS2_FLAG)
message(STATUS "Compiler doesn't support -fompss-2 flag, disabling Nanos6 RT tests")
return()
endif()
if(NOT NANOS6_FOUND)
2022-09-29 12:41:59 +02:00
message(STATUS "Nanos6 not found, disabling Nanos6 RT tests")
return()
else()
message(STATUS "Enabling Nanos6 RT tests")
endif()
function(nanos6_rt_test)
set(switches "")
set(single LEVEL)
set(multi "")
cmake_parse_arguments(
NANOS6_TEST "${switches}" "${single}" "${multi}" ${ARGN})
ovni_test(${ARGN})
target_compile_options("${OVNI_TEST_NAME}" PUBLIC "-fompss-2")
target_link_options("${OVNI_TEST_NAME}" PUBLIC "-fompss-2")
target_link_libraries("${OVNI_TEST_NAME}" PRIVATE Nanos6::nanos6)
set_property(TEST "${OVNI_TEST_NAME}" APPEND PROPERTY
ENVIRONMENT "NANOS6_CONFIG=${OVNI_TEST_SOURCE_DIR}/rt/nanos6/nanos6.toml")
if(NANOS6_TEST_LEVEL)
set_property(TEST "${OVNI_TEST_NAME}" APPEND PROPERTY
ENVIRONMENT "NANOS6_CONFIG_OVERRIDE=instrument.ovni.level=${NANOS6_TEST_LEVEL}")
endif()
endfunction()
2022-08-25 19:30:44 +02:00
nanos6_rt_test(simple-task.c)
nanos6_rt_test(nested-task.c)
2022-09-08 13:41:52 +02:00
nanos6_rt_test(several-tasks.c)
nanos6_rt_test(sched-add.c)
nanos6_rt_test(if0.c)
2022-12-13 13:29:09 +01:00
#nanos6_rt_test(taskfor.c) #Taskfor no longer supported
2022-09-29 12:41:59 +02:00
# Test multiple instrumentation levels
nanos6_rt_test(simple-task.c NAME simple-task-level-1 LEVEL 1)
nanos6_rt_test(simple-task.c NAME simple-task-level-2 LEVEL 2)
nanos6_rt_test(simple-task.c NAME simple-task-level-3 LEVEL 3)