1*600f14f4SXin Liif(WIN32) 2*600f14f4SXin Li set(EXEEXT .exe) 3*600f14f4SXin Liendif() 4*600f14f4SXin Li 5*600f14f4SXin Liif(NOT UNIX) 6*600f14f4SXin Li find_program(BUSYBOX_EXE busybox) 7*600f14f4SXin Li if(NOT BUSYBOX_EXE) 8*600f14f4SXin Li message(STATUS "Could NOT find busybox, only basic tests are enabled") 9*600f14f4SXin Li add_test(NAME libFLAC 10*600f14f4SXin Li COMMAND $<TARGET_FILE:test_libFLAC> 11*600f14f4SXin Li WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) 12*600f14f4SXin Li if(BUILD_CXXLIBS) 13*600f14f4SXin Li add_test(NAME libFLAC++ 14*600f14f4SXin Li COMMAND $<TARGET_FILE:test_libFLAC++> 15*600f14f4SXin Li WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) 16*600f14f4SXin Li endif() 17*600f14f4SXin Li if(BUILD_PROGRAMS) 18*600f14f4SXin Li add_test(NAME flac_help 19*600f14f4SXin Li COMMAND $<TARGET_FILE:flacapp> --help 20*600f14f4SXin Li WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) 21*600f14f4SXin Li add_test(NAME flac_utf8_test COMMAND $<TARGET_FILE:flacapp> -t 22*600f14f4SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/שלום.flac" 23*600f14f4SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/Prøve.flac" 24*600f14f4SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/.flac") 25*600f14f4SXin Li add_test(NAME metaflac_help 26*600f14f4SXin Li COMMAND $<TARGET_FILE:metaflac> --help 27*600f14f4SXin Li WORKING_DIRECTORY ${CMAKE_BINARY_DIR}) 28*600f14f4SXin Li endif() 29*600f14f4SXin Li return() 30*600f14f4SXin Li else() 31*600f14f4SXin Li set(BUSYBOX_CMD "sh") 32*600f14f4SXin Li endif() 33*600f14f4SXin Liendif() 34*600f14f4SXin Li 35*600f14f4SXin Liset(top_srcdir "${PROJECT_SOURCE_DIR}") 36*600f14f4SXin Liset(top_builddir "${PROJECT_BINARY_DIR}") 37*600f14f4SXin Liif(NOT GIT_COMMIT_TAG AND GIT_COMMIT_HASH AND GIT_COMMIT_DATE) 38*600f14f4SXin Li set(GIT_COMMIT_VERSION_HASH yes) 39*600f14f4SXin Liendif() 40*600f14f4SXin Li 41*600f14f4SXin Liconfigure_file(common.sh.in common.sh @ONLY) 42*600f14f4SXin Li 43*600f14f4SXin Liset(ALL_TESTS libFLAC grabbag) 44*600f14f4SXin Li 45*600f14f4SXin Liadd_test(NAME libFLAC 46*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_libFLAC.sh" 47*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 48*600f14f4SXin Liif(BUILD_CXXLIBS) 49*600f14f4SXin Li add_test(NAME libFLAC++ 50*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_libFLAC++.sh" 51*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 52*600f14f4SXin Li list(APPEND ALL_TESTS libFLAC++) 53*600f14f4SXin Li set_tests_properties(libFLAC++ PROPERTIES DEPENDS libFLAC) 54*600f14f4SXin Liendif() 55*600f14f4SXin Lifile(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/cuesheets") 56*600f14f4SXin Liadd_test(NAME grabbag 57*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_grabbag.sh" 58*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 59*600f14f4SXin Liif(BUILD_PROGRAMS) 60*600f14f4SXin Li add_test(NAME generate_streams 61*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/generate_streams.sh" 62*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 63*600f14f4SXin Li add_test(NAME flac 64*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_flac.sh" 65*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 66*600f14f4SXin Li # UTF-8 must be tested separately on Windows because busybox-w32 doesn't support UTF-8 67*600f14f4SXin Li if(BUSYBOX_EXE) 68*600f14f4SXin Li add_test(NAME flac_utf8_test COMMAND $<TARGET_FILE:flacapp> -t 69*600f14f4SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/שלום.flac" 70*600f14f4SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/Prøve.flac" 71*600f14f4SXin Li "${CMAKE_CURRENT_SOURCE_DIR}/flac-to-flac-metadata-test-files/.flac") 72*600f14f4SXin Li list(APPEND ALL_TESTS flac_utf8_test) 73*600f14f4SXin Li endif() 74*600f14f4SXin Li file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/metaflac-test-files") 75*600f14f4SXin Li add_test(NAME metaflac 76*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_metaflac.sh" 77*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 78*600f14f4SXin Li add_test(NAME replaygain 79*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_replaygain.sh" 80*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 81*600f14f4SXin Li add_test(NAME seeking 82*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_seeking.sh" 83*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 84*600f14f4SXin Li add_test(NAME streams 85*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_streams.sh" 86*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 87*600f14f4SXin Li # increase this if standard 1500 seconds are not enough 88*600f14f4SXin Li # set_tests_properties(streams PROPERTIES TIMEOUT 1500) 89*600f14f4SXin Li add_test(NAME compression 90*600f14f4SXin Li COMMAND ${BUSYBOX_EXE} ${BUSYBOX_CMD} "${CMAKE_CURRENT_SOURCE_DIR}/test_compression.sh" 91*600f14f4SXin Li WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}") 92*600f14f4SXin Li set_tests_properties(flac metaflac replaygain seeking streams compression PROPERTIES DEPENDS generate_streams) 93*600f14f4SXin Li list(APPEND ALL_TESTS generate_streams flac metaflac replaygain seeking streams compression) 94*600f14f4SXin Liendif() 95*600f14f4SXin Li 96*600f14f4SXin Li 97*600f14f4SXin Liset_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT FLAC__TEST_LEVEL=1) 98*600f14f4SXin Liif(BUSYBOX_EXE) 99*600f14f4SXin Li set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT ECHO_N=-n) 100*600f14f4SXin Li set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT WIN32BUSYBOX=yes) 101*600f14f4SXin Lielse() 102*600f14f4SXin Li set_property(TEST ${ALL_TESTS} APPEND PROPERTY ENVIRONMENT ECHO_C=\\c) 103*600f14f4SXin Liendif() 104