mirror of
https://github.com/catchorg/Catch2.git
synced 2025-03-01 00:56:23 +01:00
add support for QNX 7.1/8.0
This commit is contained in:
parent
4e8d92bf02
commit
2b491cce5d
@ -3509,7 +3509,7 @@ namespace {
|
|||||||
#endif // Windows/ ANSI/ None
|
#endif // Windows/ ANSI/ None
|
||||||
|
|
||||||
|
|
||||||
#if defined( CATCH_PLATFORM_LINUX ) || defined( CATCH_PLATFORM_MAC )
|
#if defined( CATCH_PLATFORM_LINUX ) || defined( CATCH_PLATFORM_MAC ) || defined( CATCH_PLATFORM_QNX )
|
||||||
# define CATCH_INTERNAL_HAS_ISATTY
|
# define CATCH_INTERNAL_HAS_ISATTY
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
@ -3757,7 +3757,7 @@ namespace Catch {
|
|||||||
#endif
|
#endif
|
||||||
} // namespace Catch
|
} // namespace Catch
|
||||||
|
|
||||||
#elif defined(CATCH_PLATFORM_LINUX)
|
#elif defined(CATCH_PLATFORM_LINUX) || defined( CATCH_PLATFORM_QNX )
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -101,6 +101,9 @@
|
|||||||
#elif defined(linux) || defined(__linux) || defined(__linux__)
|
#elif defined(linux) || defined(__linux) || defined(__linux__)
|
||||||
# define CATCH_PLATFORM_LINUX
|
# define CATCH_PLATFORM_LINUX
|
||||||
|
|
||||||
|
#elif defined(__QNX__)
|
||||||
|
# define CATCH_PLATFORM_QNX
|
||||||
|
|
||||||
#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__)
|
#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__)
|
||||||
# define CATCH_PLATFORM_WINDOWS
|
# define CATCH_PLATFORM_WINDOWS
|
||||||
|
|
||||||
@ -9359,7 +9362,7 @@ namespace Catch {
|
|||||||
#define CATCH_TRAP() __asm__(".inst 0xde01")
|
#define CATCH_TRAP() __asm__(".inst 0xde01")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined(CATCH_PLATFORM_LINUX)
|
#elif defined(CATCH_PLATFORM_LINUX) || defined(CATCH_PLATFORM_QNX)
|
||||||
// If we can use inline assembler, do it because this allows us to break
|
// If we can use inline assembler, do it because this allows us to break
|
||||||
// directly at the location of the failing check instead of breaking inside
|
// directly at the location of the failing check instead of breaking inside
|
||||||
// raise() called from it, i.e. one stack frame below.
|
// raise() called from it, i.e. one stack frame below.
|
||||||
|
@ -161,7 +161,7 @@ namespace {
|
|||||||
#endif // Windows/ ANSI/ None
|
#endif // Windows/ ANSI/ None
|
||||||
|
|
||||||
|
|
||||||
#if defined( CATCH_PLATFORM_LINUX ) || defined( CATCH_PLATFORM_MAC )
|
#if defined( CATCH_PLATFORM_LINUX ) || defined( CATCH_PLATFORM_MAC ) || defined( CATCH_PLATFORM_QNX )
|
||||||
# define CATCH_INTERNAL_HAS_ISATTY
|
# define CATCH_INTERNAL_HAS_ISATTY
|
||||||
# include <unistd.h>
|
# include <unistd.h>
|
||||||
#endif
|
#endif
|
||||||
|
@ -69,7 +69,7 @@
|
|||||||
#endif
|
#endif
|
||||||
} // namespace Catch
|
} // namespace Catch
|
||||||
|
|
||||||
#elif defined(CATCH_PLATFORM_LINUX)
|
#elif defined(CATCH_PLATFORM_LINUX) || defined(CATCH_PLATFORM_QNX)
|
||||||
#include <fstream>
|
#include <fstream>
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
|
@ -38,7 +38,7 @@ namespace Catch {
|
|||||||
#define CATCH_TRAP() __asm__(".inst 0xde01")
|
#define CATCH_TRAP() __asm__(".inst 0xde01")
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#elif defined(CATCH_PLATFORM_LINUX)
|
#elif defined(CATCH_PLATFORM_LINUX) || defined(CATCH_PLATFORM_QNX)
|
||||||
// If we can use inline assembler, do it because this allows us to break
|
// If we can use inline assembler, do it because this allows us to break
|
||||||
// directly at the location of the failing check instead of breaking inside
|
// directly at the location of the failing check instead of breaking inside
|
||||||
// raise() called from it, i.e. one stack frame below.
|
// raise() called from it, i.e. one stack frame below.
|
||||||
|
@ -25,6 +25,9 @@
|
|||||||
#elif defined(linux) || defined(__linux) || defined(__linux__)
|
#elif defined(linux) || defined(__linux) || defined(__linux__)
|
||||||
# define CATCH_PLATFORM_LINUX
|
# define CATCH_PLATFORM_LINUX
|
||||||
|
|
||||||
|
#elif defined(__QNX__)
|
||||||
|
# define CATCH_PLATFORM_QNX
|
||||||
|
|
||||||
#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__)
|
#elif defined(WIN32) || defined(__WIN32__) || defined(_WIN32) || defined(_MSC_VER) || defined(__MINGW32__)
|
||||||
# define CATCH_PLATFORM_WINDOWS
|
# define CATCH_PLATFORM_WINDOWS
|
||||||
|
|
||||||
|
@ -681,3 +681,43 @@ endforeach()
|
|||||||
|
|
||||||
list(APPEND CATCH_WARNING_TARGETS SelfTest)
|
list(APPEND CATCH_WARNING_TARGETS SelfTest)
|
||||||
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)
|
set(CATCH_WARNING_TARGETS ${CATCH_WARNING_TARGETS} PARENT_SCOPE)
|
||||||
|
|
||||||
|
if (QNX)
|
||||||
|
#path to tests on target
|
||||||
|
set(tests_path ${CMAKE_INSTALL_BINDIR}/catch2_tests)
|
||||||
|
|
||||||
|
#list of ut test targets
|
||||||
|
set(list_tests_targets
|
||||||
|
Catch2
|
||||||
|
Catch2WithMain
|
||||||
|
SelfTest
|
||||||
|
)
|
||||||
|
|
||||||
|
#install tests and libs
|
||||||
|
install(
|
||||||
|
TARGETS ${list_tests_targets}
|
||||||
|
LIBRARY DESTINATION ${tests_path}/lib
|
||||||
|
RUNTIME DESTINATION ${tests_path}
|
||||||
|
)
|
||||||
|
|
||||||
|
#install tests execution script
|
||||||
|
install(
|
||||||
|
PROGRAMS ${QNX_TEST_SCRIPT} ${QNX_CTEST_MODULE} ${QNX_DECODE_CTEST_MODULE}
|
||||||
|
DESTINATION ${tests_path}
|
||||||
|
)
|
||||||
|
|
||||||
|
#install SelfTest Misc artifacts
|
||||||
|
install(
|
||||||
|
DIRECTORY ${SELF_TEST_DIR}/Misc
|
||||||
|
DESTINATION ${tests_path}
|
||||||
|
)
|
||||||
|
|
||||||
|
#install CTests files
|
||||||
|
install(
|
||||||
|
DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
|
||||||
|
DESTINATION ${tests_path}
|
||||||
|
FILES_MATCHING PATTERN "CTestTestfile.cmake"
|
||||||
|
PATTERN "CMakeFiles" EXCLUDE
|
||||||
|
PATTERN "surrogates" EXCLUDE
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
@ -110,7 +110,7 @@ foreach(target DisabledExceptions-DefaultHandler DisabledExceptions-CustomHandle
|
|||||||
target_compile_options( ${target}
|
target_compile_options( ${target}
|
||||||
PUBLIC
|
PUBLIC
|
||||||
$<$<CXX_COMPILER_ID:MSVC>:/EHs-c-;/D_HAS_EXCEPTIONS=0>
|
$<$<CXX_COMPILER_ID:MSVC>:/EHs-c-;/D_HAS_EXCEPTIONS=0>
|
||||||
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:AppleClang>>:-fno-exceptions>
|
$<$<OR:$<CXX_COMPILER_ID:Clang>,$<CXX_COMPILER_ID:GNU>,$<CXX_COMPILER_ID:QCC>,$<CXX_COMPILER_ID:AppleClang>>:-fno-exceptions>
|
||||||
)
|
)
|
||||||
target_link_libraries(${target} Catch2_buildall_interface)
|
target_link_libraries(${target} Catch2_buildall_interface)
|
||||||
endforeach()
|
endforeach()
|
||||||
@ -576,3 +576,46 @@ set_tests_properties(
|
|||||||
PROPERTIES
|
PROPERTIES
|
||||||
PASS_REGULAR_EXPRESSION "All tests passed \\(14 assertions in 3 test cases\\)"
|
PASS_REGULAR_EXPRESSION "All tests passed \\(14 assertions in 3 test cases\\)"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if (QNX)
|
||||||
|
#path to tests on target
|
||||||
|
set(tests_path ${CMAKE_INSTALL_BINDIR}/catch2_tests)
|
||||||
|
|
||||||
|
set(list_tests_targets ${list_tests_targets}
|
||||||
|
ListenerStdoutCaptureInMultireporter
|
||||||
|
AssertionStartingEventGoesBeforeAssertionIsEvaluated
|
||||||
|
PartialTestCaseEvents
|
||||||
|
DuplicatedReporters
|
||||||
|
DuplicatedTestCases-DuplicatedTestCaseMethods
|
||||||
|
ReportingCrashWithJunitReporter
|
||||||
|
DuplicatedTestCases-SameNameDifferentTags
|
||||||
|
CapturedStdoutInTestCaseEvents
|
||||||
|
AllSkipped
|
||||||
|
DisabledExceptions-CustomHandler
|
||||||
|
DisableStringification
|
||||||
|
DuplicatedTestCases-DifferentFixtures
|
||||||
|
DisabledMacros
|
||||||
|
AmalgamatedTestCompilation
|
||||||
|
BazelReporter
|
||||||
|
FallbackStringifier
|
||||||
|
CustomArgumentsForReporters
|
||||||
|
DisabledExceptions-DefaultHandler
|
||||||
|
ListenerCanAskForCapturedStdout
|
||||||
|
BenchmarksInCumulativeReporter
|
||||||
|
DuplicatedTestCases-SameNameAndTags
|
||||||
|
ListenersGetEventsBeforeReporters
|
||||||
|
CasingInReporterNames
|
||||||
|
NoTests
|
||||||
|
ReporterPreferencesForPassingAssertionsIsRespected
|
||||||
|
BazelReporterNoCatchConfig
|
||||||
|
DeferredStaticChecks
|
||||||
|
PrefixedMacros
|
||||||
|
)
|
||||||
|
|
||||||
|
#install tests and libs
|
||||||
|
install(
|
||||||
|
TARGETS ${list_tests_targets}
|
||||||
|
LIBRARY DESTINATION ${tests_path}/lib
|
||||||
|
RUNTIME DESTINATION ${tests_path}
|
||||||
|
)
|
||||||
|
endif()
|
||||||
|
Loading…
Reference in New Issue
Block a user