From 68398b2a5ac7505d608adc4f45e128a87bab9ce7 Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Thu, 13 Mar 2014 12:37:36 +0000 Subject: [PATCH] [trunk] Add documentation to the checkmd5refs cmake module (used for regression testing) --- tests/nonregression/CMakeLists.txt | 1 - tests/nonregression/checkmd5refs.cmake | 30 +++++++++++++------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/tests/nonregression/CMakeLists.txt b/tests/nonregression/CMakeLists.txt index f21a0908..51664256 100644 --- a/tests/nonregression/CMakeLists.txt +++ b/tests/nonregression/CMakeLists.txt @@ -319,7 +319,6 @@ foreach(OPJ_TEST_CMD_LINE ${OPJ_TEST_CMD_LINE_LIST}) # if not failed, check against registered md5: add_test(NAME NR-DEC-${INPUT_FILENAME_NAME}-${IT_TEST_DEC}-decode-md5 COMMAND ${CMAKE_COMMAND} -DREFFILE:STRING=${CMAKE_CURRENT_SOURCE_DIR}/md5refs.txt - -DFILENAME:STRING=${INPUT_FILENAME_NAME} -DOUTFILENAME:STRING=${OUTPUT_FILENAME} -P ${CMAKE_CURRENT_SOURCE_DIR}/checkmd5refs.cmake) diff --git a/tests/nonregression/checkmd5refs.cmake b/tests/nonregression/checkmd5refs.cmake index f94d7c09..d6198af0 100644 --- a/tests/nonregression/checkmd5refs.cmake +++ b/tests/nonregression/checkmd5refs.cmake @@ -16,29 +16,32 @@ # decoding process that the output would be bitwise different (while PSNR would # be kept identical). -#message("0: ${REFFILE}") -#message("1: ${CMAKE_CURRENT_BINARY_DIR}") -#message("2: ${FILENAME}") -#get_filename_component(pgxfile ${pgxfullpath} NAME) +# Another more conventional approach is to store the generated output from +# openjpeg however storing the full generated output is generally useless since +# we do not really care about the exact pixel value, we simply need to known +# when a code change impact output generation. furthermore storing the +# complete generated output file, tends to make the svn:/openjpeg-data really +# big. + +# This script expect two inputs +# REFFILE: Path to the md5sum.txt file +# OUTFILENAME: The name of the generated file we want to check The script will +# check whether a PGX or a PNG file was generated in the test suite (computed +# from OUTFILENAME) + get_filename_component(OUTFILENAME_NAME ${OUTFILENAME} NAME) string(FIND ${OUTFILENAME_NAME} "." SHORTEST_EXT_POS REVERSE) string(SUBSTRING ${OUTFILENAME_NAME} 0 ${SHORTEST_EXT_POS} OUTFILENAME_NAME_WE) -#message("3: ${OUTFILENAME_NAME}") -#message("4: ${OUTFILENAME_NAME_WE}") -#file(GLOB globfiles "Temporary/${FILENAME}*.pgx" "Temporary/${FILENAME}*.png") file(GLOB globfiles "Temporary/${OUTFILENAME_NAME_WE}*.pgx" "Temporary/${OUTFILENAME_NAME_WE}*.png") -#message("6: ${globfiles}") if(NOT globfiles) message(SEND_ERROR "Could not find output PGX files: ${OUTFILENAME_NAME_WE}") endif() -# REFFILE follow what md5sum -c would expect as input: +# REFFILE follow what `md5sum -c` would expect as input: file(READ ${REFFILE} variable) -#string(REGEX REPLACE "\r?\n" ";" variable "${variable}") foreach(pgxfullpath ${globfiles}) get_filename_component(pgxfile ${pgxfullpath} NAME) - #message("8: ${pgxfile}") execute_process( COMMAND ${CMAKE_COMMAND} -E md5sum ${pgxfile} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Temporary @@ -52,14 +55,11 @@ foreach(pgxfullpath ${globfiles}) if(res) message(SEND_ERROR "md5 could not be computed, it failed with value ${res}. Output was: ${error_output}") endif() - #message("3: ${output}") - #message("4: ${variable}") string(REGEX MATCH "[0-9a-f]+ ${pgxfile}" output_var "${variable}") - #message("5: ${output_var}") if("${output_var}" STREQUAL "${output}") - #message("6: eqal") + message(STATUS "equal: [${output_var}] vs [${output}]") else() message(SEND_ERROR "not equal: [${output_var}] vs [${output}]") endif()