1# 2# Copyright by The HDF Group. 3# All rights reserved. 4# 5# This file is part of HDF5. The full HDF5 copyright notice, including 6# terms governing use, modification, and redistribution, is contained in 7# the COPYING file, which can be found at the root of the source code 8# distribution tree, or in https://support.hdfgroup.org/ftp/HDF5/releases. 9# If you do not have access to either file, you may request a copy from 10# help@hdfgroup.org. 11# 12 13############################################################################## 14############################################################################## 15### T E S T I N G ### 16############################################################################## 17############################################################################## 18 19HDFTEST_COPY_FILE("${HDF5_TOOLS_DIR}/testfiles/tfilters.h5" "${PROJECT_BINARY_DIR}/tfilters.h5" "zip_perf_files") 20add_custom_target(zip_perf_files ALL COMMENT "Copying files needed by zip_perf tests" DEPENDS ${zip_perf_list}) 21 22#----------------------------------------------------------------------------- 23# Add Tests 24#----------------------------------------------------------------------------- 25 26# Remove any output file left over from previous test run 27add_test ( 28 NAME PERFORM_h5perform-clearall-objects 29 COMMAND ${CMAKE_COMMAND} 30 -E remove 31 chunk.h5 32 iopipe.h5 33 iopipe.raw 34 x-diag-rd.dat 35 x-diag-wr.dat 36 x-rowmaj-rd.dat 37 x-rowmaj-wr.dat 38 x-gnuplot 39 h5perf_serial.txt 40 h5perf_serial.txt.err 41 chunk.txt 42 chunk.txt.err 43 iopipe.txt 44 iopipe.txt.err 45 overhead.txt 46 overhead.txt.err 47 perf_meta.txt 48 perf_meta.txt.err 49 zip_perf-h.txt 50 zip_perf-h.txt.err 51 zip_perf.txt 52 zip_perf.txt.err 53) 54 55if (HDF5_ENABLE_USING_MEMCHECKER) 56 add_test (NAME PERFORM_h5perf_serial COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5perf_serial>) 57else () 58 add_test (NAME PERFORM_h5perf_serial COMMAND "${CMAKE_COMMAND}" 59 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 60 -D "TEST_PROGRAM=$<TARGET_FILE:h5perf_serial>" 61 -D "TEST_ARGS:STRING=" 62 -D "TEST_EXPECT=0" 63 -D "TEST_SKIP_COMPARE=TRUE" 64 -D "TEST_OUTPUT=h5perf_serial.txt" 65 #-D "TEST_REFERENCE=h5perf_serial.out" 66 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 67 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 68 ) 69endif () 70set_tests_properties (PERFORM_h5perf_serial PROPERTIES 71 TIMEOUT ${CTEST_VERY_LONG_TIMEOUT} 72 DEPENDS "PERFORM_h5perform-clearall-objects" 73) 74 75if (HDF5_BUILD_PERFORM_STANDALONE) 76 add_test (NAME PERFORM_h5perf_serial_alone COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:h5perf_serial_alone>) 77endif () 78 79if (HDF5_ENABLE_USING_MEMCHECKER) 80 add_test (NAME PERFORM_chunk COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:chunk>) 81else () 82 add_test (NAME PERFORM_chunk COMMAND "${CMAKE_COMMAND}" 83 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 84 -D "TEST_PROGRAM=$<TARGET_FILE:chunk>" 85 -D "TEST_ARGS:STRING=" 86 -D "TEST_EXPECT=0" 87 -D "TEST_SKIP_COMPARE=TRUE" 88 -D "TEST_OUTPUT=chunk.txt" 89 #-D "TEST_REFERENCE=chunk.out" 90 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 91 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 92 ) 93endif () 94set_tests_properties (PERFORM_chunk PROPERTIES 95 DEPENDS "PERFORM_h5perform-clearall-objects" 96) 97 98if (HDF5_ENABLE_USING_MEMCHECKER) 99 add_test (NAME PERFORM_iopipe COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:iopipe>) 100else () 101 add_test (NAME PERFORM_iopipe COMMAND "${CMAKE_COMMAND}" 102 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 103 -D "TEST_PROGRAM=$<TARGET_FILE:iopipe>" 104 -D "TEST_ARGS:STRING=" 105 -D "TEST_EXPECT=0" 106 -D "TEST_SKIP_COMPARE=TRUE" 107 -D "TEST_OUTPUT=iopipe.txt" 108 #-D "TEST_REFERENCE=iopipe.out" 109 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 110 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 111 ) 112endif () 113set_tests_properties (PERFORM_iopipe PROPERTIES 114 DEPENDS "PERFORM_h5perform-clearall-objects" 115) 116 117if (HDF5_ENABLE_USING_MEMCHECKER) 118 add_test (NAME PERFORM_overhead COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:overhead>) 119else () 120 add_test (NAME PERFORM_overhead COMMAND "${CMAKE_COMMAND}" 121 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 122 -D "TEST_PROGRAM=$<TARGET_FILE:overhead>" 123 -D "TEST_ARGS:STRING=" 124 -D "TEST_EXPECT=0" 125 -D "TEST_SKIP_COMPARE=TRUE" 126 -D "TEST_OUTPUT=overhead.txt" 127 #-D "TEST_REFERENCE=overhead.out" 128 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 129 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 130 ) 131endif () 132set_tests_properties (PERFORM_overhead PROPERTIES 133 DEPENDS "PERFORM_h5perform-clearall-objects" 134) 135 136if (HDF5_ENABLE_USING_MEMCHECKER) 137 add_test (NAME PERFORM_perf_meta COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:perf_meta>) 138else () 139 add_test (NAME PERFORM_perf_meta COMMAND "${CMAKE_COMMAND}" 140 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 141 -D "TEST_PROGRAM=$<TARGET_FILE:perf_meta>" 142 -D "TEST_ARGS:STRING=" 143 -D "TEST_EXPECT=0" 144 -D "TEST_SKIP_COMPARE=TRUE" 145 -D "TEST_OUTPUT=perf_meta.txt" 146 #-D "TEST_REFERENCE=perf_meta.out" 147 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 148 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 149 ) 150endif () 151set_tests_properties (PERFORM_perf_meta PROPERTIES 152 DEPENDS "PERFORM_h5perform-clearall-objects" 153) 154 155if (HDF5_ENABLE_USING_MEMCHECKER) 156 add_test (NAME PERFORM_zip_perf_help COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:zip_perf> "-h") 157else () 158 add_test (NAME PERFORM_zip_perf_help COMMAND "${CMAKE_COMMAND}" 159 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 160 -D "TEST_PROGRAM=$<TARGET_FILE:zip_perf>" 161 -D "TEST_ARGS:STRING=" 162 -D "TEST_EXPECT=0" 163 -D "TEST_SKIP_COMPARE=TRUE" 164 -D "TEST_OUTPUT=zip_perf-h.txt" 165 #-D "TEST_REFERENCE=zip_perf-h.out" 166 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 167 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 168 ) 169endif () 170set_tests_properties (PERFORM_zip_perf_help PROPERTIES 171 DEPENDS "PERFORM_h5perform-clearall-objects" 172) 173 174if (HDF5_ENABLE_USING_MEMCHECKER) 175 add_test (NAME PERFORM_zip_perf COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $<TARGET_FILE:zip_perf> tfilters.h5) 176else () 177 add_test (NAME PERFORM_zip_perf COMMAND "${CMAKE_COMMAND}" 178 -D "TEST_EMULATOR=${CMAKE_CROSSCOMPILING_EMULATOR}" 179 -D "TEST_PROGRAM=$<TARGET_FILE:zip_perf>" 180 -D "TEST_ARGS:STRING=" 181 -D "TEST_EXPECT=0" 182 -D "TEST_SKIP_COMPARE=TRUE" 183 -D "TEST_OUTPUT=zip_perf.txt" 184 #-D "TEST_REFERENCE=zip_perf.out" 185 -D "TEST_FOLDER=${PROJECT_BINARY_DIR}" 186 -P "${HDF_RESOURCES_EXT_DIR}/runTest.cmake" 187 ) 188endif () 189set_tests_properties (PERFORM_zip_perf PROPERTIES 190 DEPENDS "PERFORM_zip_perf_help;PERFORM_h5perform-clearall-objects" 191) 192 193if (H5_HAVE_PARALLEL) 194 if (UNIX) 195 add_test (NAME MPI_TEST_PERFORM_perf COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:perf> ${MPIEXEC_POSTFLAGS}) 196 endif () 197 198 add_test (NAME MPI_TEST_PERFORM_h5perf COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:h5perf> ${MPIEXEC_POSTFLAGS}) 199 200 if (HDF5_BUILD_PERFORM_STANDALONE) 201 add_test (NAME MPI_TEST_PERFORM_h5perf_alone COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $<TARGET_FILE:h5perf_alone> ${MPIEXEC_POSTFLAGS}) 202 endif () 203endif () 204