# # # 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()