mirror of
https://invent.kde.org/frameworks/kimageformats.git
synced 2025-05-28 00:30:23 -04:00
Two main tests: read the file and compare to a given image (loaded from png), and write a file out and compare to a previously-written image. The write test in particular is kind of fragile, but it should help catch some errors where a code change was not intended to affect the output of the plugin. Tests are included for all the writable formats, as well as every readable format that GIMP can write to (and so I could easily get an example of). REVIEW: 115430
73 lines
2.0 KiB
CMake
73 lines
2.0 KiB
CMake
#find_package(Qt5Test ${REQUIRED_QT_VERSION} NO_MODULE)
|
|
|
|
include(ECMMarkAsTest)
|
|
|
|
add_definitions(-DPLUGIN_DIR="${CMAKE_CURRENT_BINARY_DIR}/../src")
|
|
remove_definitions(-DQT_NO_CAST_FROM_ASCII)
|
|
|
|
macro(kimageformats_read_tests)
|
|
add_executable(readtest readtest.cpp)
|
|
target_link_libraries(readtest Qt5::Gui)
|
|
target_compile_definitions(readtest
|
|
PRIVATE IMAGEDIR="${CMAKE_CURRENT_SOURCE_DIR}/read")
|
|
ecm_mark_as_test(readtest)
|
|
foreach(_testname ${ARGN})
|
|
add_test(
|
|
NAME kimageformats-read-${_testname}
|
|
COMMAND readtest ${_testname}
|
|
)
|
|
endforeach(_testname)
|
|
endmacro()
|
|
|
|
macro(kimageformats_write_tests)
|
|
add_executable(writetest writetest.cpp)
|
|
target_link_libraries(writetest Qt5::Gui)
|
|
target_compile_definitions(writetest
|
|
PRIVATE IMAGEDIR="${CMAKE_CURRENT_SOURCE_DIR}/write")
|
|
ecm_mark_as_test(writetest)
|
|
foreach(_testname ${ARGN})
|
|
string(REGEX MATCH "-lossless$" _is_lossless "${_testname}")
|
|
unset(lossless_arg)
|
|
if (_is_lossless)
|
|
set(lossless_arg "--lossless")
|
|
string(REGEX REPLACE "-lossless$" "" _testname "${_testname}")
|
|
endif()
|
|
add_test(
|
|
NAME kimageformats-write-${_testname}
|
|
COMMAND writetest ${lossless_arg} ${_testname}
|
|
)
|
|
endforeach(_testname)
|
|
endmacro()
|
|
|
|
# Basic read tests
|
|
# Loads each <format> image in read/<format>/, and compares the
|
|
# result against the data read from the corresponding png file
|
|
kimageformats_read_tests(
|
|
eps
|
|
jp2
|
|
pcx
|
|
pic
|
|
psd
|
|
ras
|
|
rgb
|
|
tga
|
|
xcf
|
|
xv
|
|
)
|
|
|
|
# Basic write tests
|
|
# Loads each png image in write/, writes the data out
|
|
# as a <format> image, and compares the result against the
|
|
# the corresponding <format> file.
|
|
# You can append -lossless to the format to indicate that
|
|
# reading back the image data will result in an identical image.
|
|
kimageformats_write_tests(
|
|
eps
|
|
jp2
|
|
pcx-lossless
|
|
pic-lossless
|
|
rgb-lossless
|
|
tga # fixme: the alpha images appear not to be written properly
|
|
xv
|
|
)
|