xref: /aosp_15_r20/external/flac/test/CMakeLists.txt (revision 600f14f40d737144c998e2ec7a483122d3776fbc)
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