From 5b7be284bc3a29f3d1b50857f7908f487210212d Mon Sep 17 00:00:00 2001 From: Larry Knox Date: Wed, 13 Mar 2024 07:35:04 -0500 Subject: Sync develop branch changes March 4 - 6 to hdf5_1_14 branch (#4121) * Do not enable szip for sanitizer runs (#4057) * Add note to H5Tset_fields about needing to set datatype precision first (#4059) * Offset of a floating-point type also needs to be accounted for * Clarify ordering of H5Tset_precision and H5Tset_fields * Fix issue where H5Tset_fields does not account for datatype offsets (#4061) H5Tset_fields did not account for any offset in a floating-point datatype, causing it to fail when a datatype's precision is correctly set such that it doesn't include the offset bits. * Ignore UserPresets and Use only C compiler for sanitizers (#4066) * Remove user presets file * Only use C compiler for sanitzers * Rename incorrectly named option (#4067) * Rename incorrectly named option * Restore the correct uses of USING_MEMCHECKER * Update release note * Fix a memory leak in the cmpd_dset test (#4071) This was due to not freeing a test buffer. It was not a core library memory leak. * Fix uninitialized bytes in cmpd_dset test (#4072) Compound fill values were set to the integer -1, causing valgrind to flag 'uninitialized bytes' errors. This is just a problem with the cmpd_dset test and not a core library problem. * Update INSTALL files (#4052) * Add NEWSLETTER and merge abi reports and add sha256sums (#4055) * Fix uninitialized bytes in selection I/O test (#4073) This was due to a complex type fill value being set to -1 instead of a proper complex value. This was a test problem and not a core library issue. * fix path for S3 build path in CI (#4076) * Correct paths for 1.14 and add lines missing from release_docs/INSTALL_CMake.txt. --------- Co-authored-by: Allen Byrne <50328838+byrnHDF@users.noreply.github.com> Co-authored-by: jhendersonHDF Co-authored-by: Dana Robinson <43805+derobins@users.noreply.github.com> --- .github/workflows/abi-report.yml | 20 +- .github/workflows/cmake-ctest.yml | 18 +- .github/workflows/release-files.yml | 42 +++- .github/workflows/release.yml | 7 + .github/workflows/remove-files.yml | 5 +- .github/workflows/tarball.yml | 7 + c++/examples/CMakeTests.cmake | 4 +- c++/test/CMakeTests.cmake | 2 +- c++/test/CMakeVFDTests.cmake | 2 +- config/cmake-presets/hidden-presets.json | 2 +- config/cmake/HDFMacros.cmake | 5 +- config/cmake/README.md.cmake.in | 22 +- config/cmake/mccacheinit.cmake | 6 +- config/sanitizer/sanitizers.cmake | 44 ++-- examples/CMakeTests.cmake | 2 +- fortran/examples/CMakeTests.cmake | 4 +- fortran/test/CMakeTests.cmake | 8 +- hl/c++/examples/CMakeTests.cmake | 2 +- hl/c++/test/CMakeTests.cmake | 2 +- hl/examples/CMakeTests.cmake | 2 +- hl/fortran/examples/CMakeTests.cmake | 2 +- hl/fortran/test/CMakeTests.cmake | 2 +- hl/test/CMakeTests.cmake | 2 +- hl/tools/h5watch/CMakeTests.cmake | 6 +- release_docs/INSTALL_CMake.txt | 351 ++++++++++++++------------- release_docs/RELEASE.txt | 20 ++ release_docs/USING_HDF5_CMake.txt | 20 +- release_docs/USING_HDF5_VS.txt | 14 +- src/H5Tfloat.c | 6 +- src/H5Tpublic.h | 11 + test/CMakeTests.cmake | 14 +- test/cmpd_dset.c | 73 +++--- test/dtypes.c | 84 +++++++ test/select_io_dset.c | 5 +- testpar/CMakeVFDTests.cmake | 2 +- tools/test/h5copy/CMakeTests.cmake | 12 +- tools/test/h5diff/CMakeTests.cmake | 6 +- tools/test/h5dump/CMakeTests.cmake | 36 +-- tools/test/h5dump/CMakeTestsPBITS.cmake | 2 +- tools/test/h5dump/CMakeTestsVDS.cmake | 6 +- tools/test/h5dump/CMakeTestsXML.cmake | 4 +- tools/test/h5dump/CMakeVFDTests.cmake | 2 +- tools/test/h5format_convert/CMakeTests.cmake | 14 +- tools/test/h5import/CMakeTests.cmake | 10 +- tools/test/h5jam/CMakeTests.cmake | 14 +- tools/test/h5ls/CMakeTests.cmake | 6 +- tools/test/h5ls/CMakeTestsVDS.cmake | 4 +- tools/test/h5repack/CMakeTests.cmake | 44 ++-- tools/test/h5repack/CMakeVFDTests.cmake | 2 +- tools/test/h5stat/CMakeTests.cmake | 8 +- tools/test/misc/CMakeTestsClear.cmake | 16 +- tools/test/misc/CMakeTestsMkgrp.cmake | 6 +- tools/test/perform/CMakeTests.cmake | 14 +- utils/tools/test/h5dwalk/CMakeTests.cmake | 2 +- 54 files changed, 604 insertions(+), 422 deletions(-) diff --git a/.github/workflows/abi-report.yml b/.github/workflows/abi-report.yml index 6760b16..47ab492 100644 --- a/.github/workflows/abi-report.yml +++ b/.github/workflows/abi-report.yml @@ -73,7 +73,7 @@ jobs: run: | HDF5DIR=${{ github.workspace }}/hdf5/HDF_Group/HDF5/ FILE_NAME_HDF5=$(ls ${{ github.workspace }}/hdf5/HDF_Group/HDF5) - FILE_VERS=$(echo "$FILE_NAME_HDF5" | sed -r "s/([0-9]+\.[0-9]+\.[0-9]+)\..*/\1/") + FILE_VERS=$(echo "$FILE_NAME_HDF5" | sed -r "s/([0-9]+\.[0-9]+\.[0-9]+).*/\1/") echo "HDF5_ROOT=$HDF5DIR$FILE_NAME_HDF5" >> $GITHUB_OUTPUT echo "HDF5_VERS=$FILE_VERS" >> $GITHUB_OUTPUT @@ -160,12 +160,22 @@ jobs: ls -l compat_reports ls -l *.html + - name: Publish ABI reports + id: publish-abi-reports + run: | + mkdir "${{ runner.workspace }}/buildabi" + mkdir "${{ runner.workspace }}/buildabi/hdf5" + cp ${{ inputs.file_base }}-hdf5_compat_report.html ${{ runner.workspace }}/buildabi/hdf5 + cp ${{ inputs.file_base }}-hdf5_hl_compat_report.html ${{ runner.workspace }}/buildabi/hdf5 + cp ${{ inputs.file_base }}-hdf5_cpp_compat_report.html ${{ runner.workspace }}/buildabi/hdf5 + cp ${{ inputs.file_base }}-java_compat_report.html ${{ runner.workspace }}/buildabi/hdf5 + cd "${{ runner.workspace }}/buildabi" + tar -zcvf ${{ inputs.file_base }}.html.abi.reports hdf5 + shell: bash + - name: Save output as artifact uses: actions/upload-artifact@v4 with: name: abi-reports path: | - ${{ inputs.file_base }}-hdf5_compat_report.html - ${{ inputs.file_base }}-hdf5_hl_compat_report.html - ${{ inputs.file_base }}-hdf5_cpp_compat_report.html - ${{ inputs.file_base }}-java_compat_report.html + ${{ runner.workspace }}/buildabi/${{ inputs.file_base }}.html.abi.reports diff --git a/.github/workflows/cmake-ctest.yml b/.github/workflows/cmake-ctest.yml index 2d1bf12..7230603 100644 --- a/.github/workflows/cmake-ctest.yml +++ b/.github/workflows/cmake-ctest.yml @@ -78,7 +78,7 @@ jobs: mkdir "${{ runner.workspace }}/build114/hdf5" Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING -Destination ${{ runner.workspace }}/build114/hdf5/ Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 -Destination ${{ runner.workspace }}/build114/hdf5/ - Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/README.md -Destination ${{ runner.workspace }}/build114/hdf5/ + Copy-Item -Path ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-MSVC/README.md -Destination ${{ runner.workspace }}/build114/hdf5/ Copy-Item -Path ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-MSVC/* -Destination ${{ runner.workspace}}/build114/hdf5/ -Include *.zip cd "${{ runner.workspace }}/build114" 7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip hdf5 @@ -146,7 +146,7 @@ jobs: mkdir "${{ runner.workspace }}/build114/hdf5" cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/build114/hdf5 - cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build114/hdf5 + cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-GNUC/README.md ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-GNUC/*.tar.gz ${{ runner.workspace }}/build114/hdf5 cd "${{ runner.workspace }}/build114" tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz hdf5 @@ -159,7 +159,7 @@ jobs: mkdir "${{ runner.workspace }}/builddeb/hdf5" cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/builddeb/hdf5 cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/builddeb/hdf5 - cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/builddeb/hdf5 + cp ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-GNUC/README.md ${{ runner.workspace }}/builddeb/hdf5 cp ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-GNUC/*.deb ${{ runner.workspace }}/builddeb/hdf5 cd "${{ runner.workspace }}/builddeb" tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb hdf5 @@ -172,7 +172,7 @@ jobs: mkdir "${{ runner.workspace }}/buildrpm/hdf5" cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/buildrpm/hdf5 cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/buildrpm/hdf5 - cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/buildrpm/hdf5 + cp ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-GNUC/README.md ${{ runner.workspace }}/buildrpm/hdf5 cp ${{ runner.workspace }}/hdf5/build/${{ inputs.preset_name }}-GNUC/*.rpm ${{ runner.workspace }}/buildrpm/hdf5 cd "${{ runner.workspace }}/buildrpm" tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm hdf5 @@ -273,7 +273,7 @@ jobs: mkdir "${{ runner.workspace }}/build114/hdf5" cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/build114/hdf5 - cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build114/hdf5 + cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Clang/README.md ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Clang/*.tar.gz ${{ runner.workspace }}/build114/hdf5 cd "${{ runner.workspace }}/build114" tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-osx12.tar.gz hdf5 @@ -324,7 +324,7 @@ jobs: - name: Uncompress source (Linux S3) run: tar -zxvf ${{ github.workspace }}/${{ steps.set-file-base.outputs.FILE_BASE }}.tar.gz - - name: Run ctest (Linux S3) +u - name: Run ctest (Linux S3) run: | cd "${{ runner.workspace }}/hdf5/hdfsrc" cmake --workflow --preset=${{ inputs.preset_name }}-GNUC-S3 --fresh @@ -337,7 +337,7 @@ jobs: mkdir "${{ runner.workspace }}/build114/hdf5" cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/build114/hdf5 - cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build114/hdf5 + cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-GNUC-S3/README.md ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-GNUC-S3/*.tar.gz ${{ runner.workspace }}/build114/hdf5 cd "${{ runner.workspace }}/build114" tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc_s3.tar.gz hdf5 @@ -422,7 +422,7 @@ jobs: mkdir "${{ runner.workspace }}/build114/hdf5" Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING -Destination ${{ runner.workspace }}/build114/hdf5/ Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 -Destination ${{ runner.workspace }}/build114/hdf5/ - Copy-Item -Path ${{ runner.workspace }}/hdf5/hdfsrc/README.md -Destination ${{ runner.workspace }}/build114/hdf5/ + Copy-Item -Path ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Intel/README.md -Destination ${{ runner.workspace }}/build114/hdf5/ Copy-Item -Path ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Intel/* -Destination ${{ runner.workspace }}/build114/hdf5/ -Include *.zip cd "${{ runner.workspace }}/build114" 7z a -tzip ${{ steps.set-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip hdf5 @@ -501,7 +501,7 @@ jobs: mkdir "${{ runner.workspace }}/build114/hdf5" cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/hdfsrc/COPYING_LBNL_HDF5 ${{ runner.workspace }}/build114/hdf5 - cp ${{ runner.workspace }}/hdf5/hdfsrc/README.md ${{ runner.workspace }}/build114/hdf5 + cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Intel/README.md ${{ runner.workspace }}/build114/hdf5 cp ${{ runner.workspace }}/hdf5/build114/${{ inputs.preset_name }}-Intel/*.tar.gz ${{ runner.workspace }}/build114/hdf5 cd "${{ runner.workspace }}/build114" tar -zcvf ${{ steps.set-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz hdf5 diff --git a/.github/workflows/release-files.yml b/.github/workflows/release-files.yml index c5254c1..f0ab34d 100644 --- a/.github/workflows/release-files.yml +++ b/.github/workflows/release-files.yml @@ -150,10 +150,37 @@ jobs: name: abi-reports path: ${{ github.workspace }} + - name: Create sha256 sums for files + run: | + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip > sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.zip >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-osx12.tar.gz >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.tar.gz >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.deb >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc.rpm >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_gcc_s3.tar.gz >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip >> sha256sums.txt + sha256sum ${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports >> sha256sums.txt + - name: Store snapshot name run: | echo "${{ steps.get-file-base.outputs.FILE_BASE }}" > ./last-file.txt + - name: Get NEWSLETTER + uses: actions/download-artifact@6b208ae046db98c579e8a3aa621ab581ff575935 # v4.1.1 + with: + name: NEWSLETTER + path: ${{ github.workspace }} + + - name: Create description file + run: | + cat ${{ github.workspace }}/NEWSLETTER.txt > description.txt + echo "SHA256 sums:" >> description.txt + cat sha256sums.txt >> description.txt + - name: PreRelease tag id: create_prerelease if: ${{ (inputs.use_environ == 'snapshots') }} @@ -161,12 +188,9 @@ jobs: with: tag_name: "${{ inputs.use_tag }}" prerelease: true + body_path: description.txt files: | last-file.txt - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_hl_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_cpp_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-java_compat_report.html ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip @@ -178,6 +202,8 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports + sha256sums.txt if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - name: Release tag @@ -187,12 +213,8 @@ jobs: with: tag_name: "${{ inputs.use_tag }}" prerelease: false - #body_path: ${{ github.workspace }}-CHANGELOG.txt + body_path: description.txt files: | - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_hl_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_cpp_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-java_compat_report.html ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip @@ -204,6 +226,8 @@ jobs: ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_cl.zip ${{ steps.get-file-base.outputs.FILE_BASE }}-ubuntu-2204_intel.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}-win-vs2022_intel.zip + ${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports + sha256sums.txt if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` - name: List files for the space (Linux) diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 54c9a67..7506117 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -79,6 +79,13 @@ jobs: path: ${{ steps.set-file-base.outputs.FILE_BASE }}.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + - name: Save NEWSLETTER + uses: actions/upload-artifact@v4 + with: + name: NEWSLETTER + path: ./hdfsrc/release_docs/NEWSLETTER.txt + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + call-workflow-ctest: needs: create-files-ctest uses: ./.github/workflows/cmake-ctest.yml diff --git a/.github/workflows/remove-files.yml b/.github/workflows/remove-files.yml index 737c9b4..edac115 100644 --- a/.github/workflows/remove-files.yml +++ b/.github/workflows/remove-files.yml @@ -45,10 +45,7 @@ jobs: token: ${{ github.token }} tag: "${{ inputs.use_tag }}" assets: | - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_hl_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-hdf5_cpp_compat_report.html - ${{ steps.get-file-base.outputs.FILE_BASE }}-java_compat_report.html + ${{ steps.get-file-base.outputs.FILE_BASE }}.html.abi.reports ${{ steps.get-file-base.outputs.FILE_BASE }}.doxygen.zip ${{ steps.get-file-base.outputs.FILE_BASE }}.tar.gz ${{ steps.get-file-base.outputs.FILE_BASE }}.zip diff --git a/.github/workflows/tarball.yml b/.github/workflows/tarball.yml index 4e2d4a4..44ade53 100644 --- a/.github/workflows/tarball.yml +++ b/.github/workflows/tarball.yml @@ -145,3 +145,10 @@ jobs: name: zip-tarball path: ${{ steps.set-file-base.outputs.FILE_BASE }}.zip if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` + + - name: Save NEWSLETTER + uses: actions/upload-artifact@v4 + with: + name: NEWSLETTER + path: ./hdfsrc/release_docs/NEWSLETTER.txt + if-no-files-found: error # 'warn' or 'ignore' are also available, defaults to `warn` diff --git a/c++/examples/CMakeTests.cmake b/c++/examples/CMakeTests.cmake index f710204..c74ffb5 100644 --- a/c++/examples/CMakeTests.cmake +++ b/c++/examples/CMakeTests.cmake @@ -43,7 +43,7 @@ set_tests_properties (CPP_ex-clean-objects PROPERTIES ) foreach (example ${examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME CPP_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME CPP_ex_${example} COMMAND "${CMAKE_COMMAND}" @@ -95,7 +95,7 @@ set_tests_properties (CPP_ex_tutr-clean-objects PROPERTIES ) foreach (example ${tutr_examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME CPP_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME CPP_ex_${example} COMMAND "${CMAKE_COMMAND}" diff --git a/c++/test/CMakeTests.cmake b/c++/test/CMakeTests.cmake index 224b099..7d1b1ff 100644 --- a/c++/test/CMakeTests.cmake +++ b/c++/test/CMakeTests.cmake @@ -17,7 +17,7 @@ add_custom_target(cpp_testhdf5_files ALL COMMENT "Copying files needed by cpp_te ### T E S T I N G ### ############################################################################## ############################################################################## -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME CPP_testhdf5 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME CPP_testhdf5 COMMAND "${CMAKE_COMMAND}" diff --git a/c++/test/CMakeVFDTests.cmake b/c++/test/CMakeVFDTests.cmake index 52f8069..f1981c8 100644 --- a/c++/test/CMakeVFDTests.cmake +++ b/c++/test/CMakeVFDTests.cmake @@ -23,7 +23,7 @@ H5_CREATE_VFD_DIR() ############################################################################## ############################################################################## macro (ADD_VFD_TEST vfdname resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME CPP_VFD-${vfdname}-cpp_testhdf5 COMMAND "${CMAKE_COMMAND}" diff --git a/config/cmake-presets/hidden-presets.json b/config/cmake-presets/hidden-presets.json index 64ccfb9..98a42b7 100644 --- a/config/cmake-presets/hidden-presets.json +++ b/config/cmake-presets/hidden-presets.json @@ -540,7 +540,7 @@ "name": "ci-x64-Release-Intel", "configurePreset": "ci-x64-Release-Intel", "hidden": true, - "inherits": "ci-base", + "inherits": "ci-base" } ] } diff --git a/config/cmake/HDFMacros.cmake b/config/cmake/HDFMacros.cmake index 64e77c0..1533827 100644 --- a/config/cmake/HDFMacros.cmake +++ b/config/cmake/HDFMacros.cmake @@ -279,6 +279,7 @@ macro (HDF_README_PROPERTIES target_fortran) if (WIN32) set (BINARY_EXAMPLE_ENDING "zip") set (BINARY_INSTALL_ENDING "msi") + set (BINARY_COMPRESS_ENDING "zip") if (CMAKE_CL_64) set (BINARY_SYSTEM_NAME "win64") else () @@ -330,12 +331,14 @@ macro (HDF_README_PROPERTIES target_fortran) endif () elseif (APPLE) set (BINARY_EXAMPLE_ENDING "tar.gz") + set (BINARY_COMPRESS_ENDING "tar.gz") set (BINARY_INSTALL_ENDING "sh") # if packaging changes - use dmg set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") else () set (BINARY_EXAMPLE_ENDING "tar.gz") - set (BINARY_INSTALL_ENDING "sh") + set (BINARY_COMPRESS_ENDING "tar.gz") + set (BINARY_INSTALL_ENDING "sh/deb/rpm") set (BINARY_PLATFORM "${BINARY_PLATFORM} ${CMAKE_SYSTEM_VERSION} ${CMAKE_SYSTEM_PROCESSOR}") set (BINARY_PLATFORM "${BINARY_PLATFORM}, using ${CMAKE_C_COMPILER_ID} C ${CMAKE_C_COMPILER_VERSION}") endif () diff --git a/config/cmake/README.md.cmake.in b/config/cmake/README.md.cmake.in index d7e4bc4..5ba93f3 100644 --- a/config/cmake/README.md.cmake.in +++ b/config/cmake/README.md.cmake.in @@ -2,13 +2,13 @@ ------------------------------------------------------------------------------ This directory contains the binary (release) distribution of -@HDF5_PACKAGE_NAME@ @HDF5_PACKAGE_VERSION_MAJOR@ that was compiled on; +@HDF5_PACKAGE_NAME@ @HDF5_PACKAGE_VERSION_MAJOR@.@HDF5_PACKAGE_VERSION_MINOR@ that was compiled on; @BINARY_PLATFORM@. It was built with the following options: -- @LIB_TYPE@ C/C++/Fortran libraries -- SZIP (encoder enabled) and ZLIB - -- @LIB_TYPE@ HDF5 tools + -- HDF5 tools -- Java @Java_VERSION@ The contents of this directory are: @@ -16,17 +16,12 @@ The contents of this directory are: COPYING - Copyright notice README.md - This file @HDF5_PACKAGE_NAME@-@HDF5_PACKAGE_VERSION@-@BINARY_SYSTEM_NAME@.@BINARY_INSTALL_ENDING@ - HDF5 Install Package + OR + @HDF5_PACKAGE_NAME@-@HDF5_PACKAGE_VERSION@-@BINARY_SYSTEM_NAME@.@BINARY_COMPRESS_ENDING@ - HDF5 Compressed Package This binary was built with the ZLIB and SZIP/Libaec external libraries and are included for convenience. Libaec is an unrestricted open-source replacement for SZIP -(version 1.0.4, Encoder ENABLED). - -The official ZLIB and SZIP/Libaec pages are at: - - ZLIB: https://git.savannah.gnu.org/cgit/gzip.git/ - https://git.savannah.gnu.org/cgit/gzip.git/tree/COPYING - SZIP/Libaec: https://github.com/MathisRosenhauer/libaec - https://github.com/MathisRosenhauer/libaec/blob/master/LICENSE.txt +(Encoder ENABLED). Installation @@ -35,6 +30,11 @@ Installation 2. Follow prompts =========================================================================== +Uncompress +=========================================================================== +1. Extract @HDF5_PACKAGE_NAME@-@HDF5_PACKAGE_VERSION@-@BINARY_SYSTEM_NAME@.@BINARY_COMPRESS_ENDING@ +=========================================================================== + After Installation =========================================================================== The examples folder, HDF5Examples, located in the @@ -75,6 +75,6 @@ For more information see USING_CMake_Examples.txt in the install folder. =========================================================================== Documentation for this release can be found at the following URL: - https://portal.hdfgroup.org/display/HDF5/HDF5 + https://portal.hdfgroup.org/documentation/index.html#hdf5 Bugs should be reported to help@hdfgroup.org. diff --git a/config/cmake/mccacheinit.cmake b/config/cmake/mccacheinit.cmake index 5b41167..9e4d581 100644 --- a/config/cmake/mccacheinit.cmake +++ b/config/cmake/mccacheinit.cmake @@ -33,13 +33,13 @@ set (HDF5_BUILD_EXAMPLES ON CACHE BOOL "Build HDF5 Library Examples" FORCE) set (HDF5_ENABLE_Z_LIB_SUPPORT ON CACHE BOOL "Enable Zlib Filters" FORCE) -set (HDF5_ENABLE_SZIP_SUPPORT ON CACHE BOOL "Use SZip Filter" FORCE) +set (HDF5_ENABLE_SZIP_SUPPORT OFF CACHE BOOL "Use SZip Filter" FORCE) -set (HDF5_ENABLE_SZIP_ENCODING ON CACHE BOOL "Use SZip Encoding" FORCE) +set (HDF5_ENABLE_SZIP_ENCODING OFF CACHE BOOL "Use SZip Encoding" FORCE) set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE) -set (HDF5_ENABLE_USING_MEMCHECKER ON CACHE BOOL "Indicate that a memory checker is used" FORCE) +set (HDF5_USING_ANALYSIS_TOOL ON CACHE BOOL "Indicate that an analysis checker is used" FORCE) set (HDF5_NO_PACKAGES ON CACHE BOOL "CPACK - Disable packaging" FORCE) diff --git a/config/sanitizer/sanitizers.cmake b/config/sanitizer/sanitizers.cmake index 53591d2..bf2aad2 100644 --- a/config/sanitizer/sanitizers.cmake +++ b/config/sanitizer/sanitizers.cmake @@ -13,8 +13,6 @@ # License for the specific language governing permissions and limitations under # the License. -include(CheckCXXSourceCompiles) - set(USE_SANITIZER "" CACHE @@ -44,11 +42,12 @@ function(test_san_flags return_var flags) unset(${return_var} CACHE) set(FLAGS_BACKUP ${CMAKE_REQUIRED_FLAGS}) set(CMAKE_REQUIRED_FLAGS "${flags}") - check_cxx_source_compiles("int main() { return 0; }" ${return_var}) + check_c_source_compiles("int main() { return 0; }" ${return_var}) set(CMAKE_REQUIRED_FLAGS "${FLAGS_BACKUP}") set(CMAKE_REQUIRED_QUIET "${QUIET_BACKUP}") endfunction() +message(STATUS "USE_SANITIZER=${USE_SANITIZER}, CMAKE_C_COMPILER_ID=${CMAKE_C_COMPILER_ID}") if(USE_SANITIZER) if(CMAKE_C_COMPILER_ID MATCHES "IntelLLVM" OR CMAKE_C_COMPILER_ID MATCHES "[Cc]lang") set(CMAKE_EXPORT_COMPILE_COMMANDS ON) @@ -56,10 +55,11 @@ if(USE_SANITIZER) unset(SANITIZER_SELECTED_FLAGS) if(UNIX) - append("-fno-omit-frame-pointer" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + append("-fno-omit-frame-pointer" CMAKE_C_FLAGS) + message(STATUS "Building with sanitize, base flags=${CMAKE_C_SANITIZER_FLAGS}") if(uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG") - append("-O1" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + append("-O1" CMAKE_C_FLAGS) endif() if(USE_SANITIZER MATCHES "([Aa]ddress)") @@ -72,10 +72,10 @@ if(USE_SANITIZER) append("${SANITIZER_ADDR_FLAG}" SANITIZER_SELECTED_FLAGS) if(AFL) - append_quoteless(AFL_USE_ASAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_ASAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() - message(FATAL_ERROR "Address sanitizer not available for ${CMAKE_CXX_COMPILER}") + message(FATAL_ERROR "Address sanitizer not available for ${CMAKE_C_COMPILER}") endif() endif() @@ -98,10 +98,10 @@ if(USE_SANITIZER) append("${SANITIZER_MEM_FLAG}" SANITIZER_SELECTED_FLAGS) if(AFL) - append_quoteless(AFL_USE_MSAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_MSAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() - message(FATAL_ERROR "Memory [With Origins] sanitizer not available for ${CMAKE_CXX_COMPILER}") + message(FATAL_ERROR "Memory [With Origins] sanitizer not available for ${CMAKE_C_COMPILER}") endif() endif() @@ -117,10 +117,10 @@ if(USE_SANITIZER) append("${SANITIZER_UB_FLAG}" SANITIZER_SELECTED_FLAGS) if(AFL) - append_quoteless(AFL_USE_UBSAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_UBSAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() - message(FATAL_ERROR "Undefined Behaviour sanitizer not available for ${CMAKE_CXX_COMPILER}") + message(FATAL_ERROR "Undefined Behaviour sanitizer not available for ${CMAKE_C_COMPILER}") endif() endif() @@ -133,10 +133,10 @@ if(USE_SANITIZER) append("${SANITIZER_THREAD_FLAG}" SANITIZER_SELECTED_FLAGS) if(AFL) - append_quoteless(AFL_USE_TSAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_TSAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() - message(FATAL_ERROR "Thread sanitizer not available for ${CMAKE_CXX_COMPILER}") + message(FATAL_ERROR "Thread sanitizer not available for ${CMAKE_C_COMPILER}") endif() endif() @@ -149,10 +149,10 @@ if(USE_SANITIZER) append("${SANITIZER_LEAK_FLAG}" SANITIZER_SELECTED_FLAGS) if(AFL) - append_quoteless(AFL_USE_LSAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_LSAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() - message(FATAL_ERROR "Thread sanitizer not available for ${CMAKE_CXX_COMPILER}") + message(FATAL_ERROR "Thread sanitizer not available for ${CMAKE_C_COMPILER}") endif() endif() @@ -165,10 +165,10 @@ if(USE_SANITIZER) append("${SANITIZER_LEAK_FLAG}" SANITIZER_SELECTED_FLAGS) if(AFL) - append_quoteless(AFL_USE_CFISAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_CFISAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() - message(FATAL_ERROR "Control Flow Integrity(CFI) sanitizer not available for ${CMAKE_CXX_COMPILER}") + message(FATAL_ERROR "Control Flow Integrity(CFI) sanitizer not available for ${CMAKE_C_COMPILER}") endif() endif() @@ -176,17 +176,17 @@ if(USE_SANITIZER) test_san_flags(SANITIZER_SELECTED_COMPATIBLE ${SANITIZER_SELECTED_FLAGS}) if(SANITIZER_SELECTED_COMPATIBLE) message(STATUS " Building with ${SANITIZER_SELECTED_FLAGS}") - append("${SANITIZER_SELECTED_FLAGS}" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + append("${SANITIZER_SELECTED_FLAGS}" CMAKE_C_FLAGS) else() - message(FATAL_ERROR " Sanitizer flags ${SANITIZER_SELECTED_FLAGS} are not compatible.") + message(FATAL_ERROR "Unsupported value of USE_SANITIZER: ${USE_SANITIZER}") endif() elseif(MSVC) if(USE_SANITIZER MATCHES "([Aa]ddress)") message(STATUS "Building with Address sanitizer") - append("-fsanitize=address" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + append("-fsanitize=address" CMAKE_C_FLAGS) if(AFL) - append_quoteless(AFL_USE_ASAN=1 CMAKE_C_COMPILER_LAUNCHER CMAKE_CXX_COMPILER_LAUNCHER) + append_quoteless(AFL_USE_ASAN=1 CMAKE_C_COMPILER_LAUNCHER) endif() else() message(FATAL_ERROR "This sanitizer not yet supported in the MSVC environment: ${USE_SANITIZER}") @@ -197,7 +197,7 @@ if(USE_SANITIZER) elseif(MSVC) if(USE_SANITIZER MATCHES "([Aa]ddress)") message(STATUS "Building with Address sanitizer") - append("/fsanitize=address" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) + append("/fsanitize=address" CMAKE_C_FLAGS) else() message(FATAL_ERROR "This sanitizer not yet supported in the MSVC environment: ${USE_SANITIZER}") endif() diff --git a/examples/CMakeTests.cmake b/examples/CMakeTests.cmake index 09f9060..96578b3 100644 --- a/examples/CMakeTests.cmake +++ b/examples/CMakeTests.cmake @@ -74,7 +74,7 @@ if (HDF5_TEST_SERIAL) ) foreach (example ${examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME EXAMPLES-${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME EXAMPLES-${example} COMMAND "${CMAKE_COMMAND}" diff --git a/fortran/examples/CMakeTests.cmake b/fortran/examples/CMakeTests.cmake index dabab8b..26cbc4f 100644 --- a/fortran/examples/CMakeTests.cmake +++ b/fortran/examples/CMakeTests.cmake @@ -54,7 +54,7 @@ if (HDF5_TEST_SERIAL) ) foreach (example ${examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME f90_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME f90_ex_${example} COMMAND "${CMAKE_COMMAND}" @@ -77,7 +77,7 @@ if (HDF5_TEST_SERIAL) endforeach () foreach (example ${F2003_examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME f03_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME f03_ex_${example} COMMAND "${CMAKE_COMMAND}" diff --git a/fortran/test/CMakeTests.cmake b/fortran/test/CMakeTests.cmake index 46b8972..4911d62 100644 --- a/fortran/test/CMakeTests.cmake +++ b/fortran/test/CMakeTests.cmake @@ -73,7 +73,7 @@ set_tests_properties (FORTRAN_testhdf5-clean-objects PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME FORTRAN_testhdf5_fortran COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME FORTRAN_testhdf5_fortran COMMAND "${CMAKE_COMMAND}" @@ -99,7 +99,7 @@ if ("FORTRAN_testhdf5_fortran" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") endif () #-- Adding test for testhdf5_fortran_1_8 -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME FORTRAN_testhdf5_fortran_1_8 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME FORTRAN_testhdf5_fortran_1_8 COMMAND "${CMAKE_COMMAND}" @@ -126,7 +126,7 @@ if ("FORTRAN_testhdf5_fortran_1_8" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") endif () #-- Adding test for fortranlib_test_F03 -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME FORTRAN_fortranlib_test_F03 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME FORTRAN_fortranlib_test_F03 COMMAND "${CMAKE_COMMAND}" @@ -153,7 +153,7 @@ if ("FORTRAN_fortranlib_test_F03" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") endif () #-- Adding test for vol_connector -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME FORTRAN_vol_connector COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME FORTRAN_vol_connector COMMAND "${CMAKE_COMMAND}" diff --git a/hl/c++/examples/CMakeTests.cmake b/hl/c++/examples/CMakeTests.cmake index 8b2b4ce..d0a647e 100644 --- a/hl/c++/examples/CMakeTests.cmake +++ b/hl/c++/examples/CMakeTests.cmake @@ -28,7 +28,7 @@ set_tests_properties (HL_CPP_ex_ptExampleFL-clear-objects PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME HL_CPP_ex_ptExampleFL COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME HL_CPP_ex_ptExampleFL COMMAND "${CMAKE_COMMAND}" diff --git a/hl/c++/test/CMakeTests.cmake b/hl/c++/test/CMakeTests.cmake index b07dd6d..3da3e47 100644 --- a/hl/c++/test/CMakeTests.cmake +++ b/hl/c++/test/CMakeTests.cmake @@ -28,7 +28,7 @@ set_tests_properties (HL_CPP_ptableTest-clear-objects PROPERTIES WORKING_DIRECTORY ${PROJECT_BINARY_DIR} ) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME HL_CPP_ptableTest COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME HL_CPP_ptableTest COMMAND "${CMAKE_COMMAND}" diff --git a/hl/examples/CMakeTests.cmake b/hl/examples/CMakeTests.cmake index 6a0a6e7..ee376ca 100644 --- a/hl/examples/CMakeTests.cmake +++ b/hl/examples/CMakeTests.cmake @@ -68,7 +68,7 @@ set_tests_properties (HL_ex-clean-objects PROPERTIES ) foreach (example ${examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME HL_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME HL_ex_${example} COMMAND "${CMAKE_COMMAND}" diff --git a/hl/fortran/examples/CMakeTests.cmake b/hl/fortran/examples/CMakeTests.cmake index 46827b5..c5273e5 100644 --- a/hl/fortran/examples/CMakeTests.cmake +++ b/hl/fortran/examples/CMakeTests.cmake @@ -41,7 +41,7 @@ set_tests_properties (HL_FORTRAN_f90_ex-clean-objects PROPERTIES ) foreach (example ${examples}) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME HL_FORTRAN_f90_ex_${example} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME HL_FORTRAN_f90_ex_${example} COMMAND "${CMAKE_COMMAND}" diff --git a/hl/fortran/test/CMakeTests.cmake b/hl/fortran/test/CMakeTests.cmake index 8421872..0ab8b5a 100644 --- a/hl/fortran/test/CMakeTests.cmake +++ b/hl/fortran/test/CMakeTests.cmake @@ -49,7 +49,7 @@ set_tests_properties (HL_FORTRAN_test-clean-objects PROPERTIES ) macro (ADD_H5_FORTRAN_TEST file) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME HL_FORTRAN_f90_${file} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME HL_FORTRAN_f90_${file} COMMAND "${CMAKE_COMMAND}" diff --git a/hl/test/CMakeTests.cmake b/hl/test/CMakeTests.cmake index 6ec5f29..7f7f27b 100644 --- a/hl/test/CMakeTests.cmake +++ b/hl/test/CMakeTests.cmake @@ -98,7 +98,7 @@ set_tests_properties (HL_test-clean-objects PROPERTIES # Macro used to add a unit test # -------------------------------------------------------------------- macro (HL_ADD_TEST hl_name) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME HL_${hl_name} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME HL_${hl_name} COMMAND "${CMAKE_COMMAND}" diff --git a/hl/tools/h5watch/CMakeTests.cmake b/hl/tools/h5watch/CMakeTests.cmake index fd40010..b807fad 100644 --- a/hl/tools/h5watch/CMakeTests.cmake +++ b/hl/tools/h5watch/CMakeTests.cmake @@ -69,7 +69,7 @@ add_custom_target(H5WATCH_files ALL COMMENT "Copying files needed by H5WATCH tes ############################################################################## macro (ADD_H5_TEST resultfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5WATCH_ARGS-h5watch-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -94,7 +94,7 @@ add_custom_target(H5WATCH_files ALL COMMENT "Copying files needed by H5WATCH tes endmacro () macro (ADD_H5_ERR_TEST resultfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5WATCH_ARGS-h5watch-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -121,7 +121,7 @@ add_custom_target(H5WATCH_files ALL COMMENT "Copying files needed by H5WATCH tes endmacro () macro (ADD_H5_WATCH resultfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5WATCH-${resultfile} COMMAND "${CMAKE_COMMAND}" diff --git a/release_docs/INSTALL_CMake.txt b/release_docs/INSTALL_CMake.txt index c041bae..ae99955 100644 --- a/release_docs/INSTALL_CMake.txt +++ b/release_docs/INSTALL_CMake.txt @@ -15,6 +15,7 @@ Section VII: User Defined Options for HDF5 Libraries with CMake Section VIII: User Defined Compile Flags for HDF5 Libraries with CMake Section IX: Considerations for cross-compiling Section X: Using CMakePresets.json for compiling +Section XI: Autotools Configuration and Build ************************************************************************ @@ -25,14 +26,17 @@ I. Preconditions Obtaining HDF5 source code 1. Create a directory for your development; for example, "myhdfstuff". - 2. Obtain compressed (*.tar or *.zip) HDF5 source from - https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake + 2. Obtain HDF5 source from Github + development branch: https://github.com/HDFGroup/hdf5 + last release: https://github.com/HDFGroup/hdf5/releases/latest + hdf5-1_14_"X".tar.gz or hdf5-1_1 + and put it in "myhdfstuff". Uncompress the file. There should be a hdf5-1.14."X" folder. CMake version 1. We suggest you obtain the latest CMake from the Kitware web site. - The HDF5 1.14."X" product requires a minimum CMake version 3.12, + The HDF5 1.14."X" product requires a minimum CMake version 3.18, where "X" is the current HDF5 release version. If you are using VS2022, the minimum version is 3.21. @@ -46,36 +50,30 @@ Note: II. Quick Step Building HDF5 Libraries with CMake Script Mode ======================================================================== This short set of instructions is written for users who want to quickly -build the HDF5 C and C++ static libraries and tools with SZIP and ZLIB -compression included. This procedure will use the default settings in -the config/cmake/cacheinit.cmake file. +build the HDF5 C, C++ and Fortran shared libraries and tools +from the HDF5 source code package using the CMake tools. This procedure +will use the default settings in the config/cmake/cacheinit.cmake file. HDF Group recommends using the ctest script mode to build HDF5. -The following files referenced below are available at the HDF web site: - https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake - -Single compressed file with all the files needed, including source: - CMake-hdf5-1.14.X.zip or CMake-hdf5-1.14.X.tar.gz - -Individual files included in the above mentioned compressed files ------------------------------------------------ -CMake build script: +------------------------------------------------------------------------- +------------------------------------------------------------------------- +Individual files needed as mentioned in this document +------------------------------------------------------------------------- +CMake build script from https://github.com/HDFGroup/hdf5/tree/hdf5_1_14/config/cmake/scripts: CTestScript.cmake -External compression szip and zlib libraries: - LIBAEC.tar.gz - SZip.tar.gz - ZLib.tar.gz +Configuration files from https://github.com/HDFGroup/hdf5/tree/hdf5_1_14/config/cmake/scripts: + HDF5config.cmake + HDF5options.cmake -External compression plugin libraries: +External compression plugin libraries from https://github.com/HDFGroup/hdf5_plugins: hdf5_plugins.tar.gz -Examples Source package: - HDF5Examples-2.0.x-Source.tar.gz - -Configuration files: - HDF5config.cmake - HDF5options.cmake +External compression szip and zlib libraries: + ZLIB "https://github.com/madler/zlib/releases/download/v1.2.13/zlib-1.3.tar.gz" + LIBAEC "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6/libaec-1.0.6.tar.gz" +------------------------------------------------------------------------- +------------------------------------------------------------------------- Build scripts for windows or linux ----------------------------------------------- @@ -84,15 +82,15 @@ To build HDF5 with the SZIP and ZLIB external libraries you will need to: 1. Change to the development directory "myhdfstuff". - 2. Download the CMake-hdf5-1.14.X.zip(.tar.gz) file to "myhdfstuff". - Uncompress the file. + 2. Download/copy the individual files mentioned above to "myhdfstuff". + Do not uncompress the tar.gz files. 3. Change to the source directory "hdf5-1.14.x". CTestScript.cmake file should not be modified. 4. Edit the platform configuration file, HDF5options.cmake, if you want to change - the default build environment. - (See https://portal.hdfgroup.org/display/support/How+to+Change+HDF5+CMake+Build+Options) + the default build environment. The file is a compilation of the most used + options and by commenting/uncommenting lines the options can easily be changed. 5. From the "myhdfstuff" directory execute the CTest Script with the following options: @@ -279,6 +277,7 @@ IV. Further considerations 1. We suggest you obtain the latest CMake for windows from the Kitware web site. The HDF5 1.14."X" product requires a minimum CMake version 3.18. + If you are using VS2022, the CMake minimum version is 3.21. 2. If you plan to use Zlib or Szip: A. Download the binary packages and install them in a central location. @@ -310,7 +309,7 @@ IV. Further considerations CMake options: HDF5_ALLOW_EXTERNAL_SUPPORT:STRING="TGZ" ZLIB_TGZ_NAME:STRING="zlib_src.ext" - LIBAEC_TGZ_NAME:STRING="szaec_src.ext" + LIBAEC_TGZ_NAME:STRING="libaec_src.ext" TGZPATH:STRING="some_location" where "some_location" is the URL or full path to the compressed file and ext is the type of compression file. Also set CMAKE_BUILD_TYPE @@ -335,6 +334,9 @@ IV. Further considerations The files can also be retrieved from a local path if necessary TGZPATH:STRING="some_location" + by setting + ZLIB_USE_LOCALCONTENT:BOOL=ON + LIBAEC_USE_LOCALCONTENT:BOOL=ON 3. If you plan to use compression plugins: A. Use source packages from an GIT server by adding the following CMake @@ -421,11 +423,7 @@ Notes: CMake and HDF5 3. Build and test results can be submitted to our CDash server: The CDash server for community submissions of hdf5 is at - https://cdash.hdfgroup.org. - - Submitters are requested to register their name and contact info and - maintain their test sites. After your first submission, login and go - to your "My CDash" link and claim your site. + https://my.cdash.org. We ask that all submissions include the configuration information and contact information in the CTest Notes Files upload step. See the @@ -508,132 +506,144 @@ These five steps are described in detail below. * :BOOL=[ON | OFF] is: - # This is the CMakeCache file used by HDF Group for daily tests. - ######################## - # EXTERNAL cache entries - ######################## - set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE) - set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE) - set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE) - set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build C++ support" FORCE) - set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) - set (HDF5_BUILD_JAVA ON CACHE BOOL "Build JAVA support" FORCE) - set (HDF5_INSTALL_MOD_FORTRAN "NO" CACHE STRING "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" FORCE) - set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC) - set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE) - set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE) - set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE) - set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE) - set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" FORCE) - set (HDF5_ALLOW_EXTERNAL_SUPPORT "TGZ" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE) - set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) - set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE) - set (ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use HDF5_ZLib from compressed file" FORCE) - set (ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use ZLIB from original location" FORCE) - set (ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLIB from original compressed file" FORCE) - set (ZLIB_USE_LOCALCONTENT ON CACHE BOOL "Use local file for ZLIB FetchContent" FORCE) - set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE) - set (LIBAEC_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" CACHE STRING "Use LIBAEC from original location" FORCE) - set (LIBAEC_TGZ_NAME "libaec-1.0.6.tar.gz" CACHE STRING "Use LIBAEC from original compressed file" FORCE) - set (LIBAEC_USE_LOCALCONTENT ON CACHE BOOL "Use local file for LIBAEC FetchContent" FORCE) - ####################### - # filter plugin options - ####################### - set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshots" CACHE STRING "Use PLUGINS from original location" FORCE) - set (PLUGIN_TGZ_NAME "hdf5_plugins-master.tar.gz" CACHE STRING "Use PLUGINS from compressed file" FORCE) - set (PLUGIN_USE_LOCALCONTENT ON CACHE BOOL "Use local file for PLUGIN FetchContent" FORCE) - set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) - ############ - # bitshuffle - ########### - set (BSHUF_GIT_URL "https://github.com/kiyo-masui/bitshuffle.git" CACHE STRING "Use BSHUF from HDF repository" FORCE) - set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (BSHUF_TGZ_ORIGPATH "https://github.com/kiyo-masui/bitshuffle/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BSHUF_TGZ_NAME "bitshuffle-0.5.1.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) - set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE) - ####### - # blosc - ####### - set (BLOSC_GIT_URL "https://github.com/Blosc/c-blosc.git" CACHE STRING "Use BLOSC from Github repository" FORCE) - set (BLOSC_GIT_BRANCH "main" CACHE STRING "" FORCE) - set (BLOSC_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC_TGZ_NAME "c-blosc-1.21.5.tar.gz" CACHE STRING "Use BLOSC from compressed file" FORCE) - set (BLOSC_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC package" FORCE) - set (BLOSC_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) - set (BLOSC_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (BLOSC_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BLOSC_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) - set (BLOSC_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC_ZLIB package" FORCE) - ####### - # bzip2 - ###### - # - set (BZ2_GIT_URL "https://github.com/libarchive/bzip2.git" CACHE STRING "Use BZ2 from GitHub repository" FORCE) - set (BZ2_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (BZ2_TGZ_ORIGPATH "https://github.com/libarchive/bzip2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) - set (BZ2_TGZ_NAME "bzip2-bzip2-1.0.8.tar.gz" CACHE STRING "Use BZ2 from compressed file" FORCE) - set (BZ2_PACKAGE_NAME "bz2" CACHE STRING "Name of BZ2 package" FORCE) - ####### - # fpzip - ####### - set (FPZIP_GIT_URL "https://github.com/LLNL/fpzip.git" CACHE STRING "Use FPZIP from GitHub repository" FORCE) - set (FPZIP_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (FPZIP_TGZ_ORIGPATH "https://github.com/LLNL/fpzip/releases/download/1.3.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (FPZIP_TGZ_NAME "fpzip-1.3.0.tar.gz" CACHE STRING "Use FPZIP from compressed file" FORCE) - set (FPZIP_PACKAGE_NAME "fpzip" CACHE STRING "Name of FPZIP package" FORCE) - ###### - # jpeg - ###### - set (JPEG_GIT_URL "No repo www.ijg.org/files" CACHE STRING "Use JPEG from ILG" FORCE) - set (JPEG_GIT_BRANCH "v9e" CACHE STRING "" FORCE) - set (JPEG_TGZ_ORIGPATH "https://www.ijg.org/files" CACHE STRING "Use PLUGINS from original location" FORCE) - set (JPEG_TGZ_NAME "jpegsrc.v9e.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE) - set (JPEG_PACKAGE_NAME "jpeg" CACHE STRING "Name of JPEG package" FORCE) - ###### - # lz4 - ###### - set (BUILD_LZ4_LIBRARY_SOURCE ON CACHE BOOL "build the lz4 library within the plugin" FORCE) - set (LZ4_GIT_URL "https://github.com/lz4/lz4.git" CACHE STRING "Use LZ4 from GitHub repository" FORCE) - set (LZ4_GIT_BRANCH "dev" CACHE STRING "" FORCE) - set (LZ4_TGZ_ORIGPATH "https://github.com/lz4/lz4/releases/download/v1.9.4" CACHE STRING "Use PLUGINS from original location" FORCE) - set (LZ4_TGZ_NAME "lz4-1.9.4.tar.gz" CACHE STRING "Use LZ4 from compressed file" FORCE) - set (LZ4_PACKAGE_NAME "lz4" CACHE STRING "Name of LZ4 package" FORCE) - ###### - # lzf - ###### - set (LZF_URL "http://software.schmorp.de/pkg/liblzf.html" CACHE STRING "LZF home" FORCE) - set (LZF_TGZ_ORIGPATH "http://dist.schmorp.de/liblzf" CACHE STRING "Use LZF from original location" FORCE) - set (LZF_TGZ_NAME "liblzf-3.6.tar.gz" CACHE STRING "Use LZF from compressed file" FORCE) - set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE) - ######## - # mafisc - ######## - #set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE) - #set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE) - ###### - # szf - ###### - set (SZ_GIT_URL "https://github.com/szcompressor/SZ.git" CACHE STRING "Use SZ filter from GitHub repository" FORCE) - set (SZ_GIT_BRANCH "master" CACHE STRING "" FORCE) - set (SZ_TGZ_ORIGPATH "https://github.com/szcompressor/SZ/releases/download/v2.1.12.5" CACHE STRING "Use PLUGINS from original location" FORCE) - set (SZ_TGZ_NAME "SZ-2.1.12.5.tar.gz" CACHE STRING "Use SZ filter from compressed file" FORCE) - set (SZF_PACKAGE_NAME "szf" CACHE STRING "Name of SZ package" FORCE) - ###### - # zfp - ###### - set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from GitHub repository" FORCE) - set (ZFP_GIT_BRANCH "develop" CACHE STRING "" FORCE) - set (ZFP_TGZ_ORIGPATH "https://github.com/LLNL/zfp/releases/download/1.0.0" CACHE STRING "Use PLUGINS from original location" FORCE) - set (ZFP_TGZ_NAME "zfp-1.0.0.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE) - set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE) - ###### - # zstd - ###### - set (ZSTD_GIT_URL "https://github.com/facebook/zstd.git" CACHE STRING "Use ZSTD from GitHub repository" FORCE) - set (ZSTD_GIT_BRANCH "dev" CACHE STRING "" FORCE) - set (ZSTD_TGZ_ORIGPATH "https://github.com/facebook/zstd/releases/download/v1.5.5" CACHE STRING "Use PLUGINS from original location" FORCE) - set (ZSTD_TGZ_NAME "zstd-1.5.5.tar.gz" CACHE STRING "Use ZSTD from compressed file" FORCE) - set (ZSTD_PACKAGE_NAME "zstd" CACHE STRING "Name of ZSTD package" FORCE) + # This is the CMakeCache file used by HDF Group for daily tests. + set (CMAKE_INSTALL_FRAMEWORK_PREFIX "Library/Frameworks" CACHE STRING "Frameworks installation directory" FORCE) + set (HDF_PACKAGE_EXT "" CACHE STRING "Name of HDF package extension" FORCE) + set (HDF_PACKAGE_NAMESPACE "hdf5::" CACHE STRING "Name for HDF package namespace (can be empty)" FORCE) + set (HDF5_BUILD_CPP_LIB ON CACHE BOOL "Build C++ support" FORCE) + set (HDF5_BUILD_FORTRAN ON CACHE BOOL "Build FORTRAN support" FORCE) + set (HDF5_BUILD_JAVA ON CACHE BOOL "Build JAVA support" FORCE) + set (HDF5_INSTALL_MOD_FORTRAN "NO" CACHE STRING "Copy FORTRAN mod files to include directory (NO SHARED STATIC)" FORCE) + set_property (CACHE HDF5_INSTALL_MOD_FORTRAN PROPERTY STRINGS NO SHARED STATIC) + set (HDF5_BUILD_GENERATORS ON CACHE BOOL "Build Test Generators" FORCE) + set (MPIEXEC_MAX_NUMPROCS "4" CACHE STRING "Minimum number of processes for HDF parallel tests" FORCE) + set (HDF5_ENABLE_ALL_WARNINGS ON CACHE BOOL "Enable all warnings" FORCE) + set (HDF_TEST_EXPRESS "2" CACHE STRING "Control testing framework (0-3)" FORCE) + set (HDF5_MINGW_STATIC_GCC_LIBS ON CACHE BOOL "Statically link libgcc/libstdc++" FORCE) + set (HDF5_ALLOW_EXTERNAL_SUPPORT "TGZ" CACHE STRING "Allow External Library Building (NO GIT TGZ)" FORCE) + set_property (CACHE HDF5_ALLOW_EXTERNAL_SUPPORT PROPERTY STRINGS NO GIT TGZ) + ######################## + # compression options + ######################## + set (ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of ZLIB package" FORCE) + set (ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use HDF5_ZLib from compressed file" FORCE) + set (ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use ZLIB from original location" FORCE) + set (ZLIB_USE_LOCALCONTENT ON CACHE BOOL "Use local file for ZLIB FetchContent" FORCE) + set (ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) + set (ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) + set (LIBAEC_PACKAGE_NAME "libaec" CACHE STRING "Name of AEC SZIP package" FORCE) + set (LIBAEC_TGZ_NAME "libaec-1.0.6.tar.gz" CACHE STRING "Use SZip AEC from compressed file" FORCE) + set (LIBAEC_TGZ_ORIGPATH "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" CACHE STRING "Use LIBAEC from original location" FORCE) + set (LIBAEC_USE_LOCALCONTENT ON CACHE BOOL "Use local file for LIBAEC FetchContent" FORCE) + set (LIBAEC_GIT_URL "https://github.com/MathisRosenhauer/libaec.git" CACHE STRING "Use LIBAEC from GitHub repository" FORCE) + set (LIBAEC_GIT_BRANCH "v1.0.6" CACHE STRING "" FORCE) + ######################## + # API test options + ######################## + set (KWSYS_TGZ_ORIGPATH "https://gitlab.kitware.com/utils/kwsys/-/archive/master" CACHE STRING "Use KWSYS from original location" FORCE) + set (KWSYS_TGZ_NAME "kwsys-master.tar.gz" CACHE STRING "Use KWSYS from original compressed file" FORCE) + set (KWSYS_USE_LOCALCONTENT OFF CACHE BOOL "Use local file for KWSYS FetchContent" FORCE) + ######################## + # filter plugin options + ######################## + set (PLUGIN_TGZ_ORIGPATH "https://github.com/HDFGroup/hdf5_plugins/releases/download/snapshots" CACHE STRING "Use PLUGINS from original location" FORCE) + set (PLUGIN_TGZ_NAME "hdf5_plugins-master.tar.gz" CACHE STRING "Use PLUGINS from compressed file" FORCE) + set (PLUGIN_USE_LOCALCONTENT ON CACHE BOOL "Use local file for PLUGIN FetchContent" FORCE) + set (PLUGIN_PACKAGE_NAME "pl" CACHE STRING "Name of PLUGIN package" FORCE) + set (PLUGIN_GIT_URL "https://github.com/HDFGroup/hdf5_plugins.git" CACHE STRING "Use plugins from HDF Group repository" FORCE) + set (PLUGIN_GIT_BRANCH "master" CACHE STRING "" FORCE) + ############# + # bitshuffle + ############# + set (BSHUF_GIT_URL "https://github.com/kiyo-masui/bitshuffle.git" CACHE STRING "Use BSHUF from HDF repository" FORCE) + set (BSHUF_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (BSHUF_TGZ_ORIGPATH "https://github.com/kiyo-masui/bitshuffle/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) + set (BSHUF_TGZ_NAME "bitshuffle-0.5.1.tar.gz" CACHE STRING "Use BSHUF from compressed file" FORCE) + set (BSHUF_PACKAGE_NAME "bshuf" CACHE STRING "Name of BSHUF package" FORCE) + ######## + # blosc + ######## + set (BLOSC_GIT_URL "https://github.com/Blosc/c-blosc.git" CACHE STRING "Use BLOSC from Github repository" FORCE) + set (BLOSC_GIT_BRANCH "main" CACHE STRING "" FORCE) + set (BLOSC_TGZ_ORIGPATH "https://github.com/Blosc/c-blosc/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) + set (BLOSC_TGZ_NAME "c-blosc-1.21.5.tar.gz" CACHE STRING "Use BLOSC from compressed file" FORCE) + set (BLOSC_PACKAGE_NAME "blosc" CACHE STRING "Name of BLOSC package" FORCE) + set (BLOSC_ZLIB_GIT_URL "https://github.com/madler/zlib.git" CACHE STRING "Use ZLIB from GitHub repository" FORCE) + set (BLOSC_ZLIB_GIT_BRANCH "develop" CACHE STRING "" FORCE) + set (BLOSC_ZLIB_TGZ_ORIGPATH "https://github.com/madler/zlib/releases/download/v1.3" CACHE STRING "Use PLUGINS from original location" FORCE) + set (BLOSC_ZLIB_TGZ_NAME "zlib-1.3.tar.gz" CACHE STRING "Use ZLib from compressed file" FORCE) + set (BLOSC_ZLIB_PACKAGE_NAME "zlib" CACHE STRING "Name of BLOSC_ZLIB package" FORCE) + ######## + # bzip2 + ######## + set (BZ2_GIT_URL "https://github.com/libarchive/bzip2.git" CACHE STRING "Use BZ2 from GitHub repository" FORCE) + set (BZ2_GIT_BRANCH "bzip2-1.0.8" CACHE STRING "" FORCE) + set (BZ2_TGZ_ORIGPATH "https://github.com/libarchive/bzip2/archive/refs/tags" CACHE STRING "Use PLUGINS from original location" FORCE) + set (BZ2_TGZ_NAME "bzip2-bzip2-1.0.8.tar.gz" CACHE STRING "Use BZ2 from compressed file" FORCE) + set (BZ2_PACKAGE_NAME "bz2" CACHE STRING "Name of BZ2 package" FORCE) + ######## + # fpzip + ######## + set (FPZIP_GIT_URL "https://github.com/LLNL/fpzip.git" CACHE STRING "Use FPZIP from GitHub repository" FORCE) + set (FPZIP_GIT_BRANCH "develop" CACHE STRING "" FORCE) + set (FPZIP_TGZ_ORIGPATH "https://github.com/LLNL/fpzip/releases/download/1.3.0" CACHE STRING "Use PLUGINS from original location" FORCE) + set (FPZIP_TGZ_NAME "fpzip-1.3.0.tar.gz" CACHE STRING "Use FPZIP from compressed file" FORCE) + set (FPZIP_PACKAGE_NAME "fpzip" CACHE STRING "Name of FPZIP package" FORCE) + ####### + # jpeg + ####### + set (JPEG_GIT_URL "https://github.com/libjpeg-turbo/libjpeg-turbo.git" CACHE STRING "Use JPEG from TurboJPEG" FORCE) + set (JPEG_GIT_BRANCH "jpeg-9e" CACHE STRING "" FORCE) + set (JPEG_TGZ_ORIGPATH "https://www.ijg.org/files" CACHE STRING "Use PLUGINS from original location" FORCE) + set (JPEG_TGZ_NAME "jpegsrc.v9e.tar.gz" CACHE STRING "Use JPEG from compressed file" FORCE) + set (JPEG_PACKAGE_NAME "jpeg" CACHE STRING "Name of JPEG package" FORCE) + ###### + # lz4 + ###### + set (BUILD_LZ4_LIBRARY_SOURCE ON CACHE BOOL "build the lz4 library within the plugin" FORCE) + set (LZ4_GIT_URL "https://github.com/lz4/lz4.git" CACHE STRING "Use LZ4 from GitHub repository" FORCE) + set (LZ4_GIT_BRANCH "dev" CACHE STRING "" FORCE) + set (LZ4_TGZ_ORIGPATH "https://github.com/lz4/lz4/releases/download/v1.9.4" CACHE STRING "Use PLUGINS from original location" FORCE) + set (LZ4_TGZ_NAME "lz4-1.9.4.tar.gz" CACHE STRING "Use LZ4 from compressed file" FORCE) + set (LZ4_PACKAGE_NAME "lz4" CACHE STRING "Name of LZ4 package" FORCE) + ###### + # lzf + ###### + set (LZF_URL "http://software.schmorp.de/pkg/liblzf.html" CACHE STRING "LZF home" FORCE) + set (LZF_TGZ_ORIGPATH "http://dist.schmorp.de/liblzf" CACHE STRING "Use LZF from original location" FORCE) + set (LZF_TGZ_NAME "liblzf-3.6.tar.gz" CACHE STRING "Use LZF from compressed file" FORCE) + set (LZF_PACKAGE_NAME "lzf" CACHE STRING "Name of LZF package" FORCE) + ######### + # mafisc + ######### + #set (BUILD_MAFISC_LIBRARY_SOURCE OFF CACHE BOOL "build the mafisc library within the plugin" FORCE) + #set (MAFISC_TGZ_ORIGPATH "" CACHE STRING "Use PLUGINS from original location" FORCE) + #set (MAFISC_TGZ_NAME ".tar.gz" CACHE STRING "Use MAFISC from compressed file" FORCE) + #set (MAFISC_PACKAGE_NAME "mafisc" CACHE STRING "Name of MAFISC package" FORCE) + ##### + # sz + ##### + set (SZ_GIT_URL "https://github.com/szcompressor/SZ.git" CACHE STRING "Use SZ filter from GitHub repository" FORCE) + set (SZ_GIT_BRANCH "master" CACHE STRING "" FORCE) + set (SZ_TGZ_ORIGPATH "https://github.com/szcompressor/SZ/releases/download/v2.1.12.5" CACHE STRING "Use PLUGINS from original location" FORCE) + set (SZ_TGZ_NAME "SZ-2.1.12.5.tar.gz" CACHE STRING "Use SZ filter from compressed file" FORCE) + set (SZ_PACKAGE_NAME "SZ" CACHE STRING "Name of SZ filter package" FORCE) + ###### + # zfp + ###### + set (ZFP_GIT_URL "https://github.com/LLNL/zfp.git" CACHE STRING "Use ZFP from GitHub repository" FORCE) + set (ZFP_GIT_BRANCH "develop" CACHE STRING "" FORCE) + set (ZFP_TGZ_ORIGPATH "https://github.com/LLNL/zfp/releases/download/1.0.0" CACHE STRING "Use PLUGINS from original location" FORCE) + set (ZFP_TGZ_NAME "zfp-1.0.0.tar.gz" CACHE STRING "Use ZFP from compressed file" FORCE) + set (ZFP_PACKAGE_NAME "zfp" CACHE STRING "Name of ZFP package" FORCE) + ###### + # zstd + ###### + set (ZSTD_GIT_URL "https://github.com/facebook/zstd.git" CACHE STRING "Use ZSTD from GitHub repository" FORCE) + set (ZSTD_GIT_BRANCH "dev" CACHE STRING "" FORCE) + set (ZSTD_TGZ_ORIGPATH "https://github.com/facebook/zstd/releases/download/v1.5.5" CACHE STRING "Use PLUGINS from original location" FORCE) + set (ZSTD_TGZ_NAME "zstd-1.5.5.tar.gz" CACHE STRING "Use ZSTD from compressed file" FORCE) + set (ZSTD_PACKAGE_NAME "zstd" CACHE STRING "Name of ZSTD package" FORCE) 2. Configure the cache settings @@ -719,8 +729,7 @@ These five steps are described in detail below. file such as .bz2, .tar, .tar.gz, .tgz, or .zip. Also define CMAKE_BUILD_TYPE to be the configuration type. - NOTE: HDF5 uses the file named by LIBAEC_TGZ_NAME to build SZIP. This - is used to account for the different headers and library names. + NOTE: the file named by LIBAEC_TGZ_NAME is used to build SZIP. 4. Test HDF5 @@ -903,7 +912,7 @@ if (BUILD_TESTING) HDF5_TEST_FHEAP_VFD "Execute fheap test with different VFDs" ON TEST_SHELL_SCRIPTS "Enable shell script tests" ON HDF5_DISABLE_TESTS_REGEX "Regex pattern to set execution of specific tests to DISABLED" "" - + HDF5_USING_ANALYSIS_TOOL "Indicate that an analysis checker is used" ON ---------------- External Library Options --------------------- HDF5_ALLOW_EXTERNAL_SUPPORT "Allow External Library Building (NO GIT TGZ)" "NO" HDF5_ENABLE_PLUGIN_SUPPORT "Enable PLUGIN Filters" OFF @@ -918,8 +927,8 @@ ZLIB_USE_LOCALCONTENT "Use local file for ZLIB FetchContent" ON SZIP_USE_EXTERNAL "Use External Library Building for SZIP" OFF if (HDF5_ENABLE_SZIP_SUPPORT) HDF5_ENABLE_SZIP_ENCODING "Use SZip Encoding" ON -LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6/libaec-1.0.6.tar.gz" -LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-v1.0.6.tar.gz" +LIBAEC_TGZ_ORIGPATH "Use LIBAEC from original location" "https://github.com/MathisRosenhauer/libaec/releases/download/v1.0.6" +LIBAEC_TGZ_NAME "Use LIBAEC from original compressed file" "libaec-1.0.6.tar.gz" LIBAEC_USE_LOCALCONTENT "Use local file for LIBAEC FetchContent" ON PLUGIN_USE_EXTERNAL "Use External Library Building for PLUGINS" OFF @@ -1153,6 +1162,14 @@ For instance, to change the support files to use a local directory, edit CMakeUs Then you can change or add options for your specific case. +======================================================================== +XI. Autotools Configuration and Build +======================================================================== +See RELEASE.txt in the release_notes/ directory for the list of platforms +tested for this release. + +Instructions for building and testing HDF5 using autotools can be found in the +INSTALL_Auto.txt file found in this folder. ======================================================================== diff --git a/release_docs/RELEASE.txt b/release_docs/RELEASE.txt index 364a3b1..474ece3 100644 --- a/release_docs/RELEASE.txt +++ b/release_docs/RELEASE.txt @@ -47,6 +47,16 @@ New Features Configuration: ------------- + - Renamed HDF5_ENABLE_USING_MEMCHECKER to HDF5_USING_ANALYSIS_TOOL + + The HDF5_USING_ANALYSIS_TOOL is used to indicate to test macros that + an analysis tool is being used and that the tests should not use + the runTest.cmake macros and it's variations. The analysis tools, + like valgrind, test the macro code instead of the program under test. + + HDF5_ENABLE_USING_MEMCHECKER is still used for controlling the HDF5 + define, H5_USING_MEMCHECKER. + - New option for building and naming tools in CMake The following option has been added: @@ -179,6 +189,16 @@ Bug Fixes since HDF5-1.14.3 release =================================== Library ------- + - Fixed a bug where H5Tset_fields does not account for any offset + set for a floating-point datatype when determining if values set + for spos, epos, esize, mpos and msize make sense for the datatype + + Previously, H5Tset_fields did not take datatype offsets into account + when determining if the values set make sense for the datatype. + This would cause the function to fail when the precision for a + datatype is correctly set such that the offset bits are not included. + This has now been fixed. + - Fixed H5Fget_access_plist so that it returns the file locking settings for a file diff --git a/release_docs/USING_HDF5_CMake.txt b/release_docs/USING_HDF5_CMake.txt index 698b275..0cd75df 100644 --- a/release_docs/USING_HDF5_CMake.txt +++ b/release_docs/USING_HDF5_CMake.txt @@ -39,7 +39,7 @@ I. Preconditions 1. We suggest you obtain the latest CMake for your platform from the Kitware web site. The HDF5 1.14.x product requires a minimum CMake version - of 3.18. If you are using VS2022, the minimum version is 3.21. + of 3.18. If you are using VS2022, the minimum CMake version is 3.21. 2. You have installed the HDF5 library built with CMake, by executing the HDF Install Utility (the *.msi file in the binary package for @@ -93,9 +93,6 @@ Go through these steps to build HDF5 applications with CMake. 4. Test HDF5 Applications These steps are described in more detail below. - - - 1. Run CMake The visual CMake executable is named "cmake-gui.exe" on Windows and should be @@ -119,8 +116,6 @@ These steps are described in more detail below. * MinGW Makefiles * NMake Makefiles * Unix Makefiles - * Visual Studio 14 2015 - * Visual Studio 14 2015 Win64 * Visual Studio 15 2017 * Visual Studio 15 2017 Win64 * Visual Studio 16 2019 @@ -138,7 +133,7 @@ These steps are described in more detail below. 2.1 Visual CMake users, click the Configure button. If this is the first time you are running cmake-gui in this directory, you will be prompted for the - generator you wish to use (for example on Windows, Visual Studio 14 2015 Win64). + generator you wish to use (for example on Windows, Visual Studio 16 2019). CMake will read in the CMakeLists.txt files from the source directory and display options for the HDF5 project. After the first configure you can adjust the cache settings and/or specify locations of other programs. @@ -156,7 +151,7 @@ These steps are described in more detail below. 2.2 Alternative command line example on Windows in c:\MyHDFstuff\hdf5\build directory: - cmake -G "Visual Studio 14 2015 Win64" -DBUILD_TESTING:BOOL=ON .. + cmake -G "Visual Studio 16 2019" -A "x64" -DBUILD_TESTING:BOOL=ON .. 3. Build HDF5 Applications @@ -205,7 +200,7 @@ source root. Include the following text in the file: ########################################################## cmake_minimum_required (VERSION 3.18) -project (HDF5MyApp C CXX) +project (HDF5MyApp C) set (LIB_TYPE STATIC) # or SHARED string(TOLOWER ${LIB_TYPE} SEARCH_TYPE) @@ -239,11 +234,10 @@ command line and the build folder is created as a sub-folder. Windows should adjust the forward slash to double backslashes, except for the HDF_DIR environment variable. -NOTE: this file is available at the HDF web site: - https://portal.hdfgroup.org/display/support/Building+HDF5+with+CMake +NOTE: this file is available in the HDF5 repository, for more information see: + https://github.com/HDFGroup/hdf5/blob/develop/release_docs/USING_CMake_Examples.txt - HDF5_Examples.cmake - HDF5_Examples_options.cmake + ctest -S HDF5_Examples.cmake -C Release -V -O test.log Also available at the HDF web site is a CMake application framework template. You can quickly add files to the framework and execute the script to compile diff --git a/release_docs/USING_HDF5_VS.txt b/release_docs/USING_HDF5_VS.txt index 03db0db..97357be 100644 --- a/release_docs/USING_HDF5_VS.txt +++ b/release_docs/USING_HDF5_VS.txt @@ -12,7 +12,7 @@ be found in the USING_HDF5_CMake.txt file found in this folder. NOTE: Building applications with the dynamic/shared hdf5 libraries requires that the "H5_BUILT_AS_DYNAMIC_LIB" compile definition be used. Go to "Project" and select "Properties", find "Configuration Properties", - and then "C/C+±"and then "Preprocessor". + and then "C/C++"and then "Preprocessor". Add H5_BUILT_AS_DYNAMIC_LIB to Preprocessor definitions. The following two sections are helpful if you do not use CMake to build @@ -78,7 +78,12 @@ Using Visual Studio 2008 with HDF5 Libraries built with Visual Studio 2008 library, and then optionally the HDF5 High Level, Fortran or C++ libraries. For example, to compile a C++ application, enter: - szip.lib zlib.lib hdf5.lib hdf5_cpp.lib + hdf5.lib hdf5_cpp.lib + + For static linking: + HDF5 libraries: libhdf5.lib libhdf5_cpp.lib + Compression libraries: libszaec.lib libaec.lib libzlib.lib + System libraries: shlwapi.lib ======================================================================== 3. Helpful Pointers @@ -86,10 +91,9 @@ Using Visual Studio 2008 with HDF5 Libraries built with Visual Studio 2008 3.1 FAQ - Many other common questions and hints are located online and being updated - in the HDF Knowledge Base, please see: + Community support forum available, please see: - https://portal.hdfgroup.org/display/knowledge/HDF+Knowledge+Base + https://forum.hdfgroup.org/c/hdf5/8 ************************************************************************ Please send email to help@hdfgroup.org for further assistance. diff --git a/src/H5Tfloat.c b/src/H5Tfloat.c index 01a5607..9f7b4f7 100644 --- a/src/H5Tfloat.c +++ b/src/H5Tfloat.c @@ -106,11 +106,11 @@ H5Tset_fields(hid_t type_id, size_t spos, size_t epos, size_t esize, size_t mpos dt = dt->shared->parent; /*defer to parent*/ if (H5T_FLOAT != dt->shared->type) HGOTO_ERROR(H5E_DATATYPE, H5E_BADTYPE, FAIL, "operation not defined for datatype class"); - if (epos + esize > dt->shared->u.atomic.prec) + if (epos + esize - dt->shared->u.atomic.offset > dt->shared->u.atomic.prec) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "exponent bit field size/location is invalid"); - if (mpos + msize > dt->shared->u.atomic.prec) + if (mpos + msize - dt->shared->u.atomic.offset > dt->shared->u.atomic.prec) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "mantissa bit field size/location is invalid"); - if (spos >= dt->shared->u.atomic.prec) + if (spos - dt->shared->u.atomic.offset >= dt->shared->u.atomic.prec) HGOTO_ERROR(H5E_ARGS, H5E_BADVALUE, FAIL, "sign location is not valid"); /* Check for overlap */ diff --git a/src/H5Tpublic.h b/src/H5Tpublic.h index a117075..abf64d9 100644 --- a/src/H5Tpublic.h +++ b/src/H5Tpublic.h @@ -2568,6 +2568,17 @@ H5_DLL herr_t H5Tset_sign(hid_t type_id, H5T_sign_t sign); * Fields are not allowed to extend beyond the number of bits of * precision, nor are they allowed to overlap with one another. * + * \note The size and precision of, as well as any offset for, a floating-point + * datatype should generally be set appropriately before calling + * H5Tset_fields(). Otherwise, H5Tset_fields() may fail when checking that + * the values make sense for the datatype. However, if the precision of a + * floating-point datatype will be decreased during its creation with a call + * to H5Tset_precision(), then H5Tset_fields() should instead be called + * first to set appropriate values for \p spos, \p epos, \p esize, \p mpos + * and \p msize before reducing the precision of the datatype with + * H5Tset_precision(). This is of particular concern if another floating-point + * datatype was copied as a starting point. + * * \since 1.0.0 * */ diff --git a/test/CMakeTests.cmake b/test/CMakeTests.cmake index 296d430..ec92a76 100644 --- a/test/CMakeTests.cmake +++ b/test/CMakeTests.cmake @@ -344,7 +344,7 @@ set (H5TEST_SEPARATE_TESTS ) foreach (h5_test ${H5_TESTS}) if (NOT h5_test IN_LIST H5TEST_SEPARATE_TESTS) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-${h5_test} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) set_tests_properties (H5TEST-${h5_test} PROPERTIES FIXTURES_REQUIRED clear_H5TEST @@ -403,7 +403,7 @@ if (NOT CYGWIN) WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST ) set_tests_properties (H5TEST-cache-clean-objects PROPERTIES FIXTURES_CLEANUP clear_cache) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-cache COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME H5TEST-cache COMMAND "${CMAKE_COMMAND}" @@ -477,7 +477,7 @@ add_test ( WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST ) set_tests_properties (H5TEST-external_env-clean-objects PROPERTIES FIXTURES_CLEANUP clear_external_env) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-external_env COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME H5TEST-external_env COMMAND "${CMAKE_COMMAND}" @@ -512,7 +512,7 @@ add_test ( ${HDF5_TEST_BINARY_DIR}/H5TEST ) set_tests_properties (H5TEST-vds_env-clean-objects PROPERTIES FIXTURES_CLEANUP clear_vds_env) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-vds_env COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME H5TEST-vds_env COMMAND "${CMAKE_COMMAND}" @@ -559,7 +559,7 @@ add_test (NAME H5TEST-flush-clean-objects WORKING_DIRECTORY ${HDF5_TEST_BINARY_DIR}/H5TEST ) set_tests_properties (H5TEST-flush-clean-objects PROPERTIES FIXTURES_CLEANUP clear_flush) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-flush1 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME H5TEST-flush1 COMMAND "${CMAKE_COMMAND}" @@ -581,7 +581,7 @@ set_tests_properties (H5TEST-flush1 PROPERTIES if ("H5TEST-flush1" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") set_tests_properties (H5TEST-flush1 PROPERTIES DISABLED true) endif () -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-flush2 COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME H5TEST-flush2 COMMAND "${CMAKE_COMMAND}" @@ -814,7 +814,7 @@ add_test (NAME H5TEST-links_env-clean-objects ${HDF5_TEST_BINARY_DIR}/H5TEST ) set_tests_properties (H5TEST-links_env-clean-objects PROPERTIES FIXTURES_CLEANUP clear_links_env) -if (HDF5_ENABLE_USING_MEMCHECKER) +if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5TEST-links_env COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME H5TEST-links_env COMMAND "${CMAKE_COMMAND}" diff --git a/test/cmpd_dset.c b/test/cmpd_dset.c index 460c8ae..227b0c3 100644 --- a/test/cmpd_dset.c +++ b/test/cmpd_dset.c @@ -450,9 +450,12 @@ test_select_src_subset(char *fname, hid_t fapl, hid_t in_dxpl, unsigned set_fill hsize_t dims[2] = {NX, NY}; hsize_t chunk_dims[2] = {NX / 10, NY / 10}; unsigned char *rew_buf = NULL, *save_rew_buf = NULL, *rbuf = NULL; - int fillvalue = (-1); + stype1 fillvalue; size_t ss, ss1, ss2; + /* Initialize the fill value */ + memset(&fillvalue, 0, sizeof(stype1)); + /* Create the file for this test */ if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; @@ -625,9 +628,12 @@ test_select_dst_subset(char *fname, hid_t fapl, hid_t in_dxpl, unsigned set_fill hsize_t dims[2] = {NX, NY}; hsize_t chunk_dims[2] = {NX / 10, NY / 10}; unsigned char *rew_buf = NULL, *save_rew_buf = NULL, *rbuf = NULL; - int fillvalue = (-1); + stype2 fillvalue; size_t ss, ss1, ss2; + /* Initialize the fill value */ + memset(&fillvalue, 0, sizeof(stype2)); + /* Create the file for this test */ if ((fid = H5Fcreate(fname, H5F_ACC_TRUNC, H5P_DEFAULT, fapl)) < 0) goto error; @@ -810,17 +816,22 @@ test_select_compound(char *fname, hid_t fapl, hid_t in_dxpl, unsigned set_fillva /* Other variables */ unsigned int i; - hid_t fid = H5I_INVALID_HID; - hid_t did = H5I_INVALID_HID; - hid_t sid = H5I_INVALID_HID; - hid_t dcpl = H5I_INVALID_HID; - hid_t dxpl = H5I_INVALID_HID; - hid_t array_dt = H5I_INVALID_HID; - static hsize_t dim[] = {NX, NY}; - int fillvalue = (-1); + hid_t fid = H5I_INVALID_HID; + hid_t did = H5I_INVALID_HID; + hid_t sid = H5I_INVALID_HID; + hid_t dcpl = H5I_INVALID_HID; + hid_t dxpl = H5I_INVALID_HID; + hid_t array_dt = H5I_INVALID_HID; + static hsize_t dim[] = {NX, NY}; + s1_t fillvalue1; + s7_t fillvalue7; size_t ss = 0, ss1 = 0, ss2 = 0; hsize_t memb_size[1] = {4}; + /* Initialize the fill values */ + memset(&fillvalue1, 0, sizeof(s1_t)); + memset(&fillvalue7, 0, sizeof(s7_t)); + /* Allocate buffers */ if (NULL == (s1 = (s1_t *)calloc(NX * NY, sizeof(s1_t)))) goto error; @@ -900,7 +911,7 @@ test_select_compound(char *fname, hid_t fapl, hid_t in_dxpl, unsigned set_fillva /* Set fill value accordingly */ if (set_fillvalue) { - if (H5Pset_fill_value(dcpl, s1_tid, &fillvalue) < 0) + if (H5Pset_fill_value(dcpl, s1_tid, &fillvalue1) < 0) goto error; } @@ -1022,7 +1033,7 @@ test_select_compound(char *fname, hid_t fapl, hid_t in_dxpl, unsigned set_fillva /* Set fill value accordingly */ if (set_fillvalue) { - if (H5Pset_fill_value(dcpl, s7_tid, &fillvalue) < 0) + if (H5Pset_fill_value(dcpl, s7_tid, &fillvalue7) < 0) goto error; } @@ -1115,6 +1126,7 @@ test_select_compound(char *fname, hid_t fapl, hid_t in_dxpl, unsigned set_fillva /* Release buffers */ free(s1); + free(save_s1); free(s3); free(save_s3); free(rbuf1); @@ -1145,30 +1157,19 @@ error: H5E_END_TRY /* Release resources */ - if (s1) - free(s1); - if (s3) - free(s3); - if (save_s3) - free(save_s3); - if (rbuf1) - free(rbuf1); - if (rbuf3) - free(rbuf3); - if (s7) - free(s7); - if (save_s7) - free(save_s7); - if (s8) - free(s8); - if (save_s8) - free(save_s8); - if (rbuf7) - free(rbuf7); - if (rbuf8) - free(rbuf8); - if (save_rbuf8) - free(save_rbuf8); + free(s1); + free(save_s1); + free(s3); + free(save_s3); + free(rbuf1); + free(rbuf3); + free(s7); + free(save_s7); + free(s8); + free(save_s8); + free(rbuf7); + free(rbuf8); + free(save_rbuf8); printf("\n*** SELECT COMPOUND DATASET TESTS FAILED ***\n"); return 1; diff --git a/test/dtypes.c b/test/dtypes.c index ac8697e..7aa3b17 100644 --- a/test/dtypes.c +++ b/test/dtypes.c @@ -4157,6 +4157,89 @@ error: } /*------------------------------------------------------------------------- + * Function: test_set_fields_offset + * + * Purpose: Tests for a bug in H5Tset_fields in which the function + * didn't account for an offset set for a floating-point + * datatype when checking whether the values set for the + * floating-point fields make sense for the datatype. + * + * Return: Success: 0 + * Failure: number of errors + * + *------------------------------------------------------------------------- + */ +static int +test_set_fields_offset(void) +{ + hid_t tid = H5I_INVALID_HID; + + if ((tid = H5Tcopy(H5T_NATIVE_FLOAT)) < 0) { + H5_FAILED(); + printf("Can't copy datatype\n"); + goto error; + } + + /* Create a custom 128-bit floating-point datatype */ + if (H5Tset_size(tid, 16) < 0) { + H5_FAILED(); + printf("Can't set datatype size\n"); + goto error; + } + + /* We will have 7 bytes of MSB padding + 5 bytes of offset padding */ + if (H5Tset_precision(tid, 116) < 0) { + H5_FAILED(); + printf("Can't set datatype size\n"); + goto error; + } + + if (H5Tset_offset(tid, 5) < 0) { + H5_FAILED(); + printf("Can't set datatype offset\n"); + goto error; + } + + if (H5Tset_ebias(tid, 16383) < 0) { + H5_FAILED(); + printf("Can't set datatype exponent bias\n"); + goto error; + } + + /* + * Floating-point type with the following: + * + * - 5 bits of LSB padding (bits 0 - 4) + * - 100-bit mantissa starting at bit 5 + * - 15-bit exponent starting at bit 105 + * - 1 sign bit at bit 120 + * - 7 bits of MSB padding + */ + if (H5Tset_fields(tid, 120, 105, 15, 5, 100) < 0) { + H5_FAILED(); + printf("Can't set datatype's floating-point fields\n"); + goto error; + } + + if (H5Tclose(tid) < 0) { + H5_FAILED(); + printf("Can't close datatype\n"); + goto error; + } + + return 0; + +error: + H5E_BEGIN_TRY + { + H5Tclose(tid); + } + H5E_END_TRY; + + return 1; +} + +/*------------------------------------------------------------------------- * Function: test_transient * * Purpose: Tests transient datatypes. @@ -9032,6 +9115,7 @@ main(void) nerrors += test_detect(); nerrors += test_compound_1(); nerrors += test_query(); + nerrors += test_set_fields_offset(); nerrors += test_transient(fapl); nerrors += test_named(fapl); nerrors += test_encode(); diff --git a/test/select_io_dset.c b/test/select_io_dset.c index 33b1c84..1ff7fe2 100644 --- a/test/select_io_dset.c +++ b/test/select_io_dset.c @@ -773,7 +773,10 @@ test_cmpd_with_bkg(hid_t fid, unsigned chunked, unsigned mwbuf) s2_t *s2_wbuf_bak = NULL; s2_t *s2_rbuf = NULL; char dset_name[DSET_NAME_LEN]; - int fillvalue = -1; + s1_t fillvalue; + + /* Initialize the fill value */ + memset(&fillvalue, 0, sizeof(s1_t)); /* Create dataset transfer property list */ if ((dxpl = H5Pcreate(H5P_DATASET_XFER)) < 0) diff --git a/testpar/CMakeVFDTests.cmake b/testpar/CMakeVFDTests.cmake index cdec5f7..63b5d3d 100644 --- a/testpar/CMakeVFDTests.cmake +++ b/testpar/CMakeVFDTests.cmake @@ -28,7 +28,7 @@ set (H5P_VFD_subfiling_TESTS_SKIP ) macro (ADD_VFD_TEST vfdname resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) foreach (h5_test ${H5P_VFD_TESTS}) if (NOT "${h5_test}" IN_LIST H5P_VFD_${vfdname}_TESTS_SKIP) add_test ( diff --git a/tools/test/h5copy/CMakeTests.cmake b/tools/test/h5copy/CMakeTests.cmake index 27e7e1a..03a783e 100644 --- a/tools/test/h5copy/CMakeTests.cmake +++ b/tools/test/h5copy/CMakeTests.cmake @@ -142,7 +142,7 @@ endmacro () macro (ADD_SKIP_H5_TEST testname skipresultfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5COPY-${testname}-${skipresultfile} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${testname}-${skipresultfile} ${ARGN}" @@ -260,7 +260,7 @@ COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/${testname}.out.h5 ) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5COPY-CMP-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ -i ./testfiles/${infile} -o ./testfiles/${testname}.out.h5 ${vparam} ${sparam} ${srcname} ${dparam} ${dstname} ${ARGN}) if ("${resultcode}" STREQUAL "1") set_tests_properties (H5COPY-CMP-${testname} PROPERTIES WILL_FAIL "true") @@ -293,7 +293,7 @@ endmacro () macro (ADD_H5_UD_TEST testname resultcode infile sparam srcname dparam dstname cmpfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) # Remove any output file left over from previous test run add_test ( NAME H5COPY_UD-${testname}-clear-objects @@ -367,7 +367,7 @@ endmacro () macro (ADD_H5_UD_ERR_TEST testname resultcode infile sparam srcname dparam dstname cmpfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) # Remove any output file left over from previous test run add_test ( NAME H5COPY_UD_ERR-${testname}-clear-objects @@ -444,12 +444,12 @@ macro (ADD_SIMPLE_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5COPY-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5COPY-${resultfile} PROPERTIES WILL_FAIL "true") endif () - else (HDF5_ENABLE_USING_MEMCHECKER) + else (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5COPY-${resultfile} COMMAND "${CMAKE_COMMAND}" diff --git a/tools/test/h5diff/CMakeTests.cmake b/tools/test/h5diff/CMakeTests.cmake index 30dffb6..3d867c7 100644 --- a/tools/test/h5diff/CMakeTests.cmake +++ b/tools/test/h5diff/CMakeTests.cmake @@ -414,7 +414,7 @@ macro (ADD_SH5_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DIFF-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5DIFF-${resultfile} PROPERTIES WILL_FAIL "true") @@ -444,7 +444,7 @@ macro (ADD_PH5_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME MPI_TEST_H5DIFF-${resultfile} COMMAND ${MPIEXEC_EXECUTABLE} ${MPIEXEC_NUMPROC_FLAG} ${MPIEXEC_MAX_NUMPROCS} ${MPIEXEC_PREFLAGS} $ ${MPIEXEC_POSTFLAGS} ${ARGN}) set_tests_properties (MPI_TEST_H5DIFF-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/PAR/testfiles") if (${resultcode}) @@ -478,7 +478,7 @@ endmacro () macro (ADD_H5_UD_TEST testname resultcode resultfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) if ("${resultcode}" STREQUAL "2") add_test ( NAME H5DIFF_UD-${testname} diff --git a/tools/test/h5dump/CMakeTests.cmake b/tools/test/h5dump/CMakeTests.cmake index 323e5dc..d7f39e1 100644 --- a/tools/test/h5dump/CMakeTests.cmake +++ b/tools/test/h5dump/CMakeTests.cmake @@ -441,7 +441,7 @@ macro (ADD_HELP_TEST testname resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) else () add_test ( @@ -467,7 +467,7 @@ macro (ADD_SKIP_H5_TEST skipresultfile skipresultcode testtype) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-${skipresultfile} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${skipresultfile} ${ARGN}" @@ -481,7 +481,7 @@ macro (ADD_H5_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true") @@ -521,7 +521,7 @@ WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std" ) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-N-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5DUMP-N-${resultfile} PROPERTIES WILL_FAIL "true") @@ -570,7 +570,7 @@ WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std" ) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN} ${resultfile}.txt ${targetfile}) if (${resultcode}) set_tests_properties (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true") @@ -615,7 +615,7 @@ COMMAND ${CMAKE_COMMAND} -E remove ${resultfile}.txt ) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) set_tests_properties (H5DUMP-${resultfile}-clean-objects PROPERTIES DEPENDS H5DUMP-${resultfile} WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std" @@ -639,7 +639,7 @@ WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std" ) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ --ddl=${ddlfile}.txt ${ARGN} ${resultfile}.txt ${targetfile}) if (${resultcode}) set_tests_properties (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true") @@ -694,7 +694,7 @@ ${ddlfile}.txt ${resultfile}.txt ) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) set_tests_properties (H5DUMP-${resultfile}-clean-objects PROPERTIES DEPENDS H5DUMP-${resultfile} WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/std" @@ -708,7 +708,7 @@ endmacro () macro (ADD_H5_EXPORT_TEST resultfile targetfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-output-${resultfile}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -752,7 +752,7 @@ endmacro () macro (ADD_H5_MASK_TEST resultfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -776,7 +776,7 @@ endmacro () macro (ADD_H5_GREP_TEST resultfile resultcode result_check) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -799,7 +799,7 @@ endmacro () macro (ADD_H5ERR_MASK_TEST resultfile resultcode result_errcheck) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -823,7 +823,7 @@ endmacro () macro (ADD_H5ERR_MASK_ENV_TEST resultfile resultcode result_errcheck envvar envval) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -849,7 +849,7 @@ endmacro () macro (ADD_H5_BIN_EXPORT conffile resultcode testfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-BIN_EXPORT-${conffile}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -890,7 +890,7 @@ macro (ADD_H5_TEST_IMPORT conffile resultfile testfile resultcode) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP-IMPORT-${resultfile}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -949,7 +949,7 @@ endmacro () macro (ADD_H5_UD_TEST testname resultcode resultfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP_UD-${testname}-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -1315,14 +1315,14 @@ # NATIVE default. the NATIVE test can be validated with h5import/h5diff # ADD_H5_TEST_IMPORT (tbin1 out1D tbinary.h5 0 --enable-error-stack -d integer -b) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) ADD_H5_BIN_EXPORT (tbin2 0 tbinary.h5 --enable-error-stack -b BE -d float) endif () # the NATIVE test can be validated with h5import/h5diff # ADD_H5_TEST_IMPORT (tbin3 out3D tbinary.h5 0 --enable-error-stack -d integer -b NATIVE) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) ADD_H5_BIN_EXPORT (tbin4 0 tbinary.h5 --enable-error-stack -d double -b FILE) endif () diff --git a/tools/test/h5dump/CMakeTestsPBITS.cmake b/tools/test/h5dump/CMakeTestsPBITS.cmake index 8f479f3..4ae6884 100644 --- a/tools/test/h5dump/CMakeTestsPBITS.cmake +++ b/tools/test/h5dump/CMakeTestsPBITS.cmake @@ -117,7 +117,7 @@ macro (ADD_H5_PBITS_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true") diff --git a/tools/test/h5dump/CMakeTestsVDS.cmake b/tools/test/h5dump/CMakeTestsVDS.cmake index e3cb9e3..d1dc541 100644 --- a/tools/test/h5dump/CMakeTestsVDS.cmake +++ b/tools/test/h5dump/CMakeTestsVDS.cmake @@ -108,7 +108,7 @@ macro (ADD_H5_VDS_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5DUMP-${resultfile} PROPERTIES WILL_FAIL "true") @@ -137,7 +137,7 @@ macro (ADD_H5_VDS_PREFIX_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP_PREFIX-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) set_tests_properties (H5DUMP_PREFIX-${resultfile} PROPERTIES ENVIRONMENT "HDF5_VDS_PREFIX=${PROJECT_BINARY_DIR}/testfiles/vds/" @@ -172,7 +172,7 @@ macro (ADD_H5_VDS_LAYOUT resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ -p ${ARGN}) set_tests_properties (H5DUMP-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/vds") if (${resultcode}) diff --git a/tools/test/h5dump/CMakeTestsXML.cmake b/tools/test/h5dump/CMakeTestsXML.cmake index 43e77ee..b322d76 100644 --- a/tools/test/h5dump/CMakeTestsXML.cmake +++ b/tools/test/h5dump/CMakeTestsXML.cmake @@ -167,7 +167,7 @@ macro (ADD_XML_SKIP_H5_TEST skipresultfile skipresultcode testtype) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP_XML-${skipresultfile} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${skipresultfile}.xml --xml ${ARGN}" @@ -180,7 +180,7 @@ endmacro () macro (ADD_XML_H5_TEST resultfile resultcode) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5DUMP_XML-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ --xml ${ARGN}) if (${resultcode}) set_tests_properties (H5DUMP_XML-${resultfile} PROPERTIES WILL_FAIL "true") diff --git a/tools/test/h5dump/CMakeVFDTests.cmake b/tools/test/h5dump/CMakeVFDTests.cmake index 6f89d4c..aabcb6d 100644 --- a/tools/test/h5dump/CMakeVFDTests.cmake +++ b/tools/test/h5dump/CMakeVFDTests.cmake @@ -77,7 +77,7 @@ add_custom_target(HDF5_SF2_VFD_H5DUMP_files ALL COMMENT "Copying files needed by ############################################################################## macro (ADD_VFD_H5DUMP_TEST vfdname resultfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5DUMP_VFD-${vfdname}-${resultfile}-h5dump COMMAND "${CMAKE_COMMAND}" diff --git a/tools/test/h5format_convert/CMakeTests.cmake b/tools/test/h5format_convert/CMakeTests.cmake index bf4257e..49b9bbc 100644 --- a/tools/test/h5format_convert/CMakeTests.cmake +++ b/tools/test/h5format_convert/CMakeTests.cmake @@ -99,7 +99,7 @@ macro (ADD_H5_OUTPUT testname resultfile resultcode testfile) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC-${testname}-${testfile}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/${testname}-tmp.h5 @@ -164,7 +164,7 @@ macro (ADD_H5_NOERR_OUTPUT testname resultfile resultcode testfile) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC-${testname}-${testfile}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/${testname}-tmp.h5 @@ -206,7 +206,7 @@ macro (ADD_H5_MASK_OUTPUT testname resultfile resultcode result_errcheck testfile) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC-${testname}-${testfile}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove ./testfiles/${testname}-tmp.h5 @@ -249,7 +249,7 @@ macro (ADD_H5_TEST testname resultcode testfile) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -298,7 +298,7 @@ macro (ADD_H5_CHECK_IDX dependtest testname) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC_CHECK_IDX-${dependtest}-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ./testfiles/${dependtest}-tmp.h5 ${ARGN} @@ -315,7 +315,7 @@ macro (ADD_H5_TEST_CHECK_IDX testname resultcode testfile) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC_TEST_CHECK_IDX-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -369,7 +369,7 @@ macro (ADD_H5_H5DUMP_CHECK testname) # If using memchecker skip tests - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5FC_H5DUMP_CHECK-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove diff --git a/tools/test/h5import/CMakeTests.cmake b/tools/test/h5import/CMakeTests.cmake index c5753c1..9bcc617 100644 --- a/tools/test/h5import/CMakeTests.cmake +++ b/tools/test/h5import/CMakeTests.cmake @@ -122,7 +122,7 @@ set_tests_properties (H5IMPORT-${testname} PROPERTIES DISABLED true) endif () # If using memchecker skip macro based tests - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5IMPORT-${testname}-H5DMP COMMAND "${CMAKE_COMMAND}" @@ -180,7 +180,7 @@ macro (ADD_H5_DUMPTEST testname datasetname testfile) # If using memchecker skip tests - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5IMPORT-DUMP-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -287,7 +287,7 @@ macro (ADD_H5_DUMPSUBTEST testname testfile datasetname) # If using memchecker skip tests - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5IMPORT_SUB-DUMP-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove @@ -374,7 +374,7 @@ endmacro () macro (ADD_H5_SKIP_DUMPTEST testname datasetname testfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5IMPORT-DUMP-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${testname} ${datasetname} ${testfile} --- DEFLATE filter not available" @@ -396,7 +396,7 @@ ############################################################################## ############################################################################## - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) # Remove any output file left over from previous test run add_test ( NAME H5IMPORT-clear-objects diff --git a/tools/test/h5jam/CMakeTests.cmake b/tools/test/h5jam/CMakeTests.cmake index 2067e79..2b82e79 100644 --- a/tools/test/h5jam/CMakeTests.cmake +++ b/tools/test/h5jam/CMakeTests.cmake @@ -53,7 +53,7 @@ # macro (TEST_H5JAM_OUTPUT expectfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5JAM-${expectfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5JAM-${expectfile} PROPERTIES WILL_FAIL "true") @@ -85,7 +85,7 @@ # macro (TEST_H5UNJAM_OUTPUT expectfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5JAM-UNJAM-${expectfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5JAM-UNJAM-${expectfile} PROPERTIES WILL_FAIL "true") @@ -111,7 +111,7 @@ macro (CHECKFILE testname testdepends expected actual) # If using memchecker add tests without using scripts - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5JAM-${testname}-CHECKFILE-H5DMP COMMAND "${CMAKE_COMMAND}" @@ -150,7 +150,7 @@ endmacro() macro (UNJAMTEST testname setfile infile ufile chkfile outfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5JAM-${testname}-UNJAM-SETUP-clear-objects COMMAND ${CMAKE_COMMAND} -E remove ${infile} @@ -256,7 +256,7 @@ endmacro() macro (JAMTEST testname jamfile infile chkfile outfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5JAM-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove ${outfile} ${infile}.cpy.h5 @@ -266,7 +266,7 @@ if ("H5JAM-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") set_tests_properties (H5JAM-${testname} PROPERTIES DISABLED true) endif () - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) set_tests_properties (H5JAM-${testname} PROPERTIES DEPENDS H5JAM-${testname}-clear-objects) set (compare_test ${outfile}) set (compare_orig testfiles/${infile}) @@ -305,7 +305,7 @@ endmacro () macro (JAMTEST_NONE testname jamfile infile setfile chkfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5JAM-${testname}_NONE-clear-objects COMMAND ${CMAKE_COMMAND} -E remove diff --git a/tools/test/h5ls/CMakeTests.cmake b/tools/test/h5ls/CMakeTests.cmake index 9b63021..02b1dfe 100644 --- a/tools/test/h5ls/CMakeTests.cmake +++ b/tools/test/h5ls/CMakeTests.cmake @@ -143,7 +143,7 @@ macro (ADD_H5_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5LS-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) set_tests_properties (H5LS-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles" @@ -176,7 +176,7 @@ macro (ADD_H5_ERR_TEST resultfile resultcode result_errcheck) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5LS-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) set_tests_properties (H5LS-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles") if ("${resultcode}" STREQUAL "1") @@ -207,7 +207,7 @@ endmacro () macro (ADD_H5_UD_TEST testname resultcode resultfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5LS_UD-${testname}-${resultfile} COMMAND "${CMAKE_COMMAND}" diff --git a/tools/test/h5ls/CMakeTestsVDS.cmake b/tools/test/h5ls/CMakeTestsVDS.cmake index 9251718..4658bdc 100644 --- a/tools/test/h5ls/CMakeTestsVDS.cmake +++ b/tools/test/h5ls/CMakeTestsVDS.cmake @@ -83,7 +83,7 @@ macro (ADD_H5_VDS_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5LS-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) set_tests_properties (H5LS-${resultfile} PROPERTIES WORKING_DIRECTORY "${PROJECT_BINARY_DIR}/testfiles/vds") if ("${resultcode}" STREQUAL "1") @@ -110,7 +110,7 @@ macro (ADD_H5_VDS_PREFIX_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5LS_PREFIX-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) set_tests_properties (H5LS_PREFIX-${resultfile} PROPERTIES ENVIRONMENT "HDF5_VDS_PREFIX=\${ORIGIN}" diff --git a/tools/test/h5repack/CMakeTests.cmake b/tools/test/h5repack/CMakeTests.cmake index 83c1e73..b4a92e7 100644 --- a/tools/test/h5repack/CMakeTests.cmake +++ b/tools/test/h5repack/CMakeTests.cmake @@ -248,7 +248,7 @@ macro (ADD_HELP_TEST testname resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5REPACK-h5repack-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) else () add_test ( @@ -273,7 +273,7 @@ endmacro () macro (ADD_H5_TEST_OLD testname testtype testfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) if ("${testtype}" STREQUAL "SKIP") add_test ( NAME H5REPACK_OLD-${testname} @@ -318,7 +318,7 @@ macro (ADD_H5_TEST testname testtype testfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}" @@ -362,7 +362,7 @@ macro (ADD_H5_FILTER_TEST testname testfilter testtype resultcode resultfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_CMP-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" @@ -375,7 +375,7 @@ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile} ) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_CMP-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile} @@ -416,7 +416,7 @@ macro (ADD_H5_MASK_TEST testname testtype resultcode result_errcheck resultfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_MASK-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" @@ -429,12 +429,12 @@ COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${resultfile} ) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_MASK-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile} ) - else (HDF5_ENABLE_USING_MEMCHECKER) + else (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_MASK-${testname} COMMAND "${CMAKE_COMMAND}" @@ -468,7 +468,7 @@ macro (ADD_H5_DMP_TEST testname testtype resultcode resultfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_DMP-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" @@ -490,7 +490,7 @@ if ("H5REPACK_DMP-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") set_tests_properties (H5REPACK_DMP-${testname} PROPERTIES DISABLED true) endif () - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_DMP-h5dump-${testname} COMMAND "${CMAKE_COMMAND}" @@ -530,7 +530,7 @@ macro (ADD_H5_DMP_NO_OPT_TEST testname testtype resultcode resultfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_DMP-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" @@ -555,7 +555,7 @@ if ("H5REPACK_DMP-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") set_tests_properties (H5REPACK_DMP-${testname} PROPERTIES DISABLED true) endif () - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_DMP-h5dump-${testname} COMMAND "${CMAKE_COMMAND}" @@ -580,7 +580,7 @@ macro (ADD_H5_DIFF_TEST testname testtype resultcode testfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_DIFF-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${testfile} ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${testfile}" @@ -632,7 +632,7 @@ macro (ADD_H5_STAT_TEST testname testtype resultcode statarg resultfile) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_STAT-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP ${ARGN} ${PROJECT_BINARY_DIR}/testfiles/${resultfile} ${PROJECT_BINARY_DIR}/testfiles/out-${statarg}.${resultfile}" @@ -654,7 +654,7 @@ if ("H5REPACK_STAT-${testname}" MATCHES "${HDF5_DISABLE_TESTS_REGEX}") set_tests_properties (H5REPACK_STAT-${testname} PROPERTIES DISABLED true) endif () - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_STAT-h5stat-${testname} COMMAND "${CMAKE_COMMAND}" @@ -694,7 +694,7 @@ macro (ADD_H5_VERIFY_TEST testname testtype resultcode testfile testdset testfilter) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_VERIFY_LAYOUT-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP -d ${testdset} -pH ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" @@ -702,7 +702,7 @@ set_property(TEST H5REPACK_VERIFY_LAYOUT-${testname} PROPERTY DISABLED true) endif () else () - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_VERIFY_LAYOUT-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile} @@ -787,7 +787,7 @@ macro (ADD_H5_VERIFY_VDS testname testtype resultcode testfile testdset testfilter) if ("${testtype}" STREQUAL "SKIP") - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_VERIFY_LAYOUT_VDS-${testname} COMMAND ${CMAKE_COMMAND} -E echo "SKIP -d ${testdset} -pH ${PROJECT_BINARY_DIR}/testfiles/out-${testname}.${resultfile}" @@ -795,7 +795,7 @@ set_property(TEST H5REPACK_VERIFY_LAYOUT_VDS-${testname} PROPERTY DISABLED true) endif () else () - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) # Remove any output file left over from previous test run add_test ( NAME H5REPACK_VERIFY_LAYOUT_VDS-${testname}-clear-objects @@ -844,7 +844,7 @@ # VERIFY_SUPERBLOCK macro (ADD_H5_VERIFY_SUPERBLOCK testname testfile lowbound highbound superblock) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK_VERIFY_SUPERBLOCK-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove testfiles/out-${testname}.${testfile} @@ -1003,7 +1003,7 @@ endmacro () macro (ADD_H5_UD_TEST testname resultcode resultfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) # Remove any output file left over from previous test run add_test ( NAME H5REPACK_UD-${testname}-clear-objects @@ -1063,7 +1063,7 @@ endmacro () macro (ADD_H5_EXTERNAL_TEST testname testtype testfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) # canonical file = h5repack_${testfile}.h5 - preexist # external file = h5repack_${testfile}_ex.h5 - preexist # repacked file = h5repack_${testfile}_rp.h5 - created diff --git a/tools/test/h5repack/CMakeVFDTests.cmake b/tools/test/h5repack/CMakeVFDTests.cmake index e992029..3e2ef60 100644 --- a/tools/test/h5repack/CMakeVFDTests.cmake +++ b/tools/test/h5repack/CMakeVFDTests.cmake @@ -60,7 +60,7 @@ set (H5REPACK_CLEANFILES h5repack_paged_persist.h5 ) macro (ADD_VFD_TEST vfdname resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5REPACK-${vfdname}-h5repacktest-clear-objects COMMAND ${CMAKE_COMMAND} -E remove ${H5REPACK_CLEANFILES} diff --git a/tools/test/h5stat/CMakeTests.cmake b/tools/test/h5stat/CMakeTests.cmake index 5e1833f..ed45e93 100644 --- a/tools/test/h5stat/CMakeTests.cmake +++ b/tools/test/h5stat/CMakeTests.cmake @@ -95,12 +95,12 @@ macro (ADD_H5_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5STAT-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5STAT-${resultfile} PROPERTIES WILL_FAIL "true") endif () - else (HDF5_ENABLE_USING_MEMCHECKER) + else (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5STAT-${resultfile} COMMAND "${CMAKE_COMMAND}" @@ -124,12 +124,12 @@ macro (ADD_H5_ERR_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5STAT-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) if (${resultcode}) set_tests_properties (H5STAT-${resultfile} PROPERTIES WILL_FAIL "true") endif () - else (HDF5_ENABLE_USING_MEMCHECKER) + else (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5STAT-${resultfile} COMMAND "${CMAKE_COMMAND}" diff --git a/tools/test/misc/CMakeTestsClear.cmake b/tools/test/misc/CMakeTestsClear.cmake index f62be78..63f1d6a 100644 --- a/tools/test/misc/CMakeTestsClear.cmake +++ b/tools/test/misc/CMakeTestsClear.cmake @@ -89,7 +89,7 @@ # Need special dependencies for tests that use the same reference file # This is an issue on Windows macro (ADD_H5_CMP testname resultfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_CMP-${testname} COMMAND "${CMAKE_COMMAND}" @@ -113,7 +113,7 @@ endmacro () macro (ADD_H5_ERR_CMP testname resultfile resultcode result_errcheck) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_CMP-${testname} COMMAND "${CMAKE_COMMAND}" @@ -139,7 +139,7 @@ endmacro () macro (ADD_H5_CMP_WITH_COPY testname resultcode resultfile testfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_CMP-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove testfiles/${testfile} @@ -174,7 +174,7 @@ endmacro () macro (ADD_H5_ERR_CMP_WITH_COPY testname resultcode resultfile testfile) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_CMP-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove testfiles/${testfile} @@ -210,7 +210,7 @@ endmacro () macro (ADD_H5_RETTEST testname resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_RET-${testname} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN} @@ -226,7 +226,7 @@ endmacro () macro (ADD_H5_FILESIZE_TEST testname resultcode resultfile incr_size) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_FILESIZE_TEST-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove testfiles/${testname}.h5 @@ -298,7 +298,7 @@ endmacro () macro (ADD_H5_FILESIZE_FAIL_TEST testname resultcode resultfile incr_size) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR_FILESIZE_FAIL_TEST-${testname}-clear-objects COMMAND ${CMAKE_COMMAND} -E remove testfiles/${testname}.h5 @@ -372,7 +372,7 @@ endmacro () macro (ADD_H5_TEST testname testfile resultcode) - if (NOT HDF5_ENABLE_USING_MEMCHECKER) + if (NOT HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5CLEAR-clr_open_chk-copy_${testname}.h5 COMMAND ${CMAKE_COMMAND} -E copy_if_different diff --git a/tools/test/misc/CMakeTestsMkgrp.cmake b/tools/test/misc/CMakeTestsMkgrp.cmake index a66d4ee..50618fa 100644 --- a/tools/test/misc/CMakeTestsMkgrp.cmake +++ b/tools/test/misc/CMakeTestsMkgrp.cmake @@ -55,7 +55,7 @@ ############################################################################## macro (ADD_H5_TEST resultfile resultcode resultoption) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5MKGRP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${resultoption} ${resultfile}.h5 ${ARGN} @@ -103,7 +103,7 @@ endmacro () macro (ADD_H5_CMP resultfile resultcode) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME H5MKGRP_CMP-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) else () add_test ( @@ -139,7 +139,7 @@ ### T H E T E S T S ### ############################################################################## ############################################################################## - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test ( NAME H5MKGRP-clearall-objects COMMAND ${CMAKE_COMMAND} -E remove diff --git a/tools/test/perform/CMakeTests.cmake b/tools/test/perform/CMakeTests.cmake index 714713e..8123e2f 100644 --- a/tools/test/perform/CMakeTests.cmake +++ b/tools/test/perform/CMakeTests.cmake @@ -50,7 +50,7 @@ if (HDF5_TEST_SERIAL) ) set_tests_properties (PERFORM_h5perform-clean-objects PROPERTIES FIXTURES_CLEANUP clear_perform) - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_h5perf_serial COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME PERFORM_h5perf_serial COMMAND "${CMAKE_COMMAND}" @@ -73,7 +73,7 @@ if (HDF5_TEST_SERIAL) set_tests_properties (PERFORM_h5perf_serial PROPERTIES DISABLED true) endif () - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_chunk COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME PERFORM_chunk COMMAND "${CMAKE_COMMAND}" @@ -95,7 +95,7 @@ if (HDF5_TEST_SERIAL) set_tests_properties (PERFORM_chunk PROPERTIES DISABLED true) endif () - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_iopipe COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME PERFORM_iopipe COMMAND "${CMAKE_COMMAND}" @@ -117,7 +117,7 @@ if (HDF5_TEST_SERIAL) set_tests_properties (PERFORM_iopipe PROPERTIES DISABLED true) endif () - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_overhead COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME PERFORM_overhead COMMAND "${CMAKE_COMMAND}" @@ -139,7 +139,7 @@ if (HDF5_TEST_SERIAL) set_tests_properties (PERFORM_overhead PROPERTIES DISABLED true) endif () - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_perf_meta COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $) else () add_test (NAME PERFORM_perf_meta COMMAND "${CMAKE_COMMAND}" @@ -161,7 +161,7 @@ if (HDF5_TEST_SERIAL) set_tests_properties (PERFORM_perf_meta PROPERTIES DISABLED true) endif () - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_zip_perf_help COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ "-h") else () add_test (NAME PERFORM_zip_perf_help COMMAND "${CMAKE_COMMAND}" @@ -183,7 +183,7 @@ if (HDF5_TEST_SERIAL) set_tests_properties (PERFORM_zip_perf_help PROPERTIES DISABLED true) endif () - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) add_test (NAME PERFORM_zip_perf COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ tfilters.h5) else () add_test (NAME PERFORM_zip_perf COMMAND "${CMAKE_COMMAND}" diff --git a/utils/tools/test/h5dwalk/CMakeTests.cmake b/utils/tools/test/h5dwalk/CMakeTests.cmake index b65499d..a024f76 100644 --- a/utils/tools/test/h5dwalk/CMakeTests.cmake +++ b/utils/tools/test/h5dwalk/CMakeTests.cmake @@ -27,7 +27,7 @@ macro (ADD_H5_TEST resultfile resultcode) # If using memchecker add tests without using scripts - if (HDF5_ENABLE_USING_MEMCHECKER) + if (HDF5_USING_ANALYSIS_TOOL) message("Entered ADD_H5_TEST - 0") add_test (NAME H5DWALK-${resultfile} COMMAND ${CMAKE_CROSSCOMPILING_EMULATOR} $ ${ARGN}) set_tests_properties (H5DWALK-${resultfile} PROPERTIES -- cgit v0.12