Add jpylyzer tests for JP2 compression
[openjpeg.git] / tests / nonregression / CMakeLists.txt
index cd068deaaac3ddd19fdcb48ee901dbf4924c4c80..633ed20fb66e8a27966ffeea8b09cf6bc4f9acf5 100644 (file)
@@ -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)
@@ -72,6 +74,9 @@ set(BLACKLIST_JPEG2000
     issue420.jp2 #kdu_jp2info ok
     27ac957758a35d00d6765a0c86350d9c.SIGFPE.d25.537.jpc #kdu_jp2info crash
     3672da2f1f67bbecad27d7181b4e9d7c.SIGFPE.d25.805.jpc #kdu_jp2info crash
+    issue476.jp2 #kdu_jp2info ok
+    issue475.jp2 #kdu_jp2info ok
+    issue413.jp2 #kdu_jp2info ok
    )
 
 file(GLOB_RECURSE OPJ_DATA_NR_LIST
@@ -332,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 "<isValidJP2>True</isValidJP2>"
+                                                               )
+                                                               
+               endif()
+          endif(JPYLYZER_EXECUTABLE)
       endif()
 
     # DECODER TEST SUITE