You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
38 lines
1.0 KiB
38 lines
1.0 KiB
#
|
|
#
|
|
# Compiling/running tests
|
|
|
|
if (use_context)
|
|
add_definitions(-DUSE_CBOR_CONTEXT)
|
|
endif()
|
|
|
|
set ( CMAKE_RUNTIME_OUTPUT_DIRECTORY ${dist_dir}/test )
|
|
|
|
function (create_test name)
|
|
add_executable ( ${name}_test ${name}_test.c )
|
|
target_link_libraries ( ${name}_test PRIVATE cn-cbor )
|
|
target_include_directories ( ${name}_test PRIVATE ../include )
|
|
add_test ( NAME ${name} COMMAND ${name}_test )
|
|
endfunction()
|
|
|
|
create_test ( cbor )
|
|
include ( CTest )
|
|
|
|
if (APPLE)
|
|
# difftest uses Apple-specific memory tests
|
|
add_executable (cn-test test.c )
|
|
target_include_directories ( cn-test PRIVATE ../include )
|
|
target_link_libraries ( cn-test PRIVATE cn-cbor )
|
|
|
|
configure_file(cases.cbor cases.cbor COPYONLY)
|
|
configure_file(expected.out expected.out COPYONLY)
|
|
|
|
add_custom_target(difftest
|
|
COMMAND env MallocStackLogging=true ./cn-test >new.out
|
|
COMMAND diff new.out expected.out
|
|
DEPENDS cn-test
|
|
WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
|
|
COMMENT "generate differences between actual and expected output")
|
|
|
|
endif()
|