1*437bfbebSnyanmisaka# vim: syntax=cmake 2*437bfbebSnyanmisaka# ---------------------------------------------------------------------------- 3*437bfbebSnyanmisaka# mpp built-in unit test case 4*437bfbebSnyanmisaka# ---------------------------------------------------------------------------- 5*437bfbebSnyanmisaka# macro for adding mpp sub-module unit test 6*437bfbebSnyanmisakamacro(add_mpp_test module ext) 7*437bfbebSnyanmisaka set(test_name ${module}_test) 8*437bfbebSnyanmisaka set(file_name ${test_name}.${ext}) 9*437bfbebSnyanmisaka string(TOUPPER ${test_name} test_tag) 10*437bfbebSnyanmisaka #message(STATUS "moduule : ${module}") 11*437bfbebSnyanmisaka #message(STATUS "test_name : ${test_name}") 12*437bfbebSnyanmisaka #message(STATUS "test_tag : ${test_tag}") 13*437bfbebSnyanmisaka 14*437bfbebSnyanmisaka option(${test_tag} "Build mpp ${module}.${ext} unit test" ${BUILD_TEST}) 15*437bfbebSnyanmisaka if(${test_tag}) 16*437bfbebSnyanmisaka add_executable(${test_name} ${file_name} mpp_event_trigger.c mpp_parse_cfg.c) 17*437bfbebSnyanmisaka target_link_libraries(${test_name} ${MPP_SHARED} utils) 18*437bfbebSnyanmisaka set_target_properties(${test_name} PROPERTIES FOLDER "test") 19*437bfbebSnyanmisaka install(TARGETS ${test_name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 20*437bfbebSnyanmisaka #add_test(NAME ${test_name} COMMAND ${test_name}) 21*437bfbebSnyanmisaka endif() 22*437bfbebSnyanmisakaendmacro() 23*437bfbebSnyanmisaka 24*437bfbebSnyanmisaka# mpp info test 25*437bfbebSnyanmisakaadd_mpp_test(mpp_info c) 26*437bfbebSnyanmisaka 27*437bfbebSnyanmisaka# mpi decoder unit test 28*437bfbebSnyanmisakaadd_mpp_test(mpi_dec c) 29*437bfbebSnyanmisaka 30*437bfbebSnyanmisaka# mpi decoder multi-thread input / output unit test 31*437bfbebSnyanmisakaadd_mpp_test(mpi_dec_mt c) 32*437bfbebSnyanmisaka 33*437bfbebSnyanmisaka# mpi decoder no-thread input / output unit test 34*437bfbebSnyanmisakaadd_mpp_test(mpi_dec_nt c) 35*437bfbebSnyanmisaka 36*437bfbebSnyanmisaka# mpi encoder unit test 37*437bfbebSnyanmisakaadd_mpp_test(mpi_enc c) 38*437bfbebSnyanmisaka 39*437bfbebSnyanmisaka# mpi encoder multi-thread input / output unit test 40*437bfbebSnyanmisakaadd_mpp_test(mpi_enc_mt c) 41*437bfbebSnyanmisaka 42*437bfbebSnyanmisaka# new mpi rc unit test 43*437bfbebSnyanmisakaadd_mpp_test(mpi_rc2 c) 44*437bfbebSnyanmisaka 45*437bfbebSnyanmisaka# new dec multi unit test 46*437bfbebSnyanmisakaadd_mpp_test(mpi_dec_multi c) 47*437bfbebSnyanmisaka 48*437bfbebSnyanmisakamacro(add_legacy_test module) 49*437bfbebSnyanmisaka set(test_name ${module}_test) 50*437bfbebSnyanmisaka string(TOUPPER ${test_name} test_tag) 51*437bfbebSnyanmisaka #message(STATUS "moduule : ${module}") 52*437bfbebSnyanmisaka #message(STATUS "test_name : ${test_name}") 53*437bfbebSnyanmisaka #message(STATUS "test_tag : ${test_tag}") 54*437bfbebSnyanmisaka 55*437bfbebSnyanmisaka option(${test_tag} "Build legacy ${module} unit test" ${BUILD_TEST}) 56*437bfbebSnyanmisaka if(${test_tag}) 57*437bfbebSnyanmisaka add_executable(${test_name} ${test_name}.c) 58*437bfbebSnyanmisaka if(ASAN_CHECK) 59*437bfbebSnyanmisaka target_link_libraries(${test_name} ${ASAN_LIB} pthread dl) 60*437bfbebSnyanmisaka else(ASAN_CHECK) 61*437bfbebSnyanmisaka target_link_libraries(${test_name} dl) 62*437bfbebSnyanmisaka endif(ASAN_CHECK) 63*437bfbebSnyanmisaka set_target_properties(${test_name} PROPERTIES FOLDER "test") 64*437bfbebSnyanmisaka install(TARGETS ${test_name} RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}) 65*437bfbebSnyanmisaka endif() 66*437bfbebSnyanmisakaendmacro() 67*437bfbebSnyanmisaka 68*437bfbebSnyanmisaka# legacy vpu_api unit test 69*437bfbebSnyanmisakaadd_legacy_test(vpu_api) 70