From f2f29f6cbbc80ce86260abc67b1338cd3d249449 Mon Sep 17 00:00:00 2001 From: Roshan Raghupathy Date: Thu, 24 Jun 2021 20:55:19 +0530 Subject: [PATCH 1/2] add a build failure test --- core/test/build_failures/testFabricEmptyFibers.cpp | 14 ++++++++++++++ 1 file changed, 14 insertions(+) create mode 100644 core/test/build_failures/testFabricEmptyFibers.cpp diff --git a/core/test/build_failures/testFabricEmptyFibers.cpp b/core/test/build_failures/testFabricEmptyFibers.cpp new file mode 100644 index 00000000..55ed0c42 --- /dev/null +++ b/core/test/build_failures/testFabricEmptyFibers.cpp @@ -0,0 +1,14 @@ +#include + + +using namespace marlin::core; + +struct Terminal {}; + +struct Fiber {}; + +int main() { + Fabric f; + + return 0; +} From 9ed2f3db1301a2d80b4d15c685273b71ba9a5eaa Mon Sep 17 00:00:00 2001 From: Roshan Raghupathy Date: Thu, 24 Jun 2021 20:56:42 +0530 Subject: [PATCH 2/2] add to tests --- core/CMakeLists.txt | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/core/CMakeLists.txt b/core/CMakeLists.txt index 707f2a51..af08df15 100644 --- a/core/CMakeLists.txt +++ b/core/CMakeLists.txt @@ -109,6 +109,23 @@ foreach(TEST_SOURCE ${TEST_SOURCES}) endforeach(TEST_SOURCE) +set(BUILD_TEST_SOURCES + test/build_failures/testFabricEmptyFibers.cpp +) +foreach(BUILD_TEST_SOURCE ${BUILD_TEST_SOURCES}) + get_filename_component(BUILD_TEST_NAME ${BUILD_TEST_SOURCE} NAME_WE) + add_executable(${BUILD_TEST_NAME} EXCLUDE_FROM_ALL ${BUILD_TEST_SOURCE}) + target_link_libraries(${BUILD_TEST_NAME} PUBLIC GTest::GTest GTest::Main core) + target_compile_options(${BUILD_TEST_NAME} PRIVATE -Werror -Wall -Wextra -pedantic-errors) + target_compile_features(${BUILD_TEST_NAME} PRIVATE cxx_std_17) + add_test(NAME ${BUILD_TEST_NAME} + COMMAND ${CMAKE_COMMAND} --build . --target ${BUILD_TEST_NAME} --config $ + WORKING_DIRECTORY ${CMAKE_BINARY_DIR} + ) + set_tests_properties(${BUILD_TEST_NAME} PROPERTIES PASS_REGULAR_EXPRESSION "template template parameter") +endforeach(BUILD_TEST_SOURCE) + + ########################################################## # Examples ##########################################################