summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMickael Savinaud <savmickael@users.noreply.github.com>2011-07-27 12:45:04 +0000
committerMickael Savinaud <savmickael@users.noreply.github.com>2011-07-27 12:45:04 +0000
commitf88a57e5d79e36117dd96309dbfe55f654584653 (patch)
treeaa3a566b2657135af26d4007ef597637cd372868
parent1776120dba3610c83a27602dbcf6fcf9a9fa5d7d (diff)
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
-rw-r--r--CHANGES3
-rw-r--r--CMakeLists.txt18
-rw-r--r--applications/codec/CMakeLists.txt41
-rw-r--r--tests/CMakeLists.txt1
-rw-r--r--tests/nonregression/CMakeLists.txt55
5 files changed, 64 insertions, 54 deletions
diff --git a/CHANGES b/CHANGES
index 05ee2532..a57b0fba 100644
--- 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
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4fcbca9c..de047b78 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -250,26 +250,16 @@ 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})
CONFIGURE_FILE( ${OPENJPEG_SOURCE_DIR}/CMake/OpenJPEGConfig.cmake.in
diff --git a/applications/codec/CMakeLists.txt b/applications/codec/CMakeLists.txt
index f56ee0b5..8c1d3c25 100644
--- a/applications/codec/CMakeLists.txt
+++ b/applications/codec/CMakeLists.txt
@@ -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
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
index 5021dca1..ec937023 100644
--- a/tests/CMakeLists.txt
+++ b/tests/CMakeLists.txt
@@ -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
index 00000000..18e57244
--- /dev/null
+++ b/tests/nonregression/CMakeLists.txt
@@ -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