# Copyright (c) 2014 Mathieu Malaterre # # Redistribution and use is allowed according to the terms of the New # BSD license. # For details see the accompanying COPYING-CMAKE-SCRIPTS file. # check md5 refs # # This script will be used to make sure we never introduce a regression on any # of the nonregression file. # # The approach is relatively simple, we compute a md5sum for each of the decode # file. Anytime the md5sum is different from the reference one, we assume # something went wrong and simply fails. of course if could happen during the # course of openjpeg development that the internals are changed that impact the # 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}") execute_process( COMMAND ${CMAKE_COMMAND} -E md5sum ${FILENAME}.png WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/Temporary RESULT_VARIABLE res OUTPUT_VARIABLE output ERROR_VARIABLE error_output OUTPUT_STRIP_TRAILING_WHITESPACE # important ) # Pass the output back to ctest if(res) message(SEND_ERROR "md5 could not be computed, it failed with value ${res}. Output was: ${error_output}") endif() #message("3: ${output}") file(READ ${REFFILE} variable) #message("4: ${variable}") string(REGEX MATCH "^.*${FILENAME}.png" output_var ${variable}) #message("5: ${output_var}") if("${output_var}" STREQUAL "${output}") #message("6: eqal") else() message(SEND_ERROR "not equal: [${output_var}] vs [${output}]") endif()