Merge pull request #552 from mayeut/jpylyzer
authorMatthieu Darbois <mayeut@users.noreply.github.com>
Thu, 30 Jul 2015 16:13:15 +0000 (18:13 +0200)
committerMatthieu Darbois <mayeut@users.noreply.github.com>
Thu, 30 Jul 2015 16:13:15 +0000 (18:13 +0200)
Add jpylyzer tests for JP2 compression

cmake/FindJPYLYZER.cmake [new file with mode: 0644]
tests/nonregression/CMakeLists.txt

diff --git a/cmake/FindJPYLYZER.cmake b/cmake/FindJPYLYZER.cmake
new file mode 100644 (file)
index 0000000..4fbbaa8
--- /dev/null
@@ -0,0 +1,12 @@
+#
+# this module looks for JPYLYZER
+# http://jpylyzer.openpreservation.org
+#
+
+find_program(JPYLYZER_EXECUTABLE
+  jpylyzer
+  )
+
+mark_as_advanced(
+  JPYLYZER_EXECUTABLE
+  )
index f5b7e90198726de1aa29107bc6e2321be4b51d4c..ab90f03b0b17794bbf6bcd04dcc0b202318ff725 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)
@@ -335,6 +337,20 @@ 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