From 3a44c91ea3dbe7e7e0ce1d7d941992ac928d8d4c Mon Sep 17 00:00:00 2001 From: Mathieu Malaterre Date: Tue, 22 Jun 2010 19:06:01 +0000 Subject: [PATCH] add more test. prevent segfault --- codec/CMakeLists.txt | 12 ++++++++++++ codec/j2k_dump.c | 5 +++++ 2 files changed, 17 insertions(+) diff --git a/codec/CMakeLists.txt b/codec/CMakeLists.txt index ebd7e1a8..0e9ed463 100644 --- a/codec/CMakeLists.txt +++ b/codec/CMakeLists.txt @@ -69,6 +69,18 @@ FILE(GLOB_RECURSE OPENJPEG_DATA_IMAGES_GLOB 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) ADD_TEST(j2i-${filename_temp}-${codec_type} ${EXECUTABLE_OUTPUT_PATH}/j2k_to_image -i ${filename} -o ${filename_temp}.${codec_type}) 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}) diff --git a/codec/j2k_dump.c b/codec/j2k_dump.c index 4a9b4b58..52c6b942 100644 --- a/codec/j2k_dump.c +++ b/codec/j2k_dump.c @@ -455,6 +455,11 @@ int main(int argc, char *argv[]) // return EXIT_FAILURE; //} /* dump image */ + if(!image) + { + fprintf(stderr, "ERROR -> j2k_to_image: failed to read header\n"); + return EXIT_FAILURE; + } j2k_dump_image(stdout, image); /* dump cp */