mirror of
https://gitlab.freedesktop.org/uchardet/uchardet.git
synced 2025-12-06 08:46:40 +08:00
While the expected charset name is still the first part of the test file (until the first point character), the test name is all but the last part (until the last point character). This will allow to have several test files for a single charset. In particular, I want 2 test files at least for Hebrew when it has a visual and logical variant. So I could call these "ibm862.visual.txt" and "ibm862.logical.txt" which both expect IBM862 as a result charset, but test names will "he:ibm862.visual" and he:ibm862.logical" respectively. Without this change, the test names would collide and CMake would refuse these.
49 lines
1.3 KiB
CMake
49 lines
1.3 KiB
CMake
set(
|
|
UCHARDET_TEST_SOURCES
|
|
uchardet-tests.c
|
|
)
|
|
|
|
add_executable(
|
|
uchardet-tests
|
|
${UCHARDET_TEST_SOURCES}
|
|
)
|
|
|
|
target_link_libraries(
|
|
uchardet-tests
|
|
${UCHARDET_LIBRARY}
|
|
)
|
|
|
|
set_target_properties(
|
|
uchardet-tests
|
|
PROPERTIES
|
|
LINKER_LANGUAGE
|
|
C
|
|
OUTPUT_NAME
|
|
uchardet-tests
|
|
)
|
|
|
|
# Iterate through all langs.
|
|
file(GLOB dirs "[a-z][a-z]")
|
|
foreach(dir ${dirs})
|
|
get_filename_component(lang ${dir} NAME)
|
|
file(GLOB files "${dir}/*")
|
|
# Iterate through all files.
|
|
foreach(file ${files})
|
|
get_filename_component(charset ${file} NAME_WE)
|
|
get_filename_component(testname ${file} NAME_WLE)
|
|
# These are tests known to fail (not supported or not efficient
|
|
# enough). We will have to take a closer look and fix these, but
|
|
# there is no need to break the whole `make test` right now,
|
|
# which may make actual regressions harder to notice.
|
|
if ("${lang}:${charset}" STREQUAL "ja:utf-16le" OR
|
|
"${lang}:${charset}" STREQUAL "ja:utf-16be" OR
|
|
"${lang}:${charset}" STREQUAL "es:iso-8859-15" OR
|
|
"${lang}:${charset}" STREQUAL "da:iso-8859-1" OR
|
|
"${lang}:${charset}" STREQUAL "he:iso-8859-8")
|
|
message(STATUS "Skipping test ${lang}:${charset} (known broken)")
|
|
else()
|
|
add_test(NAME "${lang}:${testname}" COMMAND uchardet-tests ${file})
|
|
endif()
|
|
endforeach()
|
|
endforeach()
|