1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358
|
# Define the tests for Media Storage and File Format
# MSFF
set(MSFF_TEST_SRCS
TestAnonymizer.cxx
TestAnonymizer4.cxx
TestDataSetHelper.cxx
TestEquipmentManufacturer.cxx
TestFileChangeTransferSyntax1.cxx
TestFileChangeTransferSyntax2.cxx
TestFileChangeTransferSyntax3.cxx
TestFileChangeTransferSyntax4.cxx
TestFileStreamer1.cxx
TestFileStreamer2.cxx
TestFileStreamer3.cxx
TestFileStreamer4.cxx
TestFileStreamer5.cxx
TestFileStreamer6.cxx
TestFileAnonymizer1.cxx
TestFileAnonymizer2.cxx
TestFileAnonymizer3.cxx
TestFileAnonymizer4.cxx
TestIconImageFilter.cxx
#TestIconImageGenerator.cxx
#TestIconImageGenerator2.cxx
#TestIconImageGenerator3.cxx
#TestIconImageGenerator4.cxx
TestParseXPATH.cxx
TestValidate.cxx
TestAnonymizeEvent.cxx
TestFileDerivation.cxx
TestSegmentedPaletteColorLookupTable.cxx
TestPNMCodec.cxx
TestSpacing.cxx
TestSerieHelper.cxx
TestFileExplicitFilter.cxx
TestImageFragmentSplitter.cxx
TestTagPath.cxx
TestDPath.cxx
TestOrientation.cxx
TestIconImage.cxx
TestImageHelper.cxx
TestImageHelper3.cxx
TestImageToImageFilter.cxx
TestImageChangeTransferSyntax1.cxx
#TestImageChangePhotometricInterpretation.cxx
#TestImageChangePhotometricInterpretation2.cxx # does not compile on mingw...
TestImageChangeTransferSyntax2.cxx
TestImageChangeTransferSyntax3.cxx
TestImageChangeTransferSyntax4.cxx
# see below
TestImageChangeTransferSyntax6.cxx
TestImageChangeTransferSyntax7.cxx
TestImageApplyLookupTable.cxx
TestFileDecompressLookupTable.cxx
TestImageChangePlanarConfiguration.cxx
TestCoder.cxx
TestDecoder.cxx
TestRescaler1.cxx
TestRescaler2.cxx
TestDumper.cxx
TestDictPrinter.cxx
TestApplicationEntity.cxx
TestStringFilter1.cxx
TestStringFilter2.cxx
TestStringFilter3.cxx
TestStringFilter4.cxx
TestUIDGenerator.cxx
TestUUIDGenerator.cxx
#TestUIDGenerator3.cxx
TestXMLPrinter.cxx
TestPrinter1.cxx
TestPrint.cxx
TestSorter.cxx
TestImageReader.cxx
TestStreamImageReader.cxx
TestImageRegionReader1.cxx
TestImageRegionReader2.cxx
TestImageRegionReader3.cxx
#TestStreamImageWriter.cxx
TestImageReaderRandomEmpty.cxx
TestDirectionCosines.cxx
TestImageWriter.cxx
TestCodec.cxx
TestPDFCodec.cxx
TestRLECodec.cxx
TestAudioCodec.cxx
TestImage.cxx
TestPhotometricInterpretation.cxx
TestLookupTable.cxx
TestOverlay.cxx
TestOverlay3.cxx
TestCurve.cxx
TestCurve2.cxx
TestPixelFormat.cxx
TestPersonName.cxx
TestImageCodec.cxx
TestImageConverter.cxx
TestJPEGCodec.cxx
TestRAWCodec.cxx
TestDICOMDIR.cxx
TestWaveform.cxx
TestFiducials.cxx
TestEncapsulatedDocument.cxx
TestSpectroscopy.cxx
TestSurfaceWriter.cxx
TestSurfaceWriter2.cxx
)
if(GDCM_DATA_ROOT)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestCleaner1.cxx
TestCleaner2.cxx
TestCleaner3.cxx
TestCleaner4.cxx
TestSplitMosaicFilter3.cxx
TestStrictScanner1.cxx
TestStrictScanner2_1.cxx
TestStrictScanner2.cxx
TestStrictScanner2_2.cxx
TestScanner1.cxx
TestScanner2_1.cxx
TestScanner2.cxx
TestScanner2_2.cxx
TestImageHelper2.cxx
TestPrinter2.cxx
TestIPPSorter.cxx
TestIPPSorter2.cxx
TestIPPSorter3.cxx
TestCopyDataSet.cxx
TestDataElementValueAsSQ.cxx
TestImageWriter2.cxx
TestDICOMDIRGenerator1.cxx # Must be after TestImageChangeTransferSyntax4
TestDICOMDIRGenerator2.cxx # Must be after TestImageChangeTransferSyntax4
)
# Those tests requires that openssl be linked in:
if(GDCM_USE_SYSTEM_OPENSSL)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestAnonymizer2.cxx
TestAnonymizer3.cxx
)
endif()
if(GDCM_USE_SYSTEM_JSON)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestJSON1.cxx
)
endif()
endif()
# gdcmDataExtra
if(GDCM_DATA_EXTRA_ROOT)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestSplitMosaicFilter.cxx
TestSplitMosaicFilter2.cxx
TestOverlay2.cxx
TestImageRegionReader4.cxx
)
endif()
if(GDCM_USE_JPEGLS)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestImageChangeTransferSyntax5.cxx
)
endif()
if(GDCM_HAVE_PTHREAD_H)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestUIDGenerator2.cxx
)
endif()
if(GDCM_PIXEL_SPACING_DATA_ROOT)
set(MSFF_TEST_SRCS
${MSFF_TEST_SRCS}
TestImageReaderPixelSpacing.cxx
)
endif()
# Add the include paths
include_directories(
"${GDCM_BINARY_DIR}/Source/Common"
"${GDCM_SOURCE_DIR}/Source/Common"
"${GDCM_SOURCE_DIR}/Testing/Source/Data"
"${GDCM_BINARY_DIR}/Testing/Source/Data"
"${GDCM_SOURCE_DIR}/Source/DataStructureAndEncodingDefinition"
"${GDCM_SOURCE_DIR}/Source/DataDictionary"
"${GDCM_SOURCE_DIR}/Source/MediaStorageAndFileFormat"
)
create_test_sourcelist(MSFFTests gdcmMSFFTests.cxx ${MSFF_TEST_SRCS}
EXTRA_INCLUDE gdcmTestDriver.h
)
add_executable(gdcmMSFFTests ${MSFFTests})
target_link_libraries(gdcmMSFFTests gdcmMSFF)
if(GDCM_HAVE_PTHREAD_H)
target_link_libraries(gdcmMSFFTests pthread)
endif()
# Loop over files and create executables
foreach(name ${MSFF_TEST_SRCS})
get_filename_component(testname ${name} NAME_WE)
add_test(NAME ${testname} COMMAND gdcmMSFFTests ${testname})
endforeach()
if(GDCM_DATA_ROOT)
set_tests_properties(TestDICOMDIRGenerator2 PROPERTIES WILL_FAIL ON)
endif()
# We can only run the dcmtk cross-checking test *only* after all the tests have run
# in particular once the TestWriter is done.
foreach(filename ${gdcm_data_filenames_glob})
get_filename_component(filename_name ${filename} NAME)
string(REGEX MATCH ${filename_name} bad_dicom ${black_list_reader})
if(NOT bad_dicom)
if(GDCM_TEST_DCMTK)
if(DCMTK_DCMDUMP_EXECUTABLE)
# -M : load short tags
# -dc: disable correction
add_test(NAME "DCMDUMP-${filename_name}" COMMAND ${DCMTK_DCMDUMP_EXECUTABLE} -M -dc
"${GDCM_TEMP_DIRECTORY}/TestWriter/${filename_name}")
endif()
endif()
endif()
endforeach()
# Repeat for dcdump
foreach(filename ${gdcm_data_filenames_glob})
get_filename_component(filename_name ${filename} NAME)
string(REGEX MATCH ${filename_name} bad_dicom ${black_list_reader})
if(NOT bad_dicom)
if(GDCM_TEST_DICOM3TOOLS)
if(DCDUMP_EXECUTABLE)
add_test(NAME "DCDUMP-${filename_name}" COMMAND "${DCDUMP_EXECUTABLE}"
"${GDCM_TEMP_DIRECTORY}/TestWriter/${filename_name}")
endif()
endif()
endif()
endforeach()
# There is a new test that compress all images using the jpeg compression alg:
# try to decompress them with dcmtk:
file(MAKE_DIRECTORY "${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax/dcmdjpeg/")
foreach(filename ${gdcm_data_filenames_glob})
get_filename_component(filename_name ${filename} NAME)
string(REGEX MATCH ${filename_name} bad_dicom ${black_list_reader})
if(NOT bad_dicom)
if(GDCM_TEST_DCMTK)
if(DCMTK_DCMDJPEG_EXECUTABLE)
add_test(NAME "DCMDJPEG-${filename_name}" COMMAND ${DCMTK_DCMDJPEG_EXECUTABLE}
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax/${filename_name}"
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax/dcmdjpeg/${filename_name}")
# Special handling of the DICOMDIR files:
string(REGEX MATCH ${filename_name} is_dicomdir ${gdcm_data_dicomdir_filenames_glob})
if(is_dicomdir)
#message("IS DICOMDIR ${filename_name}")
set_tests_properties("DCMDJPEG-${filename_name}" PROPERTIES WILL_FAIL TRUE)
endif()
endif()
endif()
endif()
endforeach()
file(MAKE_DIRECTORY "${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax2/dcmdjp2k/")
foreach(filename ${gdcm_data_filenames_glob})
get_filename_component(filename_name ${filename} NAME)
string(REGEX MATCH ${filename_name} bad_dicom ${black_list_reader})
if(NOT bad_dicom)
if(GDCM_TEST_DCMTK)
if(DCMTK_DCMDJP2K_EXECUTABLE)
add_test(NAME "DCMDJP2K-${filename_name}" COMMAND ${DCMTK_DCMDJP2K_EXECUTABLE}
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax2/${filename_name}"
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax2/dcmdjp2k/${filename_name}")
# Special handling of the DICOMDIR files:
string(REGEX MATCH ${filename_name} is_dicomdir ${gdcm_data_dicomdir_filenames_glob})
if(is_dicomdir)
#message("IS DICOMDIR ${filename_name}")
set_tests_properties("DCMDJP2K-${filename_name}" PROPERTIES WILL_FAIL TRUE)
endif()
#
endif()
endif()
endif()
endforeach()
file(MAKE_DIRECTORY "${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax3/dcmdrle/")
foreach(filename ${gdcm_data_filenames_glob})
get_filename_component(filename_name ${filename} NAME)
string(REGEX MATCH ${filename_name} bad_dicom ${black_list_reader})
if(NOT bad_dicom)
if(GDCM_TEST_DCMTK)
if(DCMTK_DCMDRLE_EXECUTABLE)
add_test(NAME "DCMDRLE-${filename_name}" COMMAND ${DCMTK_DCMDRLE_EXECUTABLE}
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax3/${filename_name}"
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax3/dcmdrle/${filename_name}")
# Special handling of the DICOMDIR files:
string(REGEX MATCH ${filename_name} is_dicomdir ${gdcm_data_dicomdir_filenames_glob})
if(is_dicomdir)
#message("IS DICOMDIR ${filename_name}")
set_tests_properties("DCMDRLE-${filename_name}" PROPERTIES WILL_FAIL TRUE)
endif()
#
endif()
endif()
endif()
endforeach()
file(MAKE_DIRECTORY "${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax5/dcmdjpls/")
foreach(filename ${gdcm_data_filenames_glob})
get_filename_component(filename_name ${filename} NAME)
string(REGEX MATCH ${filename_name} bad_dicom ${black_list_reader})
if(NOT bad_dicom)
if(GDCM_TEST_DCMTK)
if(DCMTK_DCMDJPLS_EXECUTABLE)
#if(EXISTS "${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax5/${filename_name}")
add_test(NAME "DCMDJPLS-${filename_name}" COMMAND ${DCMTK_DCMDJPLS_EXECUTABLE}
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax5/${filename_name}"
"${GDCM_TEMP_DIRECTORY}/TestImageChangeTransferSyntax5/dcmdjpls/${filename_name}")
# Special handling of the DICOMDIR files:
string(REGEX MATCH ${filename_name} is_dicomdir ${gdcm_data_dicomdir_filenames_glob})
if(is_dicomdir)
#message("IS DICOMDIR ${filename_name}")
set_tests_properties("DCMDJPLS-${filename_name}" PROPERTIES WILL_FAIL TRUE)
endif()
#endif()
#
endif()
endif()
endif()
endforeach()
# Need to SET_TESTS_PROPERTIES only *after* the loop is done (test need to have been declared first)
if(GDCM_TEST_DCMTK)
if(GDCM_DATA_ROOT)
if(DCMTK_DCMDJPLS_EXECUTABLE)
# No pixel data
set_tests_properties("DCMDJPLS-ELSCINT1_PMSCT_RLE1.dcm" PROPERTIES WILL_FAIL TRUE)
endif()
if(DCMTK_DCMDJPEG_EXECUTABLE)
# No pixel data
set_tests_properties("DCMDJPEG-ELSCINT1_PMSCT_RLE1.dcm" PROPERTIES WILL_FAIL TRUE)
endif()
if(DCMTK_DCMDRLE_EXECUTABLE)
# No pixel data
set_tests_properties("DCMDRLE-ELSCINT1_PMSCT_RLE1.dcm" PROPERTIES WILL_FAIL TRUE)
# It is missing the very last pixel, so technically is illegal
set_tests_properties("DCMDRLE-ALOKA_SSD-8-MONO2-RLE-SQ.dcm" PROPERTIES WILL_FAIL TRUE)
endif()
endif()
endif()
|