]> granicus.if.org Git - openjpeg/commitdiff
added new decoding/dump tests based on data found in input/nonregresion repository...
authorMickael Savinaud <savmickael@users.noreply.github.com>
Wed, 27 Jul 2011 12:45:04 +0000 (12:45 +0000)
committerMickael Savinaud <savmickael@users.noreply.github.com>
Wed, 27 Jul 2011 12:45:04 +0000 (12:45 +0000)
CHANGES
CMakeLists.txt
applications/codec/CMakeLists.txt
tests/CMakeLists.txt
tests/nonregression/CMakeLists.txt [new file with mode: 0644]

diff --git a/CHANGES b/CHANGES
index 05ee2532b970f84d9886f4c46748a6d2f01cb0bc..a57b0fba772f14c1352b5aefca0760b9e6607779 100644 (file)
--- a/CHANGES
+++ b/CHANGES
@@ -5,6 +5,9 @@ What's New for OpenJPEG
 ! : changed
 + : added
 
+July 27, 2011
+! [mickael] added new decoding/dump tests based on data found in input/nonregresion repository (remove JPEG2000_CONFORMANCE_DATA_ROOT variable, add REF_DECODER_BIN_PATH variable for the encoder test suite). Remove definitively old tests. 
+
 July 26, 2011
 ! [mickael] delete double semi-colon at end of line which generate crash on win platform
 ! [mickael] use ansi c function fgets instead of GNU function getline to avoid build error with win platform
index 4fcbca9ce18bff3dbe4de64ba8c21529723de618..de047b789719b708b265f0a8cae1490b043a007e 100644 (file)
@@ -250,25 +250,15 @@ IF(BUILD_TESTING)
     # svn checkout http://openjpeg.googlecode.com/svn/data (about 70 Mo) 
     FIND_PATH(OPJ_DATA_ROOT README-OPJ-Data 
               PATHS $ENV{OPJ_DATA_ROOT} ${CMAKE_SOURCE_DIR}/../opj-data)
+              
+    SET (REF_DECODER_BIN_PATH "NOT-FOUND" CACHE PATH "Single directory where find the reference encoder binaries to enable encoding test suite.")
+    MARK_AS_ADVANCED(REF_DECODER_BIN_PATH)
+          
   ELSE(BUILD_CODEC)
     message(FATAL_ERROR "You need build codec to run the tests")
   ENDIF(BUILD_CODEC)
 ENDIF(BUILD_TESTING)
 
-#-----------------------------------------------------------------------------
-# Tests data
-IF(BUILD_TESTING)
-# Adding test with dataset from:
-# http://www.openjpeg.org/conformance/j2kp4files_v1_5.zip
-# -> wget http://www.openjpeg.org/conformance/j2kp4files_v1_5.zip
-# http://www.jpeg.org/jpeg2000guide/testimages/testimages.html
-# Adding JPEG2000_CONFORMANCE_DATA_ROOT
-FIND_PATH(JPEG2000_CONFORMANCE_DATA_ROOT testimages.html
-  ${OPENJPEG_SOURCE_DIR}/../jpeg2000testimages
-  $ENV{JPEG2000_CONFORMANCE_DATA_ROOT}
-)
-ENDIF(BUILD_TESTING)
-
 #-----------------------------------------------------------------------------
 # install all targets referenced as OPENJPEGTargets
 INSTALL(EXPORT OpenJPEGTargets DESTINATION ${OPENJPEG_INSTALL_PACKAGE_DIR})
index f56ee0b556cf5b92a1fed09ae458b4c8e2f4197a..8c1d3c25ac9414b7aa16dd85b5333d39dafb43c1 100644 (file)
@@ -39,9 +39,6 @@ FOREACH(exe j2k_to_image image_to_j2k j2k_dump)
   TARGET_LINK_LIBRARIES(${exe} ${OPENJPEG_LIBRARY_NAME} 
 ${Z_LIBNAME} ${PNG_LIBNAME} ${TIFF_LIBNAME} ${LCMS_LIBNAME} )
 
-  ADD_TEST(${exe} ${EXECUTABLE_OUTPUT_PATH}/${exe})
-  # calling those exe without option will make them fail always:
-  SET_TESTS_PROPERTIES(${exe} PROPERTIES WILL_FAIL TRUE)
   # On unix you need to link to the math library:
   IF(UNIX)
     TARGET_LINK_LIBRARIES(${exe} m)
@@ -99,40 +96,4 @@ IF(BUILD_JPWL)
   INSTALL(TARGETS JPWL_image_to_j2k JPWL_j2k_to_image
     DESTINATION ${OPENJPEG_INSTALL_BIN_DIR} COMPONENT Applications
   )
-ENDIF(BUILD_JPWL)
-
-#if(BUILD_TESTING)
-## Do testing here, once we know the examples are being built:
-#FILE(GLOB_RECURSE OPENJPEG_DATA_IMAGES_GLOB
-#  "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.j2k"
-#  "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.j2c"
-#  "${JPEG2000_CONFORMANCE_DATA_ROOT}/*.jp2"
-#  )
-
-#foreach(filename ${OPENJPEG_DATA_IMAGES_GLOB})
-#  get_filename_component(filename_temp ${filename} NAME)
-#  get_filename_component(filename_ext ${filename} EXT)
-#  execute_process(COMMAND ${EXECUTABLE_OUTPUT_PATH}/j2k_dump -i ${filename}
-#    OUTPUT_VARIABLE dump_success
-#    OUTPUT_FILE ${CMAKE_CURRENT_BINARY_DIR}/${filename_temp}.dump
-#    ERROR_QUIET
-#  )
-#  if(dump_success)
-#  file(READ ${CMAKE_CURRENT_BINARY_DIR}/${filename_temp}.dump numcomp_file)
-#  string(REGEX REPLACE ".*numcomps=([0-9]+).*" "\\1"
-#    numcomps "${numcomp_file}")
-#  #message( "found:${output_variable} for ${filename_temp}" )
-#  endif()
-#  ADD_TEST(dump-${filename_temp} ${EXECUTABLE_OUTPUT_PATH}/j2k_dump -i ${filename})
-#  foreach(codec_type ppm pgx bmp tif raw tga png)
-#    ADD_TEST(j2i-${filename_temp}-${codec_type} ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image -i ${filename} -o ${filename_temp}.${codec_type})
-#  endforeach(codec_type)
-#  foreach(codec_type ppm bmp tif tga png)
-#    ADD_TEST(i2j-${filename_temp}-${codec_type} ${EXECUTABLE_OUTPUT_PATH}/image_to_j2k -i ${filename_temp}.${codec_type} -o ${filename_temp}.${codec_type}${filename_ext})
-#    SET_TESTS_PROPERTIES(i2j-${filename_temp}-${codec_type} PROPERTIES DEPENDS j2i-${filename_temp}-${codec_type})
-#    #if(UNIX)
-#    #  ADD_TEST(cmp-${filename_temp}-${codec_type} cmp ${filename} ${filename_temp}.${codec_type}${filename_ext})
-#    #endif(UNIX)
-#  endforeach(codec_type)
-#endforeach(filename)
-#endif(BUILD_TESTING)
+ENDIF(BUILD_JPWL)
\ No newline at end of file
index 5021dca1395044bf7b62554c8c960ac36ece3e4c..ec93702326e73fcda3dccfee7f4c539fe574fd8d 100644 (file)
@@ -42,3 +42,4 @@ IF(NOT HAVE_LIBPNG)
 ENDIF(NOT HAVE_LIBPNG)
 
 ADD_SUBDIRECTORY(conformance)
+ADD_SUBDIRECTORY(nonregression)
\ No newline at end of file
diff --git a/tests/nonregression/CMakeLists.txt b/tests/nonregression/CMakeLists.txt
new file mode 100644 (file)
index 0000000..18e5724
--- /dev/null
@@ -0,0 +1,55 @@
+# NON-REGRESSION TESTS ON THIS DATASET LOCATED ${OPJ_DATA_ROOT}/input/nonregression
+
+FILE(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Temporary)
+
+SET(TEMP ${CMAKE_CURRENT_BINARY_DIR}/Temporary)
+SET(BASELINE_NR ${OPJ_DATA_ROOT}/baseline/nonregression)
+SET(INPUT_NR ${OPJ_DATA_ROOT}/input/nonregression)
+
+FILE(GLOB_RECURSE OPJ_DATA_NR_LIST
+  "${INPUT_NR}/*.j2k"
+  "${INPUT_NR}/*.j2c"
+  "${INPUT_NR}/*.jp2"
+  )
+
+FOREACH(filepath ${OPJ_DATA_NR_LIST})
+  GET_FILENAME_COMPONENT(filename ${filepath} NAME)
+  GET_FILENAME_COMPONENT(filenameSub ${filename} NAME_WE)
+  message("${filenameSub}")
+  
+  ADD_TEST(NR-${filename}-dump
+      ${EXECUTABLE_OUTPUT_PATH}/j2k_dump
+     -i ${filepath}
+     -o ${TEMP}/${filename}.txt
+     )
+     
+  ADD_TEST(NR-${filename}-compare_dump2base
+      ${EXECUTABLE_OUTPUT_PATH}/compare_dump_files
+     -b ${BASELINE_NR}/opj_${filenameSub}.txt
+     -t ${TEMP}/${filename}.txt
+     )
+     
+  SET_TESTS_PROPERTIES(NR-${filename}-compare_dump2base  
+                       PROPERTIES DEPENDS 
+                       NR-${filename}-dump)     
+   
+  ADD_TEST(NR-${filename}-decode
+      ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image 
+      -i ${filepath}
+      -o ${TEMP}/${filename}.pgx
+      )
+      
+#  ADD_TEST(NR-${filename}-compare2base
+#      ${EXECUTABLE_OUTPUT_PATH}/comparePGXimages
+#     -b ${BASELINE_NR}/opj_${filenameRef}
+#     -t ${TEMP}/${filename}.pgx
+#     -n ${nbComponents}
+#     -d 
+#     -s b_t_
+#     )
+#
+#  SET_TESTS_PROPERTIES(NR-${filename}-compare2base  
+#                       PROPERTIES DEPENDS 
+#                       NR-${filename}-decode)    
+  
+ENDFOREACH(filepath)
\ No newline at end of file