diff --git a/cmake/FindJPYLYZER.cmake b/cmake/FindJPYLYZER.cmake new file mode 100644 index 00000000..4fbbaa85 --- /dev/null +++ b/cmake/FindJPYLYZER.cmake @@ -0,0 +1,12 @@ +# +# this module looks for JPYLYZER +# http://jpylyzer.openpreservation.org +# + +find_program(JPYLYZER_EXECUTABLE + jpylyzer + ) + +mark_as_advanced( + JPYLYZER_EXECUTABLE + ) diff --git a/tests/nonregression/CMakeLists.txt b/tests/nonregression/CMakeLists.txt index f5b7e901..633ed20f 100644 --- a/tests/nonregression/CMakeLists.txt +++ b/tests/nonregression/CMakeLists.txt @@ -13,6 +13,8 @@ set(INPUT_CONF_PATH ${OPJ_DATA_ROOT}/input/conformance) # need kdu_expand if possible find_package(KAKADU) +# need jpylyzer if possible +find_package(JPYLYZER) ######################################################################### # GENERATION OF THE TEST SUITE (DUMP) @@ -335,6 +337,21 @@ foreach(OPJ_TEST_CMD_LINE ${OPJ_TEST_CMD_LINE_LIST}) NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-decode-ref) endif() + + # Test the encoded file is a valid JP2 file + if (JPYLYZER_EXECUTABLE) + if (${OUTPUT_FILENAME} MATCHES "\\.jp2$") + add_test(NAME NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-jpylyser + COMMAND ${JPYLYZER_EXECUTABLE} + ${OUTPUT_FILENAME} + ) + set_tests_properties(NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-jpylyser PROPERTIES + DEPENDS NR-ENC-${INPUT_FILENAME_NAME}-${IT_TEST_ENC}-encode + PASS_REGULAR_EXPRESSION "True" + ) + + endif() + endif(JPYLYZER_EXECUTABLE) endif() # DECODER TEST SUITE