From 43bb1ba8e53c3eb23448baba68485222514ab992 Mon Sep 17 00:00:00 2001 From: Scott Wegner Date: Mon, 10 Sep 2007 14:14:08 -0500 Subject: [svn-r14138] --- MANIFEST | 62 +- release_docs/INSTALL_Windows.txt | 28 +- windows/c++/test/checkcpptests.bat | 88 +++ windows/c++/test/hdf5cpptest.bat | 15 - windows/fortran/test/checkfortrantests.bat | 89 +++ windows/fortran/test/testhdf5_fortran.bat | 17 - windows/hdf5check.BAT | 592 ++++------------- windows/hl/c++/test/checkhlcpptests.bat | 87 +++ windows/hl/c++/test/test_hdf5_hl_cpp.bat | 24 - windows/hl/fortran/test/checkhlfortrantests.bat | 89 +++ windows/hl/fortran/test/test_hdf5_hl_fortran.BAT | 36 -- windows/hl/test/checkhltests.bat | 139 ++++ windows/hl/test/test_hdf5_hl.BAT | 56 -- windows/hl/tools/gif2h5/h52giftest.bat | 134 ++-- windows/install_cppdll.BAT | 24 - windows/install_dll.BAT | 114 +++- windows/install_f90dll.BAT | 30 - windows/install_hlcppdll.BAT | 23 - windows/install_hldll.BAT | 24 - windows/install_hlf90dll.bat | 27 - windows/perform/checkperformtests.bat | 89 +++ windows/proj/all/all.sln | 8 +- windows/proj/all_fortran/all_fortran.sln | 8 +- windows/test/checktests.bat | 129 ++++ windows/test/error_api/error_api.vcproj | 457 ------------- windows/test/error_apidll/error_apidll.vcproj | 453 ------------- windows/test/error_compat/error_compat.vcproj | 457 ------------- .../test/error_compatdll/error_compatdll.vcproj | 453 ------------- windows/test/hdf5test.bat | 306 --------- windows/test/hdf5timingtest.bat | 19 - windows/test/testerr.bat | 74 --- windows/test/testerror.bat | 198 ++++++ windows/tools/checktools.bat | 152 +++++ windows/tools/copytest.BAT | 194 ------ windows/tools/difftest.BAT | 477 -------------- windows/tools/dumptest.bat | 710 --------------------- windows/tools/h5copy/testh5copy.bat | 308 +++++++++ windows/tools/h5diff/testh5diff.bat | 427 +++++++++++++ windows/tools/h5dump/testh5dump.bat | 530 +++++++++++++++ windows/tools/h5dump/testh5dumpxml.bat | 207 ++++++ windows/tools/h5import/h5importtestutil.bat | 172 +++++ windows/tools/h5jam/testh5jam.bat | 598 +++++++++++++++++ windows/tools/h5ls/testh5ls.bat | 220 +++++++ windows/tools/h5mkgrp/testh5mkgrp.bat | 254 ++++++++ windows/tools/h5repack/h5repack.bat | 524 +++++++++++++++ windows/tools/h5repart/testh5repart.bat | 148 +++++ windows/tools/h5stat/testh5stat.bat | 176 +++++ windows/tools/importtest.BAT | 197 ------ windows/tools/jamtest.bat | 148 ----- windows/tools/lstest.BAT | 175 ----- windows/tools/mask.BAT | 22 - windows/tools/repacktest.BAT | 523 --------------- windows/tools/stattest.BAT | 161 ----- windows/tools/testhdf5tools.BAT | 66 -- windows/tools/tooltest.bat | 345 ---------- windows_vs6/proj/all/all.dsw | 16 +- windows_vs6/test/error_api/error_api.dsp | 102 --- windows_vs6/test/error_apidll/error_apidll.dsp | 103 --- windows_vs6/test/error_compat/error_compat.dsp | 102 --- .../test/error_compatdll/error_compatdll.dsp | 103 --- 60 files changed, 4980 insertions(+), 6529 deletions(-) create mode 100644 windows/c++/test/checkcpptests.bat delete mode 100755 windows/c++/test/hdf5cpptest.bat create mode 100644 windows/fortran/test/checkfortrantests.bat delete mode 100755 windows/fortran/test/testhdf5_fortran.bat create mode 100644 windows/hl/c++/test/checkhlcpptests.bat delete mode 100755 windows/hl/c++/test/test_hdf5_hl_cpp.bat create mode 100644 windows/hl/fortran/test/checkhlfortrantests.bat delete mode 100755 windows/hl/fortran/test/test_hdf5_hl_fortran.BAT create mode 100644 windows/hl/test/checkhltests.bat delete mode 100755 windows/hl/test/test_hdf5_hl.BAT delete mode 100755 windows/install_cppdll.BAT delete mode 100755 windows/install_f90dll.BAT delete mode 100755 windows/install_hlcppdll.BAT delete mode 100755 windows/install_hldll.BAT delete mode 100755 windows/install_hlf90dll.bat create mode 100644 windows/perform/checkperformtests.bat create mode 100644 windows/test/checktests.bat delete mode 100644 windows/test/error_api/error_api.vcproj delete mode 100644 windows/test/error_apidll/error_apidll.vcproj delete mode 100644 windows/test/error_compat/error_compat.vcproj delete mode 100644 windows/test/error_compatdll/error_compatdll.vcproj delete mode 100755 windows/test/hdf5test.bat delete mode 100755 windows/test/hdf5timingtest.bat delete mode 100644 windows/test/testerr.bat create mode 100644 windows/test/testerror.bat create mode 100644 windows/tools/checktools.bat delete mode 100644 windows/tools/copytest.BAT delete mode 100755 windows/tools/difftest.BAT delete mode 100755 windows/tools/dumptest.bat create mode 100644 windows/tools/h5copy/testh5copy.bat create mode 100644 windows/tools/h5diff/testh5diff.bat create mode 100644 windows/tools/h5dump/testh5dump.bat create mode 100644 windows/tools/h5dump/testh5dumpxml.bat create mode 100644 windows/tools/h5import/h5importtestutil.bat create mode 100644 windows/tools/h5jam/testh5jam.bat create mode 100644 windows/tools/h5ls/testh5ls.bat create mode 100644 windows/tools/h5mkgrp/testh5mkgrp.bat create mode 100644 windows/tools/h5repack/h5repack.bat create mode 100644 windows/tools/h5repart/testh5repart.bat create mode 100644 windows/tools/h5stat/testh5stat.bat delete mode 100755 windows/tools/importtest.BAT delete mode 100644 windows/tools/jamtest.bat delete mode 100755 windows/tools/lstest.BAT delete mode 100755 windows/tools/mask.BAT delete mode 100755 windows/tools/repacktest.BAT delete mode 100644 windows/tools/stattest.BAT delete mode 100755 windows/tools/testhdf5tools.BAT delete mode 100755 windows/tools/tooltest.bat delete mode 100644 windows_vs6/test/error_api/error_api.dsp delete mode 100644 windows_vs6/test/error_apidll/error_apidll.dsp delete mode 100644 windows_vs6/test/error_compat/error_compat.dsp delete mode 100644 windows_vs6/test/error_compatdll/error_compatdll.dsp diff --git a/MANIFEST b/MANIFEST index 487dc3e..e519f9e 100644 --- a/MANIFEST +++ b/MANIFEST @@ -1638,17 +1638,12 @@ ./windows/hdf5bt.BAT ./windows/hdf5build.BAT ./windows/hdf5check.BAT -./windows/install_cppdll.BAT ./windows/InstallcppExamples.BAT ./windows/install_dll.BAT ./windows/InstallExamples.bat -./windows/install_f90dll.BAT ./windows/Installf90Examples.BAT ./windows/installhdf5lib.bat ./windows/install_hlcexamples.BAT -./windows/install_hlcppdll.BAT -./windows/install_hldll.BAT -./windows/install_hlf90dll.bat ./windows/install_hlf90examples.BAT # C++ Examples @@ -1671,7 +1666,7 @@ ./windows/c++/examples/writedatatestdll/writedatatestdll.vcproj # C++ Tests -./windows/c++/test/hdf5cpptest.bat +./windows/c++/test/checkcpptests.bat ./windows/c++/test/dsets_cpp/dsets_cpp.vcproj ./windows/c++/test/dsets_cppdll/dsets_cppdll.vcproj ./windows/c++/test/testhdf5_cpp/testhdf5_cpp.vcproj @@ -1738,7 +1733,7 @@ ./windows/fortran/src/H5fortran_types.f90 # Fortran Tests -./windows/fortran/test/testhdf5_fortran.bat +./windows/fortran/test/checkfortrantests.bat ./windows/fortran/test/flush1_fortran/flush1_fortran.vfproj ./windows/fortran/test/flush1_fortrandll/flush1_fortrandll.vfproj ./windows/fortran/test/flush2_fortran/flush2_fortran.vfproj @@ -1751,7 +1746,7 @@ ./windows/fortran/test/testhdf5_fortrandll/testhdf5_fortrandll.vfproj # High-Leve C++ Tests -./windows/hl/c++/test/test_hdf5_hl_cpp.bat +./windows/hl/c++/test/checkhlcpptests.bat ./windows/hl/c++/test/hl_test_table_cpp/hl_test_table_cpp.vcproj ./windows/hl/c++/test/hl_test_table_cppdll/hl_test_table_cppdll.vcproj @@ -1778,7 +1773,7 @@ ./windows/hl/fortran/examples/ex_litedll/ex_litedll.vfproj # High-Level Fortran Tests -./windows/hl/fortran/test/test_hdf5_hl_fortran.BAT +./windows/hl/fortran/test/checkhlfortrantests.bat ./windows/hl/fortran/test/hl_test_image_fortran/hl_test_image_fortran.vfproj ./windows/hl/fortran/test/hl_test_image_fortrandll/hl_test_image_fortrandll.vfproj ./windows/hl/fortran/test/hl_test_lite_fortran/hl_test_lite_fortran.vfproj @@ -1787,7 +1782,7 @@ ./windows/hl/fortran/test/hl_test_table_fortrandll/hl_test_table_fortrandll.vfproj # High-Level Library Tests -./windows/hl/test/test_hdf5_hl.BAT +./windows/hl/test/checkhltests.bat ./windows/hl/test/hl_test_ds/hl_test_ds.vcproj ./windows/hl/test/hl_test_dsdll/hl_test_dsdll.vcproj ./windows/hl/test/hl_test_image/hl_test_image.vcproj @@ -1814,6 +1809,9 @@ ./windows/misc/typegen/h5match_types/h5match_types.vcproj ./windows/misc/typegen/h5tinit/h5tinit.vcproj +# Performance Tests +./windows/perform/checkperformtests.bat + # Project Files ./windows/proj/all/all.sln ./windows/proj/all/all.vcproj @@ -1841,9 +1839,8 @@ ./windows/src/H5Tinit.c # Library Test Projects -./windows/test/hdf5test.bat -./windows/test/hdf5timingtest.bat -./windows/test/testerr.bat +./windows/test/checktests.bat +./windows/test/testerror.bat ./windows/test/big/big.vcproj ./windows/test/bigdll/bigdll.vcproj ./windows/test/bittests/bittests.vcproj @@ -1872,10 +1869,10 @@ ./windows/test/dtypesdll/dtypesdll.vcproj ./windows/test/enum/enum.vcproj ./windows/test/enumdll/enumdll.vcproj -./windows/test/error_api/error_api.vcproj -./windows/test/error_apidll/error_apidll.vcproj -./windows/test/error_compat/error_compat.vcproj -./windows/test/error_compatdll/error_compatdll.vcproj +./windows/test/error_test/error_test.vcproj +./windows/test/error_testdll/error_testdll.vcproj +./windows/test/err_compat/err_compat.vcproj +./windows/test/err_compatdll/err_compatdll.vcproj ./windows/test/extend/extend.vcproj ./windows/test/extenddll/extenddll.vcproj ./windows/test/external/external.vcproj @@ -1936,35 +1933,36 @@ ./windows/test/vfddll/vfddll.vcproj # Library Tools -./windows/tools/copytest.BAT -./windows/tools/difftest.BAT -./windows/tools/dumptest.bat -./windows/tools/importtest.BAT -./windows/tools/jamtest.bat -./windows/tools/lstest.BAT -./windows/tools/mask.BAT -./windows/tools/repacktest.BAT -./windows/tools/stattest.BAT -./windows/tools/testhdf5tools.BAT -./windows/tools/tooltest.bat +./windows/tools/checktools.bat ./windows/tools/h5copy/h5copy.vcproj +./windows/tools/h5copy/testh5copy.bat ./windows/tools/h5debug/h5debug.vcproj ./windows/tools/h5debugdll/h5debugdll.vcproj ./windows/tools/h5diff/h5diff.vcproj +./windows/tools/h5diff/testh5diff.bat ./windows/tools/h5diffdll/h5diffdll.vcproj ./windows/tools/h5dump/h5dump.vcproj +./windows/tools/h5dump/testh5dump.bat +./windows/tools/h5dump/testh5dumpxml.bat ./windows/tools/h5dumpdll/h5dumpdll.vcproj ./windows/tools/h5import/h5import.vcproj +./windows/tools/h5import/h5importtestutil.bat ./windows/tools/h5importdll/h5importdll.vcproj ./windows/tools/h5jam/h5jam.vcproj +./windows/tools/h5jam/testh5jam.bat ./windows/tools/h5ls/h5ls.vcproj +./windows/tools/h5ls/testh5ls.bat ./windows/tools/h5lsdll/h5lsdll.vcproj ./windows/tools/h5mkgrp/h5mkgrp.vcproj +./windows/tools/h5mkgrp/testh5mkgrp.bat ./windows/tools/h5repack/h5repack.vcproj +./windows/tools/h5repack/h5repack.bat ./windows/tools/h5repackdll/h5repackdll.vcproj ./windows/tools/h5repart/h5repart.vcproj +./windows/tools/h5repart/testh5repart.bat ./windows/tools/h5repartdll/h5repartdll.vcproj ./windows/tools/h5stat/h5stat.vcproj +./windows/tools/h5stat/testh5stat.bat ./windows/tools/h5statdll/h5statdll.vcproj ./windows/tools/h5unjam/h5unjam.vcproj ./windows/tools/talign/talign.vcproj @@ -2155,10 +2153,10 @@ ./windows_vs6/test/dtypesdll/dtypesdll.dsp ./windows_vs6/test/enum/enum.dsp ./windows_vs6/test/enumdll/enumdll.dsp -./windows_vs6/test/error_api/error_api.dsp -./windows_vs6/test/error_apidll/error_apidll.dsp -./windows_vs6/test/error_compat/error_compat.dsp -./windows_vs6/test/error_compatdll/error_compatdll.dsp +./windows_vs6/test/error_test/error_test.dsp +./windows_vs6/test/error_testdll/error_testdll.dsp +./windows_vs6/test/err_compat/err_compat.dsp +./windows_vs6/test/err_compatdll/err_compatdll.dsp ./windows_vs6/test/extend/extend.dsp ./windows_vs6/test/extenddll/extenddll.dsp ./windows_vs6/test/external/external.dsp diff --git a/release_docs/INSTALL_Windows.txt b/release_docs/INSTALL_Windows.txt index da64927..032802e 100644 --- a/release_docs/INSTALL_Windows.txt +++ b/release_docs/INSTALL_Windows.txt @@ -840,20 +840,20 @@ To build and test HDF5 C++ examples: When the debug build or release build is done, there should be the following subdirectories in c:\MyHDFstuff\hdf5\c++\examples\ - chunkstest - chunkstestdll - compoundtest - compoundtestdll - createtest - createtestdll - extend_dstest - extend_dstestdll - h5grouptest - h5grouptestdll - readdatatest - readdatatestdll - writedatatest - writedatatestdll + chunks + chunksdll + compound + compounddll + create + createdll + extend_ds + extend_dsll + h5group + h5groupdll + readdata + readdatadll + writedata + writedatadll 3. Invoke a command prompt window and run the batch file InstallcppExamples.bat which resides in the top level directory diff --git a/windows/c++/test/checkcpptests.bat b/windows/c++/test/checkcpptests.bat new file mode 100644 index 0000000..e092c04 --- /dev/null +++ b/windows/c++/test/checkcpptests.bat @@ -0,0 +1,88 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 c++ library +rem +rem Created: Scott Wegner, 9/4/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_CPPTEST_", as we use these for our +rem tests. Also clear "HDF5_CPPTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_cpptest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_cpptest_') do set %%a= +set hdf5_cpptest_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the cpptest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_cpptest_tests=%hdf5_cpptest_tests% %1 + set hdf5_cpptest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_cpptest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_cpptest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All C++ library tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test dsets_cpp%2 .\dsets_cpp%2\%1 + call :add_test testhdf5_cpp%2 .\testhdf5_cpp%2\%1 + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/c++/test/hdf5cpptest.bat b/windows/c++/test/hdf5cpptest.bat deleted file mode 100755 index 38d4eb8..0000000 --- a/windows/c++/test/hdf5cpptest.bat +++ /dev/null @@ -1,15 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -testhdf5_cpp%2\%1\testhdf5_cpp%2 -dsets_cpp%2\%1\dsets_cpp%2 diff --git a/windows/fortran/test/checkfortrantests.bat b/windows/fortran/test/checkfortrantests.bat new file mode 100644 index 0000000..db17437 --- /dev/null +++ b/windows/fortran/test/checkfortrantests.bat @@ -0,0 +1,89 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 fortran library +rem +rem Created: Scott Wegner, 9/6/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_FORTTEST_", as we use these for our +rem tests. Also clear "HDF5_FORTTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_forttest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_forttest_') do set %%a= +set hdf5_forttest_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the forttest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_forttest_tests=%hdf5_forttest_tests% %1 + set hdf5_forttest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_forttest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_forttest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All Fortran library tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test testhdf5_fortran%2 .\testhdf5_fortran%2\%1 + call :add_test flush1_fortran%2 .\flush1_fortran%2\%1 + call :add_test flush2_fortran%2 .\flush2_fortran%2\%1 + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/fortran/test/testhdf5_fortran.bat b/windows/fortran/test/testhdf5_fortran.bat deleted file mode 100755 index 99ff10f..0000000 --- a/windows/fortran/test/testhdf5_fortran.bat +++ /dev/null @@ -1,17 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -testhdf5_fortran%2\%1\testhdf5_fortran%2 -flush1_fortran%2\%1\flush1_fortran%2 -copy fflush1.h5 flush2_fortran\%1\fflush1.h5 -flush2_fortran%2\%1\flush2_fortran%2 diff --git a/windows/hdf5check.BAT b/windows/hdf5check.BAT index 423a115..929abab 100755 --- a/windows/hdf5check.BAT +++ b/windows/hdf5check.BAT @@ -1,460 +1,136 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - - -@REM File Name: hdf5check.bat -@REM This batch file is used to test HDF5 Libraries and Tools. -@REM There are 4 options for this batch file: -@REM 1. hdf5check -- HDF5 tools and c library tests -@REM 2. hdf5check enablecpp -- HDF5 tools and c/c++ library tests -@REM 3. hdf5check enablefortran -- HDF5 tools and c/fortran library tests -@REM 4. hdf5check enableall -- HDF5 tools and c/c++/fortran library tests -@REM By Xuan Bai -@REM Created: Aug. 12, 2004 -@REM Last Updated: Aug. 16, 2004 - -@ECHO OFF -echo install_dll -call install_dll - -echo install_hldll -call install_hldll - -type nul > check_results.txt -echo ***************************************************************************** >> check_results.txt -echo HDF5 C Library Tests -- Release>> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd test -echo hdf5test release -call hdf5test release >> ..\check_results.txt - -echo. >> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo HDF5 Timing Test -- Release>> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo hdf5timingtest release -call hdf5timingtest release >> ..\check_results.txt - -cd ..\tools -echo. >> ..\check_results.txt -echo testhdf5tools Release -call testhdf5tools Release -more toolstest_release.txt >> ..\check_results.txt -del toolstest_release.txt -cd .. - -echo ***************************************************************************** >> check_results.txt -echo HDF5 High Level C Library Tests -- Release>> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd hl\test -echo test_hdf5_hl Release -call test_hdf5_hl Release >> ..\..\check_results.txt -cd ..\.. - -echo. >> check_results.txt -echo ***************************************************************************** >> check_results.txt -echo HDF5 C Library Tests -- Debug >> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd test -echo hdf5test debug -call hdf5test debug >> ..\check_results.txt - -echo. >> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo HDF5 Timing Test -- Debug>> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo hdf5timingtest debug -call hdf5timingtest debug >> ..\check_results.txt - -cd ..\tools -echo. >> ..\check_results.txt -echo testhdf5tools Debug -call testhdf5tools Debug -more toolstest_debug.txt >> ..\check_results.txt -del toolstest_debug.txt -cd .. - -echo ***************************************************************************** >> check_results.txt -echo HDF5 High Level C Library Tests -- Debug>> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd hl\test -echo test_hdf5_hl Debug -call test_hdf5_hl Debug >> ..\..\check_results.txt -cd ..\.. - -echo. >> check_results.txt -echo ***************************************************************************** >> check_results.txt -echo HDF5 C Library Tests -- Release DLL >> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd test -echo hdf5test release dll -call hdf5test release dll >> ..\check_results.txt - -echo. >> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo HDF5 Timing Test -- Release DLL>> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo hdf5timingtest release dll -call hdf5timingtest release dll >> ..\check_results.txt - -cd ..\tools -echo. >> ..\check_results.txt -echo testhdf5tools Release dll -call testhdf5tools Release dll -more toolstest_releasedll.txt >> ..\check_results.txt -del toolstest_releasedll.txt -cd .. -echo. >> check_results.txt - -echo ***************************************************************************** >> check_results.txt -echo HDF5 High Level C Library Tests -- Release DLL>> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd hl\test -echo test_hdf5_hl Release dll -call test_hdf5_hl Release dll>> ..\..\check_results.txt -cd ..\.. - -echo. >> check_results.txt -echo ***************************************************************************** >> check_results.txt -echo HDF5 C Library Tests -- Debug DLL >> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd test -echo hdf5test debug dll -call hdf5test debug dll >> ..\check_results.txt - -echo. >> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo HDF5 Timing Test -- Debug DLL>> ..\check_results.txt -echo ***************************************************************************** >> ..\check_results.txt -echo hdf5timingtest debug dll -call hdf5timingtest debug dll >> ..\check_results.txt - -cd ..\tools -echo. >> ..\check_results.txt -echo testhdf5tools Debug dll -call testhdf5tools Debug dll -more toolstest_debugdll.txt >> ..\check_results.txt -del toolstest_debugdll.txt -cd .. - -echo ***************************************************************************** >> check_results.txt -echo HDF5 High Level C Library Tests -- Debug DLL>> check_results.txt -echo ***************************************************************************** >> check_results.txt - -cd hl\test -echo test_hdf5_hl Debug dll -call test_hdf5_hl Debug dll>> ..\..\check_results.txt -cd ..\.. - -echo. >> check_results.txt - -if "%1"=="enablecpp" ( -echo. >> check_results.txt -echo install_cppdll -call install_cppdll -echo install_hlcppdll -call install_hlcppdll -cd c++\test -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest release -call hdf5cpptest release >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Release -call test_hdf5_hl_cpp Release >> ..\..\..\check_results.txt -cd ..\..\..\c++\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest debug -call hdf5cpptest debug >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Debug -call test_hdf5_hl_cpp Debug >> ..\..\..\check_results.txt -cd ..\..\..\c++\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest release dll -call hdf5cpptest release dll >> ..\..\check_results.txt -echo. >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Release dll -call test_hdf5_hl_cpp Release dll>> ..\..\..\check_results.txt -cd ..\..\..\c++\test -echo. >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest debug dll -call hdf5cpptest debug dll >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Debug DLL>> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Debug dll -call test_hdf5_hl_cpp Debug dll>> ..\..\..\check_results.txt -echo. >> ..\..\..\check_results.txt - -cd ..\..\..\ -) - - -if "%1"=="enablefortran" ( -echo. >> check_results.txt -echo install_f90dll -call install_f90dll -echo install_hlf90dll -call install_hlf90dll -cd fortran\test -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran release -call testhdf5_fortran release >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level Fortran Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt - -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran Release -call test_hdf5_hl_fortran Release >> ..\..\..\check_results.txt - -cd ..\..\..\fortran\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran debug -call testhdf5_fortran debug >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level Fortran Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt - -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran Debug -call test_hdf5_hl_fortran Debug >> ..\..\..\check_results.txt - -cd ..\..\..\fortran\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran release dll -call testhdf5_fortran release dll >> ..\..\check_results.txt -echo. >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Hight Level Fortran Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran release dll -call test_hdf5_hl_fortran release dll >> ..\..\..\check_results.txt -cd ..\..\..\fortran\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran debug dll -call testhdf5_fortran debug dll >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Hight Level Fortran Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran debug dll -call test_hdf5_hl_fortran debug dll >> ..\..\..\check_results.txt - -echo. >> ..\..\..\check_results.txt -cd ..\..\..\ -) - - -if "%1"=="enableall" ( -echo. >> check_results.txt -echo install_cppdll -call install_cppdll -echo install_hlcppdll -call install_hlcppdll -cd c++\test -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest release -call hdf5cpptest release >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Release -call test_hdf5_hl_cpp Release >> ..\..\..\check_results.txt -cd ..\..\..\c++\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest debug -call hdf5cpptest debug >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Debug -call test_hdf5_hl_cpp Debug >> ..\..\..\check_results.txt -cd ..\..\..\c++\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest release dll -call hdf5cpptest release dll >> ..\..\check_results.txt -echo. >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Release dll -call test_hdf5_hl_cpp Release dll>> ..\..\..\check_results.txt -cd ..\..\..\c++\test -echo. >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 C++ Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo hdf5cpptest debug dll -call hdf5cpptest debug dll >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level C++ Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\c++\test -echo test_hdf5_hl_cpp Debug dll -call test_hdf5_hl_cpp Debug dll>> ..\..\..\check_results.txt -echo. >> ..\..\..\check_results.txt - -cd ..\..\..\ - -echo install_f90dll -call install_f90dll -echo install_hlf90dll -call install_hlf90dll -cd fortran\test -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran release -call testhdf5_fortran release >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level Fortran Library Tests -- Release >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt - -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran Release -call test_hdf5_hl_fortran Release >> ..\..\..\check_results.txt - -cd ..\..\..\fortran\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran debug -call testhdf5_fortran debug >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level Fortran Library Tests -- Debug >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt - -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran Debug -call test_hdf5_hl_fortran Debug >> ..\..\..\check_results.txt - -cd ..\..\..\fortran\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran release dll -call testhdf5_fortran release dll >> ..\..\check_results.txt -echo. >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Hight Level Fortran Library Tests -- Release DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran release dll -call test_hdf5_hl_fortran release dll >> ..\..\..\check_results.txt -cd ..\..\..\fortran\test -echo. >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 Fortran Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -echo testhdf5_fortran debug dll -call testhdf5_fortran debug dll >> ..\..\check_results.txt - -echo ***************************************************************************** >> ..\..\check_results.txt -echo HDF5 High Level Fortran Library Tests -- Debug DLL >> ..\..\check_results.txt -echo ***************************************************************************** >> ..\..\check_results.txt -cd ..\..\hl\fortran\test -echo test_hdf5_hl_fortran debug dll -call test_hdf5_hl_fortran debug dll >> ..\..\..\check_results.txt - -echo. >> ..\..\..\check_results.txt -cd ..\..\..\ -) - -type nul > number_failed.txt -type nul > tests_results.txt -find /C "FAIL" check_results.txt > number_failed.txt -find "FAIL" check_results.txt > tests_failed.txt -for /f "tokens=1,2*" %%a in ( - number_failed.txt -) do ( if %%c==0 ( - echo All HDF5 Tests Passed! >> tests_results.txt -) else ( - echo The Following HDF5 Tests Failed: >> tests_results.txt - more /e +2 tests_failed.txt >> tests_results.txt -) +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem File Name: hdf5check.bat +rem This batch file is used to test HDF5 Libraries and Tools. +rem There are 4 options for this batch file: +rem 1. hdf5check -- HDF5 tools and c library tests +rem 2. hdf5check enablecpp -- HDF5 tools and c/c++ library tests +rem 3. hdf5check enablefortran -- HDF5 tools and c/fortran library tests +rem 4. hdf5check enableall -- HDF5 tools and c/c++/fortran library tests +rem By Xuan Bai +rem Created: Aug. 12, 2004 +rem Last Updated: Scott Wegner, 9/10/07 + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_TEST_", as we use these for our +rem tests. Also clear "HDF5_TEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_test_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_test_') do set %%a= +set hdf5_test_tests= + +rem Put built DLLs in the system folder for testing +call install_dll.BAT + +set nerrors=0 + +rem See if we have built the HL C++ / Fortran libraries, and set +rem BUILD_*_CONDITIONAL appropriately +if /i "%1" equ "enablecpp" ( + set build_cpp_conditional=true +) else if /i "%1" equ "enablefortran" ( + set build_fortran_conditional=true +) else if /i "%1" equ "enableall" ( + set build_cpp_conditional=true + set build_fortran_conditional=true ) -del number_failed.txt -del tests_failed.txt +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the test being tested +rem %2 - Relative path of script +:add_test + + set hdf5_test_tests=%hdf5_test_tests% %1 + set hdf5_test_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_test_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_test_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All HDF5 %* tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test checktests.bat .\test + call :add_test checktools.bat .\tools + + rem Only check C++/Fortran if they are set to build. + if defined build_cxx_conditional ( + call :add_test checkcpptests.bat .\c++\test + ) + if defined build_fortran_conditional ( + call :add_test checkfortrantests.bat .\fortran\test + ) + + rem Assume HL libraries are built. This should be commented out if the + rem default is changed. + call :add_test checkhltests.bat .\hl\test + call :add_test checkperformtests.bat .\perform + + + rem Run the tests for each version of HDF5 + rem We use "nodll" here because we cannot simply leave it blank. Filter + rem it out below. --SJW 9/10/07 + for %%b in (nodll dll) do ( + for %%a in (debug release) do ( + set hdf5_config=%%a %%b + call :run_tests !hdf5_config:nodll=! + if !errorlevel! neq 0 ( + set /a nerrors=!nerrors!+1 + ) + ) + ) + + if %nerrors% equ 0 ( + echo.HDF5 Tests passed for all configurations! + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/hl/c++/test/checkhlcpptests.bat b/windows/hl/c++/test/checkhlcpptests.bat new file mode 100644 index 0000000..24b7f55 --- /dev/null +++ b/windows/hl/c++/test/checkhlcpptests.bat @@ -0,0 +1,87 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 hl c++ library +rem +rem Created: Scott Wegner, 9/7/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_HLCPPTEST_", as we use these for our +rem tests. Also clear "HDF5_HLCPPTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_hlcpptest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_hlcpptest_') do set %%a= +set hdf5_hlcpptest_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the hlcpptest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_hlcpptest_tests=%hdf5_hlcpptest_tests% %1 + set hdf5_hlcpptest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_hlcpptest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_hlcpptest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All HL C++ library tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test hl_test_table_cpp%2 .\hl_test_table_cpp%2\%1 + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/hl/c++/test/test_hdf5_hl_cpp.bat b/windows/hl/c++/test/test_hdf5_hl_cpp.bat deleted file mode 100755 index bf9b70c..0000000 --- a/windows/hl/c++/test/test_hdf5_hl_cpp.bat +++ /dev/null @@ -1,24 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@ECHO OFF - -@REM This batch file will be used to test HDF5 High Level C++ Library. -@REM By Fang GUO -@REM Created on: 05/27/2005 - -echo. -echo =============================================== -echo Testing hl_test_table_cpp%2 -- %1 -echo =============================================== -hl_test_table_cpp%2\%1\hl_test_table_cpp%2 \ No newline at end of file diff --git a/windows/hl/fortran/test/checkhlfortrantests.bat b/windows/hl/fortran/test/checkhlfortrantests.bat new file mode 100644 index 0000000..98d9c38 --- /dev/null +++ b/windows/hl/fortran/test/checkhlfortrantests.bat @@ -0,0 +1,89 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 hl fortran library +rem +rem Created: Scott Wegner, 9/6/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_HLFORTTEST_", as we use these for our +rem tests. Also clear "HDF5_HLFORTTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_hlforttest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_hlforttest_') do set %%a= +set hdf5_hlforttest_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the hlforttest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_hlforttest_tests=%hdf5_hlforttest_tests% %1 + set hdf5_hlforttest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_hlforttest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_hlforttest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All HL Fortran library tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test hl_test_lite_fortran%2 .\hl_test_lite_fortran%2\%1 + call :add_test hl_test_image_fortran%2 .\hl_test_image_fortran%2\%1 + call :add_test hl_test_table_fortran%2 .\hl_test_table_fortran%2\%1 + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/hl/fortran/test/test_hdf5_hl_fortran.BAT b/windows/hl/fortran/test/test_hdf5_hl_fortran.BAT deleted file mode 100755 index 95e4539..0000000 --- a/windows/hl/fortran/test/test_hdf5_hl_fortran.BAT +++ /dev/null @@ -1,36 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@ECHO OFF - -REM This batch file will be used to test HDF5 High Level Fortran Library. -REM By Xuan Bai -REM Last Modified on: 07/15/2005 - -echo. -echo =============================================== -echo Testing hl_test_lite_fortran%2 -- %1 -echo =============================================== -hl_test_lite_fortran%2\%1\hl_test_lite_fortran%2 - -echo. -echo =============================================== -echo Testing hl_test_image_fortran%2 -- %1 -echo =============================================== -hl_test_image_fortran%2\%1\hl_test_image_fortran%2 - -echo. -echo =============================================== -echo Testing hl_test_table_fortran%2 -- %1 -echo =============================================== -hl_test_table_fortran%2\%1\hl_test_table_fortran%2 \ No newline at end of file diff --git a/windows/hl/test/checkhltests.bat b/windows/hl/test/checkhltests.bat new file mode 100644 index 0000000..925c245 --- /dev/null +++ b/windows/hl/test/checkhltests.bat @@ -0,0 +1,139 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 HL library +rem +rem Created: Scott Wegner, 9/10/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_HLTEST_", as we use these for our +rem tests. Also clear "HDF5_HLTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_hltest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_hltest_') do set %%a= +set hdf5_hltest_tests= + +rem See if we have built the HL C++ / Fortran libraries, and set +rem BUILD_*_CONDITIONAL appropriately +call :check_built fortran %* +call :check_built cxx %* + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the hltest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_hltest_tests=%hdf5_hltest_tests% %1 + set hdf5_hltest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_hltest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_hltest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All HL library tests passed. + + exit /b + + +rem Check to see if one of our output files exist for the given parameter. If +rem it does, we can assume that that set of files were set to build, and we can +rem test them. In Linux, the corresponding variable is set by the Makefile. +rem Expects the following parameters: +rem %1 - fortran or cxx +rem %2 - debug or release +rem %3 - dll or nothing +:check_built + + rem diffuse early if the variable is already defined + if defined build_%1_conditional exit /b + + if /i "%1" equ "cxx" ( + if "%2"=="release" ( + set hdf5_hl_cpp=hdf5_hl_cpp%3.lib + ) else ( + set hdf5_hl_cpp=hdf5_hl_cppd%3.lib + ) + + if exist %CD%\..\..\proj\hdf5_hl_cpp%3\%2\!hdf5_hl_cpp! ( + set build_cxx_conditional=true + ) + ) else if /i "%1" equ "fortran" ( + if "%2"=="release" ( + set hdf5_hl_fortran=hdf5_hl_fortran%3.lib + ) else ( + set hdf5_hl_fortran=hdf5_hl_fortrand%3.lib + ) + + if exist %CD%\..\..\proj\hdf5_hl_fortran%3\%2\!hdf5_hl_fortran! ( + set build_fortran_conditional=true + ) + ) + + exit /b + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test hl_test_lite%2 .\hl_test_lite%2\%1 + call :add_test hl_test_image%2 .\hl_test_image%2\%1 + call :add_test hl_test_table%2 .\hl_test_table%2\%1 + call :add_test hl_test_ds%2 .\hl_test_ds%2\%1 + call :add_test hl_test_packet%2 .\hl_test_packet%2\%1 + + rem Only check HL C++/Fortran if they are set to build. + if defined build_cxx_conditional ( + call :add_test checkhlcpptests.bat ..\c++\test + ) + if defined build_fortran_conditional ( + call :add_test checkhlfortrantests.bat ..\fortran\test + ) + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/hl/test/test_hdf5_hl.BAT b/windows/hl/test/test_hdf5_hl.BAT deleted file mode 100755 index d42aa86..0000000 --- a/windows/hl/test/test_hdf5_hl.BAT +++ /dev/null @@ -1,56 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@ECHO OFF - -@REM This batch file will be used to test HDF5 High Level Library. -@REM By Xuan Bai -@REM Last Modified on: 07/14/2005 by Fang GUO - -echo. -echo =============================================== -echo Testing hl_test_ds%2 -- %1 -echo =============================================== -hl_test_ds%2\%1\hl_test_ds%2 - -echo. -echo =============================================== -echo Testing hl_test_lite%2 -- %1 -echo =============================================== -hl_test_lite%2\%1\hl_test_lite%2 - -echo. -echo =============================================== -echo Testing hl_test_image%2 -- %1 -echo =============================================== -hl_test_image%2\%1\hl_test_image%2 - -echo. -echo =============================================== -echo Testing hl_test_table%2 -- %1 -echo =============================================== -hl_test_table%2\%1\hl_test_table%2 - -echo. -echo =============================================== -echo Testing hl_test_packet%2 -- %1 -echo =============================================== -hl_test_packet%2\%1\hl_test_packet%2 - -echo. -echo =============================================== -echo Testing h52gif and gif2h5 -- %1 %2 -echo =============================================== -cd ..\tools\gif2h5 -call h52giftest %1 %2 -cd ..\..\test \ No newline at end of file diff --git a/windows/hl/tools/gif2h5/h52giftest.bat b/windows/hl/tools/gif2h5/h52giftest.bat index a28b484..80a5391 100644 --- a/windows/hl/tools/gif2h5/h52giftest.bat +++ b/windows/hl/tools/gif2h5/h52giftest.bat @@ -1,67 +1,89 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - @echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem HDF Utilities Test script +rem +rem Created: Scott Wegner, 4/5/07 +rem Modified: Scott Wegner, 8/22/07 +rem -::This batch file is for h52gif tests. -::Usage -:: h52giftest release -- release static version -:: h52giftest debug -- debug static version -:: h52giftest release dll -- release dll version -:: h52giftest debug dll -- debug dll version -:: Written By: Scott Wegner -:: Date : April 5, 2005 - - -REM Set up our environment - -mkdir temptest - -set TESTFILE1=..\testfiles\h52giftst.h5 -set TESTFILE2=..\testfiles\image1.gif +setlocal enabledelayedexpansion +pushd %~dp0 -set H52GIF=..\gifconv%2\h52gif%2\%1\h52gif%2.exe -set GIF2H5=..\gifconv%2\gif2h5%2\%1\gif2h5%2.exe +rem h52gif name +set h52gif=h52gif%2 +rem The path to the h52gif binary +set h52gif_bin=%CD%\..\gifconv%2\%h52gif%\%1\%h52gif% +rem gif2h5 name +set gif2h5=gif2h5%2 +rem The path to the gif2h5 binary +set gif2h5_bin=%CD%\..\gifconv%2\%gif2h5%\%1\%gif2h5% +set testfile1=%CD%\..\testfiles\h52giftst.h5 +set testfile2=%CD%\..\testfiles\image1.gif -REM The tests +rem initialze errors variable +set errors=0 -REM TOOLTEST1 $TESTFILE1 image1.gif -i image -%H52GIF% %TESTFILE1% image1.gif -i image 2>%1 > temptest\gifconv_1.results -if %ERRORLEVEL% NEQ 0 ( - echo Testing h52gif h52giftst.h5 image1.gif -i image FAILED - type temptest\gifconv_1.results -) else ( - echo Testing h52gif h52giftst.h5 image1.gif -i image PASSED -) -del temptest\gifconv_1.results +goto main -REM TOOLTEST2 $TESTFILE2 image1.h5 -%GIF2H5% %TESTFILE2% image1.h5 2>%1 > temptest\gifconv_2.results -if %ERRORLEVEL% NEQ 0 ( - echo Testing gif2h5 image1.gif image1.h5 FAILED - type temptest\gifconv_2.results -) else ( - echo Testing gif2h5 image1.gif image1.h5 PASSED -) -del temptest\gifconv_2.results +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=%test_msg% + echo.%test_msg:~0,69% %1 + + exit /b -REM Cleanup -set TESTFILE1= -set TESTFILE2= -set H52GIF= -set GIF2H5= +:tooltest1 + %h52gif_bin% %* + + if %errorlevel% neq 0 ( + call :testing *FAILED* %h52gif_bin% %* + set /a errors=!errors!+1 + ) else ( + call :testing PASSED %h52gif_bin% %* + ) + + exit /b + -rmdir /s/q temptest \ No newline at end of file +:tooltest2 + %gif2h5_bin% %* + + if %errorlevel% neq 0 ( + call :testing *FAILED* %gif2h5_bin% %* + set /a errors=!errors!+1 + ) else ( + call :testing PASSED %gif2h5_bin% %* + ) + + exit /b + + +:main + call :tooltest1 %testfile1% image1.gif -i image + call :tooltest2 %testfile2% image1.h5 + + popd + endlocal & exit /b %errors% + \ No newline at end of file diff --git a/windows/install_cppdll.BAT b/windows/install_cppdll.BAT deleted file mode 100755 index a1b3dc6..0000000 --- a/windows/install_cppdll.BAT +++ /dev/null @@ -1,24 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - - -@REM File name: install_cpp.bat -@REM This batch file is used to copy HDF5 c++ library DLLs into system folder. -@REM By Xuan Bai -@REM Created: Aug. 12, 2004 -@REM Last Updated: Aug. 16, 2004 - -@ ECHO OFF -copy proj\hdf5_cppdll\debug\hdf5_cppddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_cppdll\release\hdf5_cppdll.dll %SystemRoot%\system >temp.txt -del temp.txt diff --git a/windows/install_dll.BAT b/windows/install_dll.BAT index de46271..8a133c3 100755 --- a/windows/install_dll.BAT +++ b/windows/install_dll.BAT @@ -1,34 +1,88 @@ -@rem Copyright by The HDF Group. -@rem Copyright by the Board of Trustees of the University of Illinois. -@rem All rights reserved. -@rem -@rem This file is part of HDF5. The full HDF5 copyright notice, including -@rem terms governing use, modification, and redistribution, is contained in -@rem the files COPYING and Copyright.html. COPYING can be found at the root -@rem of the source code distribution tree; Copyright.html can be found at the -@rem root level of an installed copy of the electronic HDF5 document set and -@rem is linked from the top-level documents page. It can also be found at -@rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@rem access to either file, you may request a copy from help@hdfgroup.org. +@echo OFF +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from helphdfgroup.org. +rem +rem +rem File name: install_dll.bat +rem This batch file is used to copy ALL HDF5 DLLs into system folder. +rem By Xuan Bai +rem Created: Aug. 12, 2004 +rem Last Scott Wegner, 9/10/07 +setlocal enabledelayedexpansion +pushd %~dp0 -@rem File name: install_dll.bat -@rem This batch file is used to copy HDF5 c library DLLs into system folder. -@rem By Xuan Bai -@rem Created: Aug. 12, 2004 -@rem Last Updated: Aug. 16, 2004 +set install_dir=%systemroot%\system -@ ECHO OFF -copy proj\hdf5dll\debug\hdf5ddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5dll\release\hdf5dll.dll %SystemRoot%\system >temp.txt +goto :main + +rem This function actally copies the DLL over, and prints a status message +rem Expected parameters: +rem %1 - name of DLL to copy +:copy_dll + + if exist %1 ( + echo.Installing %~nx1 + copy /y %1 %install_dir% > nul + ) + + exit /b + + +rem Add the DLLS to be copied here. +:main + + rem HDF5 Library + call :copy_dll proj\hdf5dll\debug\hdf5ddll.dll + call :copy_dll proj\hdf5dll\release\hdf5dll.dll + rem We need this conditional because vs6 uses libtestD rather than libtestdll, + rem Remove later when we fix the VS6 project name. + if exist test\libtestdll\debug\libtestddll.dll ( + call :copy_dll test\libtestdll\debug\libtestddll.dll + call :copy_dll test\libtestdll\release\libtestdll.dll + ) else ( + call :copy_dll test\libtestD\debug\libtestDd.dll + call :copy_dll test\libtestD\release\libtestD.dll + ) + + rem C++ + call :copy_dll proj\hdf5_cppdll\debug\hdf5_cppddll.dll + call :copy_dll proj\hdf5_cppdll\release\hdf5_cppdll.dll + + rem Fortran + call :copy_dll proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.dll + call :copy_dll proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.dll + call :copy_dll proj\hdf5_fortrandll\debug\hdf5_fortranddll.dll + call :copy_dll proj\hdf5_fortrandll\release\hdf5_fortrandll.dll + call :copy_dll fortran\test\libtest_cstubdll\debug\libtest_cstubddll.dll + call :copy_dll fortran\test\libtest_cstubdll\release\libtest_cstubdll.dll + call :copy_dll fortran\test\libtest_fortrandll\debug\libtest_fortranddll.dll + call :copy_dll fortran\test\libtest_fortrandll\release\libtest_fortrandll.dll + + rem HL + call :copy_dll proj\hdf5_hldll\Debug\hdf5_hlddll.dll + call :copy_dll proj\hdf5_hldll\Release\hdf5_hldll.dll + + rem HL C++ + call :copy_dll proj\hdf5_hl_cppdll\Release\hdf5_hl_cppdll.dll + call :copy_dll proj\hdf5_hl_cppdll\Debug\hdf5_hl_cppddll.dll + + rem HL Fortran + call :copy_dll proj\hdf5_hl_fortrandll\Debug\hdf5_hl_fortranddll.dll + call :copy_dll proj\hdf5_hl_f90cstubdll\Debug\hdf5_hl_f90cstubddll.dll + call :copy_dll proj\hdf5_hl_fortrandll\Release\hdf5_hl_fortrandll.dll + call :copy_dll proj\hdf5_hl_f90cstubdll\Release\hdf5_hl_f90cstubdll.dll + + popd + endlocal & exit /b -rem We need this conditional because vs6 uses libtestD rather than libtestdll, -rem Remove later when we fix the VS6 project name. -if exist copy test\libtestdll\debug\libtestddll.dll ( - copy test\libtestdll\debug\libtestddll.dll %SystemRoot%\system >temp.txt - copy test\libtestdll\release\libtestdll.dll %SystemRoot%\system >temp.txt -) else ( - copy test\libtestD\debug\libtestDd.dll %SystemRoot%\system >temp.txt - copy test\libtestD\release\libtestD.dll %SystemRoot%\system >temp.txt -) -del temp.txt diff --git a/windows/install_f90dll.BAT b/windows/install_f90dll.BAT deleted file mode 100755 index 865da33..0000000 --- a/windows/install_f90dll.BAT +++ /dev/null @@ -1,30 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - - -@REM File name: install_f90dll.bat -@REM This batch file is used to copy HDF5 Fortran library DLLs into system folder. -@REM By Xuan Bai -@REM Created: Aug. 12, 2004 -@REM Last Updated: Aug. 16, 2004 - -@ ECHO OFF -copy proj\hdf5_f90cstubdll\debug\hdf5_f90cstubddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_f90cstubdll\release\hdf5_f90cstubdll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_fortrandll\debug\hdf5_fortranddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_fortrandll\release\hdf5_fortrandll.dll %SystemRoot%\system >temp.txt -copy fortran\test\libtest_cstubdll\debug\libtest_cstubddll.dll %SystemRoot%\system >temp.txt -copy fortran\test\libtest_cstubdll\release\libtest_cstubdll.dll %SystemRoot%\system >temp.txt -copy fortran\test\libtest_fortrandll\debug\libtest_fortranddll.dll %SystemRoot%\system >temp.txt -copy fortran\test\libtest_fortrandll\release\libtest_fortrandll.dll %SystemRoot%\system >temp.txt -del temp.txt \ No newline at end of file diff --git a/windows/install_hlcppdll.BAT b/windows/install_hlcppdll.BAT deleted file mode 100755 index fbb2d9c..0000000 --- a/windows/install_hlcppdll.BAT +++ /dev/null @@ -1,23 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@REM File name: install_hlcppdll.bat -@REM This batch file is used to copy HDF5 c++ library high level DLLs into system folder. -@REM By Fang GUO -@REM Created: July 14, 2005 -@REM Last Updated: - -@ ECHO OFF -copy proj\hdf5_hl_cppdll\Release\hdf5_hl_cppdll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_hl_cppdll\Debug\hdf5_hl_cppddll.dll %SystemRoot%\system >temp.txt -del temp.txt \ No newline at end of file diff --git a/windows/install_hldll.BAT b/windows/install_hldll.BAT deleted file mode 100755 index 18e0893..0000000 --- a/windows/install_hldll.BAT +++ /dev/null @@ -1,24 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - - -@REM File name: install_hldll.bat -@REM This batch file is used to copy HDF5 c library high level DLLs into system folder. -@REM By Fang GUO -@REM Created: July 14, 2005 -@REM Last Updated: - -@ ECHO OFF -copy proj\hdf5_hldll\Debug\hdf5_hlddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_hldll\Release\hdf5_hldll.dll %SystemRoot%\system >temp.txt -del temp.txt \ No newline at end of file diff --git a/windows/install_hlf90dll.bat b/windows/install_hlf90dll.bat deleted file mode 100755 index 14b836f..0000000 --- a/windows/install_hlf90dll.bat +++ /dev/null @@ -1,27 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - - -@REM File name: install_hlf90dll.bat -@REM This batch file is used to copy HDF5 fortran library high level DLLs into system folder. -@REM By Fang GUO -@REM Created: July 15, 2005 -@REM Last Updated: - -@ECHO OFF -copy proj\hdf5_hl_fortrandll\Debug\hdf5_hl_fortranddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_hl_f90cstubdll\Debug\hdf5_hl_f90cstubddll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_hl_fortrandll\Release\hdf5_hl_fortrandll.dll %SystemRoot%\system >temp.txt -copy proj\hdf5_hl_f90cstubdll\Release\hdf5_hl_f90cstubdll.dll %SystemRoot%\system >temp.txt - -del temp.txt \ No newline at end of file diff --git a/windows/perform/checkperformtests.bat b/windows/perform/checkperformtests.bat new file mode 100644 index 0000000..ac9119e --- /dev/null +++ b/windows/perform/checkperformtests.bat @@ -0,0 +1,89 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 performance tools +rem +rem Created: Scott Wegner, 9/10/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_PERFTEST_", as we use these for our +rem tests. Also clear "HDF5_PERFTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_perftest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_perftest_') do set %%a= +set hdf5_perftest_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the perftest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_perftest_tests=%hdf5_perftest_tests% %1 + set hdf5_perftest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_perftest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_perftest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All performance tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test iopipe%2 ..\test\iopipe%2\%1 + call :add_test chunk%2 ..\test\chunk%2\%1 + call :add_test overhead%2 ..\test\overhead%2\%1 + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/proj/all/all.sln b/windows/proj/all/all.sln index cb89ae1..009ce2a 100755 --- a/windows/proj/all/all.sln +++ b/windows/proj/all/all.sln @@ -333,25 +333,25 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enumdll", "..\..\test\enumd {C9535AD9-C61D-4691-A5CE-52EF359892AF} = {C9535AD9-C61D-4691-A5CE-52EF359892AF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_api", "..\..\test\error_api\error_api.vcproj", "{7ABA5DD5-77E7-42D3-9C29-84A13B0CAA91}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_test", "..\..\test\error_test\error_test.vcproj", "{7ABA5DD5-77E7-42D3-9C29-84A13B0CAA91}" ProjectSection(ProjectDependencies) = postProject {26346A09-C500-49E7-963A-D22A8E09AAB7} = {26346A09-C500-49E7-963A-D22A8E09AAB7} {A80D439C-37B4-4619-A122-1C69F567733B} = {A80D439C-37B4-4619-A122-1C69F567733B} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_apidll", "..\..\test\error_apidll\error_apidll.vcproj", "{55894CDC-C220-40FE-B403-D74EAC6EBACF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_testdll", "..\..\test\error_testdll\error_testdll.vcproj", "{55894CDC-C220-40FE-B403-D74EAC6EBACF}" ProjectSection(ProjectDependencies) = postProject {54BDA057-C716-4807-A35E-73185DCB236D} = {54BDA057-C716-4807-A35E-73185DCB236D} {C9535AD9-C61D-4691-A5CE-52EF359892AF} = {C9535AD9-C61D-4691-A5CE-52EF359892AF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_compat", "..\..\test\error_compat\error_compat.vcproj", "{265C41B2-30D7-4FF8-A08C-B997363DA763}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "err_compat", "..\..\test\err_compat\err_compat.vcproj", "{265C41B2-30D7-4FF8-A08C-B997363DA763}" ProjectSection(ProjectDependencies) = postProject {26346A09-C500-49E7-963A-D22A8E09AAB7} = {26346A09-C500-49E7-963A-D22A8E09AAB7} {A80D439C-37B4-4619-A122-1C69F567733B} = {A80D439C-37B4-4619-A122-1C69F567733B} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_compatdll", "..\..\test\error_compatdll\error_compatdll.vcproj", "{309CE6F8-4658-44CB-8E99-0B86DCA77EFC}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "err_compatdll", "..\..\test\err_compatdll\err_compatdll.vcproj", "{309CE6F8-4658-44CB-8E99-0B86DCA77EFC}" ProjectSection(ProjectDependencies) = postProject {54BDA057-C716-4807-A35E-73185DCB236D} = {54BDA057-C716-4807-A35E-73185DCB236D} {C9535AD9-C61D-4691-A5CE-52EF359892AF} = {C9535AD9-C61D-4691-A5CE-52EF359892AF} diff --git a/windows/proj/all_fortran/all_fortran.sln b/windows/proj/all_fortran/all_fortran.sln index c4359cc..50c9ec2 100644 --- a/windows/proj/all_fortran/all_fortran.sln +++ b/windows/proj/all_fortran/all_fortran.sln @@ -357,25 +357,25 @@ Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "enumdll", "..\..\test\enumd {C9535AD9-C61D-4691-A5CE-52EF359892AF} = {C9535AD9-C61D-4691-A5CE-52EF359892AF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_api", "..\..\test\error_api\error_api.vcproj", "{7ABA5DD5-77E7-42D3-9C29-84A13B0CAA91}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_test", "..\..\test\error_test\error_test.vcproj", "{7ABA5DD5-77E7-42D3-9C29-84A13B0CAA91}" ProjectSection(ProjectDependencies) = postProject {26346A09-C500-49E7-963A-D22A8E09AAB7} = {26346A09-C500-49E7-963A-D22A8E09AAB7} {A80D439C-37B4-4619-A122-1C69F567733B} = {A80D439C-37B4-4619-A122-1C69F567733B} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_apidll", "..\..\test\error_apidll\error_apidll.vcproj", "{55894CDC-C220-40FE-B403-D74EAC6EBACF}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_testdll", "..\..\test\error_testdll\error_testdll.vcproj", "{55894CDC-C220-40FE-B403-D74EAC6EBACF}" ProjectSection(ProjectDependencies) = postProject {54BDA057-C716-4807-A35E-73185DCB236D} = {54BDA057-C716-4807-A35E-73185DCB236D} {C9535AD9-C61D-4691-A5CE-52EF359892AF} = {C9535AD9-C61D-4691-A5CE-52EF359892AF} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_compat", "..\..\test\error_compat\error_compat.vcproj", "{265C41B2-30D7-4FF8-A08C-B997363DA763}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "err_compat", "..\..\test\err_compat\err_compat.vcproj", "{265C41B2-30D7-4FF8-A08C-B997363DA763}" ProjectSection(ProjectDependencies) = postProject {26346A09-C500-49E7-963A-D22A8E09AAB7} = {26346A09-C500-49E7-963A-D22A8E09AAB7} {A80D439C-37B4-4619-A122-1C69F567733B} = {A80D439C-37B4-4619-A122-1C69F567733B} EndProjectSection EndProject -Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "error_compatdll", "..\..\test\error_compatdll\error_compatdll.vcproj", "{309CE6F8-4658-44CB-8E99-0B86DCA77EFC}" +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "err_compatdll", "..\..\test\err_compatdll\err_compatdll.vcproj", "{309CE6F8-4658-44CB-8E99-0B86DCA77EFC}" ProjectSection(ProjectDependencies) = postProject {54BDA057-C716-4807-A35E-73185DCB236D} = {54BDA057-C716-4807-A35E-73185DCB236D} {C9535AD9-C61D-4691-A5CE-52EF359892AF} = {C9535AD9-C61D-4691-A5CE-52EF359892AF} diff --git a/windows/test/checktests.bat b/windows/test/checktests.bat new file mode 100644 index 0000000..197ab04 --- /dev/null +++ b/windows/test/checktests.bat @@ -0,0 +1,129 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 library +rem +rem Created: Scott Wegner, 9/4/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_LIBTEST_", as we use these for our +rem tests. Also clear "HDF5_LIBTEST_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_libtest_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_libtest_') do set %%a= +set hdf5_libtest_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the libtest being tested +rem %2 - Relative path of script +:add_test + + set hdf5_libtest_tests=%hdf5_libtest_tests% %1 + set hdf5_libtest_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_libtest_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_libtest_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All library tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + call :add_test testerror.bat . + call :add_test testhdf5%2 .\testhdf5%2\%1 + call :add_test lheap%2 .\lheap%2\%1 + call :add_test ohdr%2 .\ohdr%2\%1 + call :add_test stab%2 .\stab%2\%1 + call :add_test gheap%2 .\gheap%2\%1 + call :add_test cache%2 .\cache%2\%1 + call :add_test cache_api%2 .\cache_api%2\%1 + call :add_test pool%2 .\pool%2\%1 + call :add_test hyperslab%2 .\hyperslab%2\%1 + call :add_test istore%2 .\istore%2\%1 + call :add_test bittests%2 .\bittests%2\%1 + call :add_test dt_arith%2 .\dt_arith%2\%1 + call :add_test dtypes%2 .\dtypes%2\%1 + call :add_test dsets%2 .\dsets%2\%1 + call :add_test cmpd_dset%2 .\cmpd_dset%2\%1 + call :add_test extend%2 .\extend%2\%1 + call :add_test external%2 .\external%2\%1 + call :add_test objcopy%2 .\objcopy%2\%1 + call :add_test links%2 .\links%2\%1 + call :add_test unlink%2 .\unlink%2\%1 + call :add_test big%2 .\big%2\%1 + call :add_test mtime%2 .\mtime%2\%1 + call :add_test fillval%2 .\fillval%2\%1 + call :add_test mount%2 .\mount%2\%1 + call :add_test flush1%2 .\flush1%2\%1 + call :add_test flush2%2 .\flush2%2\%1 + call :add_test enum%2 .\enum%2\%1 + call :add_test set_extent%2 .\set_extent%2\%1 + rem Test commented because threadsafe is not built by default on Windows. + rem --SJW 9/5/07 + rem call :add_test ttsafe%2 .\ttsafe%2\%1 + rem Test commented because stream driver is not supported on Windows. + rem --SJW 9/5/07 + rem call :add_test stream_test%2 .\stream_test%2\%1 + call :add_test getname%2 .\getname%2\%1 + call :add_test vfd%2 .\vfd%2\%1 + call :add_test ntypes%2 .\ntypes%2\%1 + call :add_test dangle%2 .\dangle%2\%1 + call :add_test reserved%2 .\reserved%2\%1 + call :add_test cross_read%2 .\cross_read%2\%1 + call :add_test btree2%2 .\btree2%2\%1 + call :add_test fheap%2 .\fheap%2\%1 + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/test/error_api/error_api.vcproj b/windows/test/error_api/error_api.vcproj deleted file mode 100644 index 58f28cc..0000000 --- a/windows/test/error_api/error_api.vcproj +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/windows/test/error_apidll/error_apidll.vcproj b/windows/test/error_apidll/error_apidll.vcproj deleted file mode 100644 index 5db808b..0000000 --- a/windows/test/error_apidll/error_apidll.vcproj +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/windows/test/error_compat/error_compat.vcproj b/windows/test/error_compat/error_compat.vcproj deleted file mode 100644 index c9b6e4a..0000000 --- a/windows/test/error_compat/error_compat.vcproj +++ /dev/null @@ -1,457 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/windows/test/error_compatdll/error_compatdll.vcproj b/windows/test/error_compatdll/error_compatdll.vcproj deleted file mode 100644 index f18b15e..0000000 --- a/windows/test/error_compatdll/error_compatdll.vcproj +++ /dev/null @@ -1,453 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/windows/test/hdf5test.bat b/windows/test/hdf5test.bat deleted file mode 100755 index 4a93dc7..0000000 --- a/windows/test/hdf5test.bat +++ /dev/null @@ -1,306 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@ECHO OFF -REM This batch file is used to HDF5 C Library. -REM Last Modified: 05/19/2005 by Fang GUO - -echo ============================ -echo Testing testhdf5 -echo ============================ - -testhdf5%2\%1\testhdf5%2 - -echo ============================ -echo Testing lheap -echo ============================ - -lheap%2\%1\lheap%2 - -echo. -echo ============================ -echo Testing ohdr -echo ============================ - -ohdr%2\%1\ohdr%2 - -echo. -echo ============================ -echo Testing stab -echo ============================ - -stab%2\%1\stab%2 - -echo. -echo ============================ -echo Testing gheap -echo ============================ - -gheap%2\%1\gheap%2 - -echo. -echo ============================ -echo Testing cache -echo ============================ - -cache%2\%1\cache%2 - -echo. -echo ============================ -echo Testing cache_api -echo ============================ - -cache_api%2\%1\cache_api%2 - -echo. -echo ============================ -echo Testing btree2 -echo ============================ - -btree2%2\%1\btree2%2 - -echo. -echo ============================ -echo Testing pool -echo ============================ - -pool%2\%1\pool%2 - -echo. -echo ============================ -echo Testing hyperslab -echo ============================ - -hyperslab%2\%1\hyperslab%2 - -echo. -echo ============================ -echo Testing istore -echo ============================ - -istore%2\%1\istore%2 - -echo. -echo ============================ -echo Testing bittests -echo ============================ - -bittests%2\%1\bittests%2 - -echo. -echo ============================ -echo Testing dt_arith -echo ============================ - -dt_arith%2\%1\dt_arith%2 - -echo. -echo ============================ -echo Testing dtypes -echo ============================ - -dtypes%2\%1\dtypes%2 - -echo. -echo ============================ -echo Testing dsets -echo ============================ - -dsets%2\%1\dsets%2 - -echo. -echo ============================ -echo Testing cmpd_dset -echo ============================ - -cmpd_dset%2\%1\cmpd_dset%2 - -echo. -echo ============================ -echo Testing extend -echo ============================ - -extend%2\%1\extend%2 - -echo. -echo ============================ -echo Testing external -echo ============================ - -external%2\%1\external%2 - -echo. -echo ============================ -echo Testing objcopy -echo ============================ - -objcopy%2\%1\objcopy%2 - -echo. -echo ============================ -echo Testing links -echo ============================ - -links%2\%1\links%2 - -echo. -echo ============================ -echo Testing unlink -echo ============================ - -unlink%2\%1\unlink%2 - -echo. -echo ============================ -echo Testing big -echo ============================ - -echo. -echo Test skipped because it is not supported on Windows. -echo. - -echo ============================ -echo Testing mtime -echo ============================ - -mtime%2\%1\mtime%2 - -echo. -echo ============================ -echo Testing fillval -echo ============================ - -fillval%2\%1\fillval%2 - -echo. -echo ============================ -echo Testing mount -echo ============================ - -mount%2\%1\mount%2 - -echo. -echo ============================ -echo Testing flush1 -echo ============================ - -flush1%2\%1\flush1%2 - -echo. -echo ============================ -echo Testing flush2 -echo ============================ - -flush2%2\%1\flush2%2 - -echo. -echo ============================ -echo Testing enum -echo ============================ - -enum%2\%1\enum%2 - -echo ============================ -echo Testing set_extent -echo ============================ - -set_extent%2\%1\set_extent%2 - -echo ============================ -echo Testing ttsafe -echo ============================ - -echo. -echo Test skipped because THREADSAFE is not supported on Windows. -echo. - -echo ============================ -echo Testing stream_test -echo ============================ - -echo. -echo Test skipped because it is not supported on Windows. -echo. - -echo ============================ -echo Testing getname -echo ============================ - -getname%2\%1\getname%2 - -echo. -echo ============================ -echo Testing vfd -echo ============================ - -vfd%2\%1\vfd%2 - -echo. -echo ============================ -echo Testing ntypes -echo ============================ - -ntypes%2\%1\ntypes%2 - -echo. -echo ============================ -echo Testing dangle -echo ============================ - -dangle%2\%1\dangle%2 - -echo. -echo ============================ -echo Testing dtransform -echo ============================ - -dtransform%2\%1\dtransform%2 - -echo. -echo ============================ -echo Testing reserved -echo ============================ - -reserved%2\%1\reserved%2 - -echo. -echo ============================ -echo Testing cross_read -echo ============================ - -cross_read%2\%1\cross_read%2 - -echo ============================ -echo Testing fheap -echo ============================ - -fheap%2\%1\fheap%2 - - -echo. -echo ============================ -echo Testing ./testerr.bat -echo ============================ -echo Test skipped because sed is not universal supported. -echo To test the HDF5 error API, you need to have sed on your machine. -echo Please remove echo on the following line in this batch file to do the test. -echo. - -echo call testerr %1 %2 -echo. -echo ============================ -echo Testing talign -echo ============================ - -..\tools\talign%2\%1\talign%2 - diff --git a/windows/test/hdf5timingtest.bat b/windows/test/hdf5timingtest.bat deleted file mode 100755 index 08f4368..0000000 --- a/windows/test/hdf5timingtest.bat +++ /dev/null @@ -1,19 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -chunk%2\%1\chunk%2 - -iopipe%2\%1\iopipe%2 - -overhead%2\%1\overhead%2 - diff --git a/windows/test/testerr.bat b/windows/test/testerr.bat deleted file mode 100644 index 18c1e61..0000000 --- a/windows/test/testerr.bat +++ /dev/null @@ -1,74 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@REM This batch file tests HDF5 error API and backward compatibility with 1.6. -@REM If you want to use 1.8 with 1.6 compatibility,To the functionality of error APIs, -@REM You need to do the following two things: -@REM 1. Uncomment out /*#define H5_WANT_H5_V1_6_COMPAT 1*/ inside h5pubconf.h. -@REM 2. Set up an environment variable H5_WANT_H5_V1_6_COMPAT to 1 -@REM Remember to undo 1 and 2 after you test if you are not going to use 1.6 backward compatibility option. -@echo off -@REM Goto the correct directory -cd error_api%2\%1 -@REM Copy the executable files -copy /Y ..\..\error_compat%2\%1\error_compat%2.exe . >tempcopy.out 2>tempcopy.err -copy /Y ..\..\testfiles\err* . >tempcopy.out 2>tempcopy.err -@REM use sed to replace the changable number or string(such as line number, thread IDs etc.) -@REM We also want to combine the standard output and standard error of API tests into one file. -@REM Note the different NAME between 1.6 and 1.8... -if "%H5_WANT_H5_V1_6_COMPAT%"=="1" ( -error_compat%2 >actual_test.out 2>actual_test.err -sed -e "s/thread [0-9]*/thread (IDs)/" -e "s/: .*\.c /: (file name) /" actual_test.err >temp1.err -sed -e "s/line [0-9]*/line (number)/" -e "s/v[1-9]*\.[0-9]*\./version (number)\./" temp1.err >temp2.err -sed -e "s/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/" temp2.err >temp3.err -more /e actual_test.out >actual_temp.err -more /e temp3.err >>actual_temp.err -error_api%2 >actual_compat.out 2>actual_compat.err -) else ( -error_api%2 >actual_test.out 2>actual_test.err -sed -e "s/thread [0-9]*/thread (IDs)/" -e "s/: .*\.c /: (file name) /" actual_test.err >temp1.err -sed -e "s/line [0-9]*/line (number)/" -e "s/v[1-9]*\.[0-9]*\./version (number)\./" temp1.err >temp2.err -sed -e "s/[1-9]*\.[0-9]*\.[0-9]*[^)]*/version (number)/" temp2.err >temp3.err -more /e actual_test.out >actual_temp.err -more /e temp3.err >>actual_temp.err -error_compat%2 >actual_compat.out 2>actual_compat.err -) -@REM We also want to filter out the first three lines of the expected output in order to -@REM get the "no difference output" between actual and expected results by using fc command. -if "%H5_WANT_H5_V1_6_COMPAT%"=="1" ( - more /e +3 error_test_2 >>err_compat_temp - more /e +3 err_compat_1 >>expect_temp.err -) else ( - more /e +3 error_test_1 >>expect_temp.err - more /e +3 err_compat_2 >>err_compat_temp -) - -fc actual_temp.err expect_temp.err > fc_temp.out 2>fc_temp.err -if %ERRORLEVEL%==0 ( -echo. All error API tests PASSED -)else ( -echo. error API tests FAILED -) -fc actual_compat.out err_compat_temp > fc_temp.out 2>fc_temp.err -if %ERRORLEVEL%==0 ( -echo. All error API compatible tests passed PASSED -)else ( -echo. error API compatible tests FAILED -) -del *.err -del *.out -del *temp -del error_compat%2.exe -del *.h5 -cd ..\.. - diff --git a/windows/test/testerror.bat b/windows/test/testerror.bat new file mode 100644 index 0000000..3dad50b --- /dev/null +++ b/windows/test/testerror.bat @@ -0,0 +1,198 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for test_error and err_compat +rem +rem Created: Scott Wegner, 8/16/07 +rem Modified: + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Determine backwards compatibility options enabled +rem set deprecated_symbols=%deprecated_symbols% + +set /a nerrors=0 +set verbose=yes + +if not exist .\testfiles mkdir testfiles + +goto main + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%a + ) ) + ) + set test_msg=%test_msg% + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. If a test fails then increment +rem the `nerrors' global variable and (if $verbose is set) display the +rem difference between the actual output and the expected output. The +rem expected output is given as the first argument to this function and +rem the actual output file is calculated by replacing the `.ddl' with +rem `.out'. The actual output is not removed if $HDF5_NOCLEANUP has a +rem non-zero value. +rem +:test + rem The test name + set test_err=%1%3 + rem The path of the test binary + set test_err_bin=%cd%\%test_err%\%2\%test_err% + + set expect1=%cd%\testfiles\%~n1_1 + set expect2=%cd%\testfiles\%~n1_2 + set expect1_parsed=%~n1_1.parsed + set expect2_parsed=%~n1_2.parsed + set actual=%~n1.out + set actual_err=%~n1.err + set actual_ext=%~n1.ext + + rem Run test + ( + echo.############################# + echo.Expected output for %1 + echo.############################# + %test_err_bin% + ) >%actual% 2>%actual_err% + rem Extract file name, line number, version and thread IDs because they may + rem be different + + rem Also filter out lines starting with *****, because Windows treats these + rem as wildcards, and parses as filenames. -SJW, 8/16/07 + type nul > %actual_ext% + for /f "delims=" %%a in (%actual_err%) do ( + set line_tmp=%%a + if not "!line_tmp:~0,9!"=="*********" ( + set line= + set last_token= + for %%b in (%%a) do ( + if "!last_token!"=="thread" ( + set line=!line! ^(IDs^): + ) else if "!last_token:~0,2!"=="#0" ( + set line=!line! ^(file name^) + ) else if "!last_token!"=="HDF5" ( + rem Check if we wrap parenthesis around "version (number)" + set version_token=%%b + if "!version_token:~0,1!"=="(" ( + set line=!line! ^(version ^(number^)^) + ) else ( + set line=!line! version ^(number^). + ) + ) else if "!last_token!"=="line" ( + set line=!line! ^(number^) + ) else ( + set line=!line! %%b + ) + set last_token=%%b + ) + echo.!line!>>%actual_ext% + ) + ) + type %actual_ext% >> %actual% + + rem We parse through our expected output file in a similar way, because + rem Windows will parse out commas and other special characters as well. + rem -SJW, 8/16/07 + for %%a in (expect1 expect2) do ( + type nul > !%%a_parsed! + for /f "delims=" %%b in (!%%a!) do ( + set line_tmp=%%b + if not "!line_tmp:~0,9!"=="*********" ( + set line= + for %%c in (%%b) do ( + set line=!line! %%c + ) + echo.!line!>>!%%a_parsed! + ) + ) + ) + type nul > %expect2_parsed% + for /f "delims=" %%a in (%expect2%) do ( + set line_tmp=%%a + if not "!line_tmp:~0,9!"=="*********" ( + set line= + for %%b in (%%a) do ( + set line=!line! %%b + ) + echo.!line!>>%expect2_parsed% + ) + ) + + fc /w %expect1_parsed% %actual% | find "FC: no diff" > nul + if %errorlevel% equ 0 ( + call :testing PASSED %test_err% + ) else ( + fc /w %expect2_parsed% %actual% | find "FC: no diff" > nul + if !errorlevel! equ 0 ( + call :testing PASSED %test_err% + ) else ( + call :testing *FAILED* %test_err% + echo. Expected result differs from actual result + set /a nerrors=%nerrors%+1 + if "yes"=="%verbose%" fc %expect1_parsed% %actual% + ) + ) + + rem Clean up output file + if not defined HDF5_NOCLEANUP ( + for %%a in (%actual% %actual_err% %actual_ext% %expect1_parsed% %expect2_parsed%) do del /f %%a + ) + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %* + + exit /b + + +rem ############################################################################## +rem ############################################################################## +rem ### T H E T E S T S ### +rem ############################################################################## +rem ############################################################################## + +:main + + rem test for err_compat + if "%deprecated_symbols%"=="yes" ( + call :skip err_compat %1 %2 + ) else ( + call :test err_compat %1 %2 + ) + + rem test for error_test + call :test error_test %1 %2 + + if %nerrors% equ 0 ( + echo.All Error API tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/checktools.bat b/windows/tools/checktools.bat new file mode 100644 index 0000000..f5a5b82 --- /dev/null +++ b/windows/tools/checktools.bat @@ -0,0 +1,152 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the hdf5 tools +rem +rem Created: Scott Wegner, 9/4/07 +rem Modified: Scott Wegner, 9/6/07 +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem Clean any variables starting with "HDF5_TOOL_", as we use these for our +rem tests. Also clear "HDF5_TOOL_TESTS", as we will be addding all of our tests +rem to this variable. +rem Set at least one variable in set beforehand to avoid error message. +rem --SJW 9/5/07 +set hdf5_tool_=foo +for /f "tokens=1 delims==" %%a in ('set hdf5_tool_') do set %%a= +set hdf5_tool_tests= + +goto main + + +rem Function to add a test to the test suite. +rem Expects the following parameters: +rem %1 - Name of the tool being tested +rem %2 - Relative path of script +:add_test + + set hdf5_tool_tests=%hdf5_tool_tests% %1 + set hdf5_tool_%1_test=%CD%\%2\%1 + + exit /b + + +rem Run all of the tests that have been added to the suite. Print a header +rem at the beginning of each one. Short-circuit if a test fails. +rem Expects the following parameters: +rem %1 - release or debug version +rem %2 - "dll" or nothing +:run_tests + for %%a in (%hdf5_tool_tests%) do ( + echo. + echo.************************************ + echo. Testing %%a ^(%1 %2^) + echo.************************************ + + rem Only add our parameters for batch scripts. + call !hdf5_tool_%%a_test:.bat= %1 %2! + rem Exit early if test fails. + if !errorlevel! neq 0 exit /b + ) + + rem If we get here, that means all of our tests passed. + echo.All tool tests passed. + + exit /b + + +rem This is where we add tests to the suite, and run them all at the end. +rem Make sure only to run dll versions of tests you build dll for. +rem Also make sure to add *.bat to batch scripts, as the above functions rely +rem on it for sending parameters. --SJW 9/6/07 +:main + + rem lib tests + call :add_test talign%2 talign%2\%1 + + rem h5dump tests + rem Test commented because it produces output in the wrong directory. + rem --SJW 9/5/07 + rem if not "%2"=="dll" ( + rem call :add_test h5dumptst .\testfiles\h5dumptst\%1 + rem ) + call :add_test testh5dump.bat .\h5dump + call :add_test testh5dumpxml.bat .\h5dump + + rem h5diff tests + rem Test commented because it produces output in the wrong directory. + rem --SJW 9/5/07 + rem if not "%2"=="dll" ( + rem call :add_test h5difftst .\testfiles\h5difftst\%1 + rem ) + call :add_test testh5diff.bat .\h5diff + + rem h5ls tests + call :add_test testh5ls.bat .\h5ls + + rem misc tests + rem Test commented because we don't built it on Windows + rem --SJW 9/5/07 + rem call :add_test h5stat_gentest .\testfiles\h5stat_gentest%2\%1 + call :add_test testh5repart.bat .\h5repart + if not "%2"=="dll" ( + call :add_test testh5mkgrp.bat .\h5mkgrp + ) + + rem h5import tests + rem Test commented because it produces output in the wrong directory. + rem --SJW 9/5/07 + rem if not "%2"=="dll" ( + rem call :add_test h5importtest .\testfiles\h5importtest\%1 + rem ) + call :add_test h5importtestutil.bat .\h5import + + rem h5repack tests + call :add_test h5repack.bat .\h5repack + if not "%2"=="dll" ( + call :add_test h5repacktst .\testfiles\h5repacktst\%1 + ) + + rem h5jam tests + if not "%2"=="dll" ( + call :add_test testh5jam.bat .\h5jam + ) + + rem h5copy tests + rem Test commented because we don't built it on Windows + rem --SJW 9/5/07 + rem call :add_test h5stat_gentest .\testfiles\h5stat_gentest%2\%1 + if not "%2"=="dll" ( + call :add_test testh5copy.bat .\h5copy + ) + + rem h5stat tests + rem Test commented because it produces output in the wrong directory. + rem --SJW 9/5/07 + rem if not "%2"=="dll" ( + rem call :add_test h5repart_gentest .\testfiles\h5repart_gentest\%1 + rem ) + call :add_test testh5stat.bat .\h5stat + + + rem Run the tests, passing in which version to run + call :run_tests %* + + popd + endlocal & exit /b + \ No newline at end of file diff --git a/windows/tools/copytest.BAT b/windows/tools/copytest.BAT deleted file mode 100644 index 2315456..0000000 --- a/windows/tools/copytest.BAT +++ /dev/null @@ -1,194 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5repack tests -::Usage -:: copytest release -- release static version -:: copytest debug -- debug static version -:: copytest release dll -- release dll version -:: copytest debug dll -- debug dll version -:: Written By: MUQUN YANG -:: Date : Oct. 19, 2006 - -::What is actually doing? -::Example case -::h5copy -i ..\..\testfiles\test1.h5 -o ..\..\temptest\out.test1.h5 -::h5diff ..\..\testfiles\test1.h5 ..\..\temptest\out.test1.h5 > ..\..\temptest\temp.txt 2>&1 -::fc ..\..\temptest\temp.txt temptest\notcomp.txt -::if %ERRORLEVEL%==0 ( -:: echo Testing h5copy test1.h5 PASSED >> ..\..\copytest%2_%1.txt -::) else ( -:: echo Testing h5copy test1.h5 FAILED >> ..\..\copytest%2_%1.txt -:: more temp.txt >> ..\..\copytest%2_%1.txt -::) - - - - - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - -::******************************************************************* -:: Generate a new temp directory for test h5copy and reference file -::******************************************************************* - ::Make a temporary directory for testing h5copy - mkdir temptest - - :: Reference Files - :: After running h5copy with a input .h5 file, it will use - :: h5diff to compare the expected .h5 file with the output - :: .h5 file generated by h5copy. The comparison results will be - :: one of the following two cases. - - :: Case 1: No difference between the expected .h5 and .h5 generated by h5copy file - type nul > temptest\empty.txt - - ::Case 2: For test1.h5 and test2.h5, the output will be "Some objects - :: are not comparable", but actually there is no difference between - - type nul > temptest\notcomp.txt - echo -------------------------------->>temptest\notcomp.txt - echo Some objects are not comparable>> temptest\notcomp.txt - echo -------------------------------->>temptest\notcomp.txt - echo Use -v for a list of objects.>> temptest\notcomp.txt - - :: Set two variables to contain the following two file names and paths - set nodiff=..\..\temptest\empty.txt - set notcomp=..\..\temptest\notcomp.txt - -::**************************************************** -:: Set the Environment Variables & Change Dir to .EXE -::**************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Set file name for the test results - set tempResults=copytest%2_%1.txt - :: Set exe file name - set exefile=h5copy%p2% - :: Set a variable for the sub batch file tools\tooltest.bat - set tooltest=..\..\tooltest - - - set test0=..\..\testfiles\h5copytst.h5 - set output0=..\..\testfiles\out.h5copytst.h5 - :: Creat the file for saving the tests results - type nul > %tempResults% - - :: Change to the direcotory where the .exe file is located - cd h5copy%p2%\%p1% - -::********************************************* -:: Test each function by calling TOOLTEST.BAT -::********************************************* - -echo. -echo.**************************************************** -echo. h5copy%2 %1 T E S T S -echo.**************************************************** - -::Basic Usage: -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name -::3. Example -::If we want to test -::h5copy -i ..\..\testfiles\test1.h5 -o ..\..\temptest\out.test1.h5 -::At first, we need to set the flag like -::set flag=-i %test1% -o %output1% -::Secondly, we call batch file tooltest.bat followed by one of reference files -::call %tooltest% %test1% %notcomp% - - -::-------------- -:: case1: simple -::--------------v -set flag=-i %test0% -o %output0% -v -s simple -d simple -call %tooltest% %test0% %nodiff% - - -::-------------- -:: case2: chunk -::-------------- -set flag=-i %test0% -o %output0% -v -s chunk -d chunk -call %tooltest% %test0% %nodiff% - -::-------------- -:: case3: compact -::-------------- -set flag=-i %test0% -o %output0% -v -s compact -d compact -call %tooltest% %test0% %nodiff% - -::-------------- -:: case4: compound -::-------------- -set flag=-i %test0% -o %output0% -v -s compound -d compound -call %tooltest% %test0% %nodiff% - - -::-------------- -:: case4: compressed -::-------------- -set flag=-i %test0% -o %output0% -v -s compressed -d compressed -call %tooltest% %test0% %nodiff% - -::-------------- -:: case5: named_vl -::-------------- -set flag=-i %test0% -o %output0% -v -s named_vl -d named_vl -call %tooltest% %test0% %nodiff% - -::-------------- -:: case6: nested_vl -::-------------- -set flag=-i %test0% -o %output0% -v -s nested_vl -d nested_vl -call %tooltest% %test0% %nodiff% - - -cd ..\.. - -echo. -::Tests how many tests failed and how many tests skiped -if %totalerr%==0 ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not %totalskip%==0 ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -echo. -find "SKIPED" %tempResults% | more +2 -) - -:: remove direcotory temptest and all its contents -rmdir /s/q temptest - -:: Clean environment variables - -for %%v in (p1 p2 tempResults exefile tooltest nodiff notcomp totalerr totalskip) do set %%v= -for %%v in (0 1 2 3 4 5 _szip _deflate _shuffle _fletcher32 _nbit _scaleoffset _all) do ( -set test%%v= -set output%%v= -) - - diff --git a/windows/tools/difftest.BAT b/windows/tools/difftest.BAT deleted file mode 100755 index fc42472..0000000 --- a/windows/tools/difftest.BAT +++ /dev/null @@ -1,477 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5diff tests. -::Usage -:: difftest release -- release static version -:: difftest debug -- debug static version -:: difftest release dll -- release dll version -:: difftest debug dll -- debug dll version -:: Written By: Fang GUO -:: Date : Jan. 12, 2006 - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - -::********************************************** -:: Generate a new temp directory for test h5diff -::********************************************** - -:: Make a tempory directory for difftest - mkdir temptest - -::**************************************************** -:: Set the Environment Variables & Change Dir to .EXE -::**************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Set up some variables for convenience - :: tempResults will contain the tests results temporarily - set tempResults=difftest%p2%_%p1%.txt - :: exefile will contain the file name of the executable file - set exefile=h5diff%p2% - :: tooltest is the sub-batch file which will be called by tool test - set tooltest=..\..\tooltest - ::Handle the expected file and the actual output file - ::ln is the total line numbers to be deleted from the actual output - set ln=1 - ::ln_exp is the total line numbers to be deleted from the expected output - set ln_exp=4 - - :: NOTE1 - ::Set some variables to contain .h5 file and its path for convenience - ::When you add new h5diff tests, check if the .h5 files is inside this for loop. - ::For example, if you will add a new h5diff test using hdf5\tools\testfiles\file9.h5 - ::You need to add "9" after 8 or somewhere inside the () - ::The testing file names have been renamed. The following lines are not valid. - :: for %%v in (1 2 3 4 5 6 7 8) do set file%%v=..\..\testfiles\file%%v.h5 - set file1=..\..\testfiles\h5diff_basic1.h5 - set file2=..\..\testfiles\h5diff_basic2.h5 - set file3=..\..\testfiles\h5diff_types.h5 - set file4=..\..\testfiles\h5diff_dtypes.h5 - set file5=..\..\testfiles\h5diff_attr1.h5 - set file6=..\..\testfiles\h5diff_attr2.h5 - set file7=..\..\testfiles\h5diff_dset1.h5 - set file8=..\..\testfiles\h5diff_dset2.h5 - set file9=..\..\testfiles\h5diff_hyper1.h5 - set file10=..\..\testfiles\h5diff_hyper2.h5 - ::Create the file to contain the tests output - type nul > %tempResults% - - ::Change directory to the directory where the .exe file is located - cd h5diff%p2%\%p1% - -::********************************************* -:: Test each function by calling TOOLTEST.BAT -::********************************************* -::USAGE of difftest.bat -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name -::3. Example -::If we want to test h5diff ..\..\testfiles\file1.h5 ..\..\testfiles\file2.h5 g1/dset1 g1/dset2 -::At first, we need to set the flag like -::set flag=%file1% %file2% g1/dset1 g1/dset2 -::Secondly, we call batch file tooltest.bat by -::call %tooltest% h5diff_12.txt - -echo. -echo.**************************************************** -echo. H5diff%2 %1 T E S T S -echo.**************************************************** - -::-------------- -::Common usage -::-------------- - -::1.0 -set flag=-h -call %tooltest% h5diff_10.txt - -::1.1 normal mode -set flag=%file1% %file2% -call %tooltest% h5diff_11.txt - -::1.2 normal mode with objects -set flag=%file1% %file2% g1/dset1 g1/dset2 -call %tooltest% h5diff_12.txt - -::1.3 report mode -set flag=%file1% %file2% -r -call %tooltest% h5diff_13.txt - -::1.4 report mode with objects -set flag=%file1% %file2% -r g1/dset1 g1/dset2 -call %tooltest% h5diff_14.txt - -::1.5 with -d -set flag=%file1% %file2% -r -d 5 g1/dset3 g1/dset4 -call %tooltest% h5diff_15.txt - -::1.6.1 with -p (int) -set flag=%file1% %file1% -v -p 0.02 g1/dset5 g1/dset6 -call %tooltest% h5diff_16_1.txt - -:: Commented out in unix test script (due to cross-platform errors) -::1.6.2 with -p (unsigned long_long) -:: set flag=%file1% %file1% -v -p 0.02 g1/dset7 g1/dset8 -:: call %tooltest% h5diff_16_2.txt - -::1.6.2 with -p (unsigned long_long) -set flag=%file1% %file1% -v -p 0.02 g1/dset9 g1/dset10 -call %tooltest% h5diff_16_3.txt - -::1.7 verbose mode -set flag=%file1% %file2% -v -call %tooltest% h5diff_17.txt - -::1.8 quiet mode -set flag=%file1% %file2% -q -call %tooltest% h5diff_18.txt - -::--------------------- -::Not Comparable Types -::--------------------- - -::2.0 -set flag=%file3% %file3% -v dset g1 -call %tooltest% h5diff_20.txt - -::2.1 -set flag=%file3% %file3% -v dset l1 -call %tooltest% h5diff_21.txt - - -::2.2 -set flag=%file3% %file3% -v dset t1 -call %tooltest% h5diff_22.txt - - -::2.3 -set flag=%file3% %file3% -v g1 g1 -call %tooltest% h5diff_23.txt - -::2.4 -set flag=%file3% %file3% -v t1 t1 -call %tooltest% h5diff_24.txt - -::2.5 -set flag=%file3% %file3% -v l1 l1 -call %tooltest% h5diff_25.txt - -::2.6 -set flag=%file3% %file3% -v g1 g2 -call %tooltest% h5diff_26.txt - -::2.7 -set flag=%file3% %file3% -v t1 t2 -call %tooltest% h5diff_27.txt - -::2.8 -set flag=%file3% %file3% -v l1 l2 -call %tooltest% h5diff_28.txt - - - -::------------- -:: Dataset types -:: ------------- - -::5.0 -set flag=%file4% %file4% -v dset0a dset0b -call %tooltest% h5diff_50.txt - - -::5.1 -set flag=%file4% %file4% -v dset1a dset1b -call %tooltest% h5diff_51.txt - - -::5.2 -set flag=%file4% %file4% -v dset2a dset2b -call %tooltest% h5diff_52.txt - - -::5.3 -set flag=%file4% %file4% -v dset3a dset4b -call %tooltest% h5diff_53.txt - - -::5.4 -set flag=%file4% %file4% -v dset4a dset4b -call %tooltest% h5diff_54.txt - - -::5.5 -set flag=%file4% %file4% -v dset5a dset5b -call %tooltest% h5diff_55.txt - - -::5.6 -set flag=%file4% %file4% -v dset6a dset6b -call %tooltest% h5diff_56.txt - - -::5.7 -set flag=%file4% %file4% -v dset7a dset7b -call %tooltest% h5diff_57.txt - - -::5.8 long_long test; different format of long_long print in Linux and IRIX -set flag=%file7% %file8% -v refreg -call %tooltest% h5diff_58.txt - -:: -------------- -:: Error messages -:: -------------- - -::6.0: Check if the command line number of arguments is less than 3 -set flag=%file1% -call %tooltest% h5diff_600.txt - -::6.1: Check for invalid options -set flag=%file1% %file2% -x -call %tooltest% h5diff_601.txt - -:: ---- -:: -d -:: ---- - -::6.2: no value -set flag=%file1% %file2% -d g1/dset3 g1/dset4 -call %tooltest% h5diff_602.txt - - -::6.3: negative value -set flag=%file1% %file2% -d -4 g1/dset3 g1/dset4 -call %tooltest% h5diff_603.txt - - -::6.4: zero -set flag=%file1% %file2% -d 0 g1/dset3 g1/dset4 -call %tooltest% h5diff_604.txt - - -::6.5: non number -set flag=%file1% %file2% -d u g1/dset3 g1/dset4 -call %tooltest% h5diff_605.txt - - -::6.6: hexadecimal -set flag=%file1% %file2% -d 0x1 g1/dset3 g1/dset4 -call %tooltest% h5diff_606.txt - - -::6.7: string -set flag=%file1% %file2% -d "1" g1/dset3 g1/dset4 -call %tooltest% h5diff_607.txt - - -::6.8: repeated option -set flag=%file1% %file2% -d 1 -d 2 g1/dset3 g1/dset4 -call %tooltest% h5diff_608.txt - - -::6.9: number larger than biggest difference -set flag=%file1% %file2% -d 200 g1/dset3 g1/dset4 -call %tooltest% h5diff_609.txt - - -::6.10: number smaller than smallest difference -set flag=%file1% %file2% -d 1 g1/dset3 g1/dset4 -call %tooltest% h5diff_610.txt - -::--- -::-p -::--- - - -::6.11: no value -set flag=%file1% %file2% -r -p g1/dset3 g1/dset4 -call %tooltest% h5diff_611.txt - - - -::6.12: negative value -set flag=%file1% %file2% -p -4 g1/dset3 g1/dset4 -call %tooltest% h5diff_612.txt - - - -::6.13: zero -set flag=%file1% %file2% -p 0 g1/dset3 g1/dset4 -call %tooltest% h5diff_613.txt - - - -::6.14: non number -set flag=%file1% %file2% -p u g1/dset3 g1/dset4 -call %tooltest% h5diff_614.txt - - -::6.15: hexadecimal -set flag=%file1% %file2% -p 0x1 g1/dset3 g1/dset4 -call %tooltest% h5diff_615.txt - - -::6.16: string -set flag=%file1% %file2% -p "0.21" g1/dset3 g1/dset4 -call %tooltest% h5diff_616.txt - - -::6.17: repeated option -set flag=%file1% %file2% -p 0.21 -p 0.22 g1/dset3 g1/dset4 -call %tooltest% h5diff_617.txt - - -::6.18: number larger than biggest difference -set flag=%file1% %file2% -p 2 g1/dset3 g1/dset4 -call %tooltest% h5diff_618.txt - - -::6.19: number smaller than smallest difference -set flag=%file1% %file2% -p 0.005 g1/dset3 g1/dset4 -call %tooltest% h5diff_619.txt - - -::--- -::-n -::--- - -::6.20: no value -set flag=%file1% %file2% -n g1/dset3 g1/dset4 -call %tooltest% h5diff_620.txt - - -::6.21: negative value -set flag=%file1% %file2% -n -4 g1/dset3 g1/dset4 -call %tooltest% h5diff_621.txt - - -::6.22: zero -set flag=%file1% %file2% -n 0 g1/dset3 g1/dset4 -call %tooltest% h5diff_622.txt - - -::6.23: non number -set flag=%file1% %file2% -n u g1/dset3 g1/dset4 -call %tooltest% h5diff_623.txt - - -::6.24: hexadecimal -set flag=%file1% %file2% -n 0x1 g1/dset3 g1/dset4 -call %tooltest% h5diff_624.txt - - -::6.25: string -set flag=%file1% %file2% -n "2" g1/dset3 g1/dset4 -call %tooltest% h5diff_625.txt - - - -::6.26: repeated option -set flag=%file1% %file2% -n 2 -n 3 g1/dset3 g1/dset4 -call %tooltest% h5diff_626.txt - - -::6.27: number larger than biggest difference -set flag=%file1% %file2% -n 200 g1/dset3 g1/dset4 -call %tooltest% h5diff_627.txt - - -::6.28: number smaller than smallest difference -set flag=%file1% %file2% -n 1 g1/dset3 g1/dset4 -call %tooltest% h5diff_628.txt - - -::6.29: non valid %files - -set flag=file1.h6 file2.h6 -call %tooltest% h5diff_629.txt - -::-------------- -::7. attributes -::-------------- - -set flag=%file5% %file6% -v -call %tooltest% h5diff_70.txt - - -::------------------------- -::8. all dataset datatypes -::------------------------- - -set flag=%file7% %file8% -v -call %tooltest% h5diff_80.txt - - -::----------------------------- -::9. compare a %file with itself -::----------------------------- - -set flag=%file2% %file2% -call %tooltest% h5diff_90.txt - -::----------------------------- -::10. read by hyperslab, print indexes -::----------------------------- - -set flag=%file9% %file10% -v -call %tooltest% h5diff_100.txt - -::----------------------------- -::11. floating point comparison -::----------------------------- - -REM Not tested on Windows due to difference in formatting of scientific notation -REM set flag=%file1% %file1% /g1/d1 g1/d2 -v -REM call %tooltest% h5diff_101.txt - -REM set flag=%file1% %file1% /g1/fp1 g1/fp2 -v -REM call %tooltest% h5diff_102.txt - -::Change directory to hdf5\tools -cd ..\.. - -::Check if any of tests failed or skiped for the time being -echo. -if "%totalerr%"=="0" ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not "%totalskip%"=="0" ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -find "SKIPED" %tempResults% | more +2 -) - -::NOTE1 CLEAN -::Clean up Environment Variables -for %%i in (p1 p2 tempResults exefile tooltest ln ln_exp totalskip totalerr) do set %%i= -for %%v in (1 2 3 4 5 6 7 8) do set file%%v= -set flag= - -::Clean up Temporary Files -rmdir /s/q temptest - - diff --git a/windows/tools/dumptest.bat b/windows/tools/dumptest.bat deleted file mode 100755 index 3af0558..0000000 --- a/windows/tools/dumptest.bat +++ /dev/null @@ -1,710 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5dump general and xml tests. -::Usage -:: dumptest release -- release static version -:: dumptest debug -- debug static version -:: dumptest release dll -- release dll version -:: dumptest debug dll -- debug dll version -:: Written By: Fang GUO -:: Date : Jan. 12, 2006 - - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - - -::******************************************************* -:: Generate a new temp directory for test h5dump -::******************************************************* - :: Make a temporary directory for h5dump test - mkdir temptest - -::****************************************************************** -:: Set the Environment Variables & Change Dir to Dir with h5dump.EXE -::****************************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Before comparison between expected file and the actual outputfile, - :: Ignore the first line in actual outputfile and the first four lines - :: in the expected output file - - set ln=1 - set ln_exp=4 - - :: Save the tests output into a temporary file - set tempResults=dumptest%2_%1.txt - type nul > %tempResults% - - :: Define the .exe file based on the second parameter - set exefile=h5dump%p2% - - :: For convenience, set a variable for the sub batch file - set tooltest=..\..\tooltest - - :: For convenience, set variable for all testfiles/*.h5 files - for %%i in (testfiles\t*.h5) do set %%~ni=..\..\%%i - - :: Special cases: the following are not .h5 files but needed in the tests - for %%i in (tsplit_file tmulti) do ( - set %%i=..\..\testfiles\%%i - ) - - :: Havn't find a way to use % inside a variable name - set tfamily05d=..\..\testfiles\tfamily%%05d.h5 - - :: Change the directory to dir including .exe file - cd h5dump%p2%\%p1% - -::Test h5dump with different options - -echo.**************************************************** -echo. h5dump%2 %1 T E S T S -echo.**************************************************** - -::-------------------------- -::test for displaying groups -::-------------------------- -set flag=%tgroup% -call %tooltest% tgroup-1.ddl - -::--------------------------------------- -::test for displaying the selected groups -::--------------------------------------- -set flag=--group=/g2 --group / -g /y %tgroup% -call %tooltest% tgroup-2.ddl - -:: ----------------------------------------- -:: test for displaying simple space datasets -::------------------------------------------ -set flag=%tdset% -call %tooltest% tdset-1.ddl - -::-------------------------------------- -::test for displaying selected datasets -::-------------------------------------- -set flag=-H -d dset1 -d /dset2 --dataset=dset3 %tdset% -call %tooltest% tdset-2.ddl - -::------------------------------ -::test for displaying attributes -::------------------------------ -set flag=%tattr% -call %tooltest% tattr-1.ddl - -::--------------------------------------------------------------------------- -::test for displaying the selected attributes of string type and scalar space -::--------------------------------------------------------------------------- -set flag=-a /attr1 --attribute /attr4 --attribute=/attr5 %tattr% -call %tooltest% tattr-2.ddl - -::---------------------------------- -::test for header and error messages -::---------------------------------- -set flag=--header -a /attr2 --attribute=/attr %tattr% -call %tooltest% tattr-3.ddl - -::----------------------------------------------------------------------------- -::test for displaying attributes in shared datatype (also in group and dataset) -::----------------------------------------------------------------------------- -set flag=%tnamed_dtype_attr% -call %tooltest% tnamed_dtype_attr.ddl - -::------------------------------ -::test for displaying soft links -::------------------------------ -set flag=%tslink% -call %tooltest% tslink-1.ddl - -set flag=%tudlink% -call %tooltest% tudlink-1.ddl -::------------------------------------- -::test for displaying the selected link -::------------------------------------- -set flag=-l slink2 %tslink% -call %tooltest% tslink-2.ddl - -set flag=-l udlink2 %tudlink% -call %tooltest% tudlink-2.ddl - -::-------------------- -::tests for hard links -::-------------------- -set flag=%thlink% -call %tooltest% thlink-1.ddl - -set flag=-d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 %thlink% -call %tooltest% thlink-2.ddl - -set flag=-d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 %thlink% -call %tooltest% thlink-3.ddl - -set flag=-g /g1 %thlink% -call %tooltest% thlink-4.ddl - -set flag=-d /dset1 -g /g2 -d /g1/dset2 %thlink% -call %tooltest% thlink-5.ddl - -::----------------------------- -::tests for compound data types -::----------------------------- -set flag=%tcompound% -call %tooltest% tcomp-1.ddl - -::------------------------- -::test for named data types -::------------------------- -set flag=-t /type1 --datatype /type2 --datatype=/group1/type3 %tcompound% -call %tooltest% tcomp-2.ddl - -::-------------------- -::test for unamed type -::-------------------- -set flag=-t /#6632:0 -g /group2 %tcompound% -call %tooltest% tcomp-3.ddl - -::---------------------------------- -::test complicated compound datatype -::---------------------------------- -set flag=%tcompound_complex% -call %tooltest% tcomp-4.ddl - -::--------------------------------- -::test for the nested compound type -::--------------------------------- -set flag=%tnestedcomp% -call %tooltest% tnestcomp-1.ddl - -::---------------- -::test for options -::---------------- -set flag=%tall% -call %tooltest% tall-1.ddl - -set flag=--header -g /g1/g1.1 -a attr2 %tall% -call %tooltest% tall-2.ddl - -set flag=-d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink %tall% -call %tooltest% tall-3.ddl - -::------------------------ -::test for loop detection -::------------------------ -set flag=%tloop% -call %tooltest% tloop-1.ddl - -::--------------- -::test for string -::--------------- -set flag=%tstr% -call %tooltest% tstr-1.ddl - -set flag=%tstr2% -call %tooltest% tstr-2.ddl - -::------------------------------------- -::test for file created by Lib SAF team -::------------------------------------- -set flag=%tsaf% -call %tooltest% tsaf.ddl - -::--------------------------------------- -::test for file with variable length data -::--------------------------------------- -set tvldtypes=..\..\testfiles\tvldtypes -for %%v in (1 2 3 4 5) do ( -set flag=%tvldtypes%%%v.h5 -call %tooltest% tvldtypes%%v.ddl -) -set tvldtypes= - -::---------------------------------------------- -::test for file with variable length string data -::---------------------------------------------- -set flag=%tvlstr% -call %tooltest% tvlstr.ddl - -::------------------------------ -::test for files with array data -::------------------------------ -set tarray=..\..\testfiles\tarray -for /L %%v in (1,1,7) do ( -set flag=%tarray%%%v%.h5 -call %tooltest% tarray%%v.ddl -) -set tarray= - -::------------------------------ -::test for files with empty data -::------------------------------ -set flag=%tempty% -call %tooltest% tempty.ddl - -::--------------------------------------------- -::test for files with groups that have comments -::--------------------------------------------- -set flag=%tgrp_comments% -call %tooltest% tgrp_comments.ddl - -::--------------------------- -::test the --filedriver flag -::--------------------------- -set flag=--filedriver=split %tsplit_file% -call %tooltest% tsplit_file.ddl - -::Special: Find a way to echo environment -set flag=--filedriver=family %tfamily05d% -call %tooltest% tfamily.ddl - -set flag=--filedriver=multi %tmulti% -call %tooltest% tmulti.ddl - -::---------------------------------------------------------------- -::test for files with group names which reach > 1024 bytes in size -::---------------------------------------------------------------- -set flag=-w157 %tlarge_objname% -call %tooltest% tlarge_objname.ddl - -::------------------------------------------- -::test '-A' to suppress data but print attr's -::------------------------------------------- -set flag=-A %tall% -call %tooltest% tall-2A.ddl - -::--------------------------------------------------------- -::test '-r' to print attributes in ASCII instead of decimal -::--------------------------------------------------------- -set flag=-A -r %tall% -call %tooltest% tall-2B.ddl - -::--------------- -::test Subsetting -::--------------- -set flag=--dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 %tall% -call %tooltest% tall-4s.ddl - -set flag=-d "/g1/g1.1/dset1.1.2[0;2;10;]" %tall% -call %tooltest% tall-5s.ddl - -set flag=-d "/dset1[1,1;;;]" %tdset% -call %tooltest% tdset-3s.ddl - -::set flag=-d "/dset1[;3,2;4,4;1,4]" %tdset2% -::call %tooltest% tdset2-1s.ddl - -::---------------------------------------------------- -::test printing characters in ASCII instead of decimal -::---------------------------------------------------- -set flag=-r %tchar% -call %tooltest% tchar1.ddl - -::--------------------- -::test failure handling -::--------------------- - -::1. Missing file name -set flag= -call %tooltest% tnofilename.ddl - -:: rev. 2004 - -::--------------------- -::tests for super block -::--------------------- -set flag=-H -B -d dset %tfcontents1% -call %tooltest% tboot1.ddl - -set flag=-B %tfcontents2% -call %tooltest% tboot2.ddl - -::------------------------------------ -:: test -p with a non existing dataset -::------------------------------------ -set flag=-p -d bogus %tfcontents1% -call %tooltest% tperror.ddl - -::---------------------- -::test for file contents -::---------------------- -set flag=-n %tfcontents1% -call %tooltest% tcontents.ddl - -::------------------------- -::tests for storage layout -::------------------------- - -for %%v in (compact chunked external) do ( -set flag=-H -p -d %%v %tfilters% -call %tooltest% t%%v.ddl -) - -::contiguous (tcontiguos.ddl or tcontiguous.ddl) -set flag=-H -p -d contiguous %tfilters% -call %tooltest% tcontiguos.ddl - -::----------- -::fill values -::----------- -set flag=-p %tfvalues% -call %tooltest% tfill.ddl - -::----------------------------------------------- -::several datatype, with references , print path -::----------------------------------------------- -set flag=%tattr2% -call %tooltest% treference.ddl - -::------------------------------------------ -::escape/not escape non printable characters -::------------------------------------------ -set flag=-e %tstr3% -call %tooltest% tstringe.ddl - -set flag=%tstr3% -call %tooltest% tstring.ddl - -::---------------------------------- -::char data as ASCII with non escape -::---------------------------------- -set flag=-r -d str4 %tstr3% -call %tooltest% tstring2.ddl - -::----------------------------- -::array indices print/not print -::----------------------------- -set flag=%taindices% -call %tooltest% tindicesyes.ddl - -set flag=-y %taindices% -call %tooltest% tindicesno.ddl - - -::----------------------------- -::array indices with subsetting -::----------------------------- - -set flag=-d 1d -s 3 -c 40 %taindices% -call %tooltest% tindicessub1.ddl - -set flag=-d 2d -s 1,3 -c 6,4 %taindices% -call %tooltest% tindicessub2.ddl - -set flag=-d 3d -s 0,1,3 -c 2,6,4 %taindices% -call %tooltest% tindicessub3.ddl - -set flag=-d 4d -s 0,0,1,3 -c 2,2,6,4 %taindices% -call %tooltest% tindicessub4.ddl - -::----------------- -::tests for filters -::----------------- - -:: SZIP -set flag=-H -p -d szip %tfilters% -call %tooltest% tszip.ddl szip - -::deflate -set flag=-H -p -d deflate %tfilters% -call %tooltest% tdeflate.ddl zlib - -::shuffle -set flag=-H -p -d shuffle %tfilters% -call %tooltest% tshuffle.ddl - -::fletcher32 -set flag=-H -p -d fletcher32 %tfilters% -call %tooltest% tfletcher32.ddl - -::nbit -set flag=-H -p -d nbit %tfilters% -call %tooltest% tnbit.ddl - -::scaleoffset -set flag=-H -p -d scaleoffset %tfilters% -call %tooltest% tscaleoffset.ddl - -::all -set flag=-H -p -d all %tfilters% -call %tooltest% tallfilters.ddl zlib szip - -::user defined -set flag=-H -p -d myfilter %tfilters% -call %tooltest% tuserfilter.ddl - -::test for displaying objects with very long names -set flag=%tlonglinks% -call %tooltest% tlonglinks.ddl - -::dimensions over 4GB, print boundary -set flag=-d dset4gb -s 4294967284 -c 22 %tbigdims% -call %tooltest% tbigdims.ddl - -::hyperslab read -set flag=%thyperslab% -call %tooltest% thyperslab.ddl - -::test for displaying dataset and attribute of null space -set flag=%tnullspace% -call %tooltest% tnullspace.ddl - - -::test for long double (Some systems do not have long double) -set flag=%tldouble% -call %tooltest% tldouble.ddl SKIP - -::Test for vms -set flag=%tvms% -call %tooltest% tvms.ddl - - -::test for binary output -set flag=-d array -o out1.bin -b LE %tbinary% -call %tooltest% tbin1.ddl - -set flag=-d float -o out2.bin -b BE %tbinary% -call %tooltest% tbin2.ddl - -set flag=-d integer -o out3.bin -b MEMORY %tbinary% -call %tooltest% tbin3.ddl - - -set flag=-d double -o out4.bin -b FILE %tbinary% -call %tooltest% tbin4.ddl - -::test for dataset region references -set flag=%tdatareg% -call %tooltest% tregref.ddl - -echo. -echo.**************************************************** -echo. h5dump%2 %1 XML T E S T S -echo.**************************************************** - -::test XML -set flag=--xml %tall% -call %tooltest% tall.h5.xml - -set flag=--xml %tattr% -call %tooltest% tattr.h5.xml - -set flag=--xml %tbitfields% -call %tooltest% tbitfields.h5.xml - -set flag=--xml %tcompound% -call %tooltest% tcompound.h5.xml - -set flag=--xml %tcompound2% -call %tooltest% tcompound2.h5.xml - -set flag=--xml %tdatareg% -call %tooltest% tdatareg.h5.xml - -set flag=--xml %tdset% -call %tooltest% tdset.h5.xml - -set flag=--xml %tdset2% -call %tooltest% tdset2.h5.xml - -set flag=--xml %tenum% -call %tooltest% tenum.h5.xml - -set flag=--xml %tgroup% -call %tooltest% tgroup.h5.xml - -set flag=--xml %thlink% -call %tooltest% thlink.h5.xml SKIP - -set flag=--xml %tloop% -call %tooltest% tloop.h5.xml - -set flag=--xml %tloop2% -call %tooltest% tloop2.h5.xml - -set flag=--xml %tmany% -call %tooltest% tmany.h5.xml SKIP - -set flag=--xml %tnestedcomp% -call %tooltest% tnestedcomp.h5.xml - -set flag=--xml %tcompound_complex% -call %tooltest% tcompound_complex.h5.xml - -set flag=--xml %tobjref% -call %tooltest% tobjref.h5.xml - -set flag=--xml %topaque% -call %tooltest% topaque.h5.xml - -set flag=--xml %tslink% -call %tooltest% tslink.h5.xml - -set flag=--xml %tstr% -call %tooltest% tstr.h5.xml - -set flag=--xml %tstr2% -call %tooltest% tstr2.h5.xml - -set flag=--xml %tref% -call %tooltest% tref.h5.xml - -set flag=--xml %tname-amp% -call %tooltest% tname-amp.h5.xml - -set flag=--xml %tname-apos% -call %tooltest% tname-apos.h5.xml - -set flag=--xml %tname-gt% -call %tooltest% tname-gt.h5.xml - -set flag=--xml %tname-lt% -call %tooltest% tname-lt.h5.xml - -set flag=--xml %tname-quot% -call %tooltest% tname-quot.h5.xml - -set flag=--xml %tname-sp% -call %tooltest% tname-sp.h5.xml - -set flag=--xml %tstring% -call %tooltest% tstring.h5.xml - -set flag=--xml %tstring-at% -call %tooltest% tstring-at.h5.xml - -set flag=--xml %tref-escapes% -call %tooltest% tref-escapes.h5.xml - -set flag=--xml %tref-escapes-at% -call %tooltest% tref-escapes-at.h5.xml - -set flag=--xml %tnodata% -call %tooltest% tnodata.h5.xml - -set flag=--xml %tarray1% -call %tooltest% tarray1.h5.xml - -set flag=--xml %tarray2% -call %tooltest% tarray2.h5.xml - -set flag=--xml %tarray3% -call %tooltest% tarray3.h5.xml - -set flag=--xml %tarray6% -call %tooltest% tarray6.h5.xml - -set flag=--xml %tarray7% -call %tooltest% tarray7.h5.xml - -set flag=--xml %tvldtypes1% -call %tooltest% tvldtypes1.h5.xml - -set flag=--xml %tvldtypes2% -call %tooltest% tvldtypes2.h5.xml - -set flag=--xml %tvldtypes3% -call %tooltest% tvldtypes3.h5.xml - -set flag=--xml %tvldtypes4% -call %tooltest% tvldtypes4.h5.xml - -set flag=--xml %tvldtypes5% -call %tooltest% tvldtypes5.h5.xml - -set flag=--xml %tvlstr% -call %tooltest% tvlstr.h5.xml - -set flag=--xml %tsaf% -call %tooltest% tsaf.h5.xml - -set flag=--xml %tempty% -call %tooltest% tempty.h5.xml - -set flag=--xml %tnamed_dtype_attr% -call %tooltest% tnamed_dtype_attr.h5.xml - - -::Test dataset and attribute of null space. Commented out: -::wait until the XML schema is updated for null space. -set flag=--xml tnulspace.h5 -call %tooltest% tnullspace.h5.xml SKIP - -::other options for xml - -set flag=--xml --use-dtd %tempty% -call %tooltest% tempty-dtd.h5.xml - -set flag=--xml -u %tempty% -call %tooltest% tempty-dtd-2.h5.xml - -set flag=--xml -X ":" %tempty% -call %tooltest% tempty-nons.h5.xml - -set flag=--xml --xml-ns=":" %tempty% -call %tooltest% tempty-nons-2.h5.xml - -::Some of these combinations are syntactically correct but -::the URLs are dummies - -set flag=--xml -X "thing:" %tempty% -call %tooltest% tempty-ns.h5.xml - -set flag=--xml --xml-ns="thing:" %tempty% -call %tooltest% tempty-ns-2.h5.xml - -set flag=--xml --xml-ns=":" --xml-dtd="http://somewhere.net" %tempty% -call %tooltest% tempty-nons-uri.h5.xml - -set flag=--xml --use-dtd --xml-dtd="http://somewhere.net" %tempty% -call %tooltest% tempty-dtd-uri.h5.xml - -set flag=--xml -A %tall% -call %tooltest% tall-2A.h5.xml - -::------------------ -::End of -xml Tests -::------------------ - -cd ..\.. - -echo. -if %totalerr%==0 ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not %totalskip%==0 ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -echo. -find "SKIPED" %tempResults% | more +2 -) - -rmdir /s/q temptest - -for %%i in (testfiles\t*.h5) do set %%~ni= -set test_szip= -set output_szip= -for %%v in (p1 p2 tempResults exefile tooltest ln ln_exp tsplit_file tmulti tfamily05d totalskip) do set %%v= -for %%i in (tsplit_file tmulti) do set %%i= -set tfamily05d= diff --git a/windows/tools/h5copy/testh5copy.bat b/windows/tools/h5copy/testh5copy.bat new file mode 100644 index 0000000..71cfabc --- /dev/null +++ b/windows/tools/h5copy/testh5copy.bat @@ -0,0 +1,308 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5copy tool +rem +rem Created: Scott Wegner, 8/16/07 +rem Modified: Scott Wegner, 8/22/07 +rem + + +rem We don't currently build DLL version of h5copy, but this test script is +rem setup to support it if we do in the future. --SJW 8/22/07 + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem The tool name +set h5copy=h5copy%2 +rem The path of the tool binary +set h5copy_bin=%CD%\%1\%h5copy% +rem The h5diff tool name +set h5diff=h5diff%2 +rem The path of the h5diff too binary +set h5diff_bin=%CD%\..\%h5diff%\%1\%h5diff% +rem The h5ls tool name +set h5ls=h5ls%2 +rem Arguments to the h5ls tool +set h5ls_args=-Svr +rem The path of the h5ls tool binary +set h5ls_bin=%CD%\..\%h5ls%\%1\%h5ls% + +set /a nerrors=0 +set verbose=yes + +set srcfile=h5copytst.h5 +set indir=%CD%\..\testfiles +set outdir=%CD%\..\testfiles + +if not exist %outdir% mkdir %outdir% + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=%test_msg% + echo.%test_msg:~0,69% %1 + + exit /b + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Verifying". +rem +:verify + set verify_msg=Verifying h5diff output + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set verify_msg=!test_msg! %%~nxa + ) ) + ) + set verify_msg=%verify_msg% + echo.%verify_msg:~0,69% %1 + + exit /b + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Verifying". +rem +:verify_h5ls + set verifyh5ls_msg=Verifying h5ls file structure + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set verifyh5ls_msg=!test_msg! %%~nxa + ) ) + ) + set verifyh5ls_msg=%verifyh5ls_msg% + echo.%verifyh5ls_msg:~0,69% %1 + + exit /b + + + +rem Run a test and print PASS or *FAIL*. If h5copy can complete +rem with exit status 0, consider it pass. If a test fails then increment +rem the `nerrors' global variable. +rem Assumed arguments: +rem $1 is -i +rem $2 is input file +rem $3 is -o +rem $4 is output file +rem $* everything else arguments for h5copy. + +:tooltest + set runh5diff=yes + if "%1"=="-i" ( + set inputfile=%2 + ) else ( + set runh5diff=no + ) + if "%3"=="-o" ( + set outputfile=%4 + ) else ( + set h5diff=no + ) + + ( + echo.############################# + echo. output for %h5copy% %* + echo.############################# + %h5copy_bin% %* + ) > output.out + + if %errorlevel% neq 0 ( + call :testing *FAILED* %h5copy% %* + echo.failed result is: + type output.out + set /a nerrors=!nerrors!+1 + ) else ( + call :testing PASSED %h5copy% %* + + rem Clean up output file + if not defined HDF5_NOCLEANUP ( + del /f output.out + ) + ) + + if %runh5diff neq no ( + call :h5difftest %inputfile% %outputfile% + ) + + exit /b + + +rem Call the h5diff tool +rem +:h5difftest + %h5diff_bin% %* -q + if %errorlevel% neq 0 ( + call :verify *FAILED* %* + set /a nerrors=!nerrors!+1 + ) else ( + call :verify PASSED %* + ) + + exit /b + + +rem Call the h5ls tool to verify the correct output data in the destination file +rem +:h5lstest + set expect=%indir%\%~n1.ls + set expect_parsed=%expect%.parsed + set actual=%outdir%\%~n1.out + set actual_parsed=%actual%.parsed + + rem Stderr is included in stdout so that the diff can detect + rem any unexpected output from that stream too. + rem + rem Note: The modification time and storage utilization are masked off + rem so that the output is more portable + ( + echo.############################# + echo.Expected output for %h5ls% %* + echo.############################# + %h5ls_bin% %h5ls_args% %* + ) > %actual% 2>&1 + + rem Windows doesn't have "sed" command, and parsing the files line-by-line + rem to emulate Unix takes a very long time. Instead, we simply remove lines + rem with "Modified" or "Storage". We also remove lines "Opened (filename) + rem with sec2 driver" and "Expected output for (h5ls test)", because Windows + rem paths differ from Linux. Do this for actual and expected otput. + rem If there is a better alternative in the future, we should use it instead. + rem --SJW 8/22/07 + for %%a in (expect actual) do ( + findstr /v /c:" Modified:" !%%a! > tmp.txt + findstr /v /c:" Storage:" tmp.txt > tmp2.txt + findstr /v /b /c:"Expected output for " tmp2.txt > tmp.txt + findstr /v /b /c:"Opened " tmp.txt > !%%a_parsed! + ) + del /f tmp.txt tmp2.txt + + rem Don't special case non-existing expected output as Linux does, because + rem we depend on it above to parse anyway. It should be an error if it + rem doesn't exist. --SJW 8/22/07 +rem if not exist %expect% ( +rem rem Create the expect file if it doesn't yet exist +rem call :verify_h5ls CREATED %* +rem copy %actual% %expect% +rem ) else ( + fc %expect_parsed% %actual_parsed% | find "FC: no diff" > nul + if %errorlevel% equ 0 ( + call :verify_h5ls PASSED %* + ) else ( + call :verify_h5ls *FAILED* %* + echo. Expected result ^(*.ls^) differs from actual result ^(*.out^) + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc %expect_parsed% %actual_parsed% + ) +rem ) + + rem Clean up output file + if not defined HDF5_NOCLEANUP ( + for %%a in (%actual% %actual_parsed% %expect_parsed%) do del /f %%a + ) + + exit /b + + + +rem Copy single datasets of various forms from one group to another, +rem adding object copied to the destination file each time +rem +rem Assumed arguments: +rem +:copyobjects + + set testfile=%indir%\%srcfile% + set fileout=%outdir%\%srcfile:.h5=.out.h5% + + rem Remove any output file left over from previous test run + del /f %fileout% 2> nul + + echo.Test copying various forms of datasets + call :tooltest -i %testfile% -o %fileout% -v -s simple -d simple + call :tooltest -i %testfile% -o %fileout% -v -s chunk -d chunk + call :tooltest -i %testfile% -o %fileout% -v -s compact -d compact + call :tooltest -i %testfile% -o %fileout% -v -s compound -d compound + call :tooltest -i %testfile% -o %fileout% -v -s compressed -d compressed + call :tooltest -i %testfile% -o %fileout% -v -s named_vl -d named_vl + call :tooltest -i %testfile% -o %fileout% -v -s nested_vl -d nested_vl + + echo.Test copying dataset within group in source file to root of destination + call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets/simple -d simple_top + + echo.Test copying ^& renaming dataset. + call :tooltest -i %testfile% -o %fileout% -v -s compound -d rename + + echo.Test copying empty, 'full' ^& 'nested' groups + call :tooltest -i %testfile% -o %fileout% -v -s grp_empty -d grp_empty + call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets -d grp_dsets + call :tooltest -i %testfile% -o %fileout% -v -s grp_nested -d grp_nested + + echo.Test copying dataset within group in source file to group in destination + call :tooltest -i %testfile% -o %fileout% -v -s /grp_dsets/simple -d /grp_dsets/simple_group + + echo.Test copying ^& renaming group + call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets -d grp_rename + + echo.Test copying 'full' group hierarchy into group in destination file + call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets -d /grp_rename/grp_dsets + + echo.Test copying objects into group hier. that doesn't exist yet in destination file + call :tooltest -i %testfile% -o %fileout% -vp -s simple -d /A/B1/simple + call :tooltest -i %testfile% -o %fileout% -vp -s simple -d /A/B2/simple2 + call :tooltest -i %testfile% -o %fileout% -vp -s /grp_dsets/simple -d /C/D/simple + call :tooltest -i %testfile% -o %fileout% -vp -s /grp_dsets -d /E/F/grp_dsets + call :tooltest -i %testfile% -o %fileout% -vp -s /grp_nested -d /G/H/grp_nested + + rem Verify that the file created above is correct + call :h5lstest %fileout% + + rem Remove output file created, if the "no cleanup" environment variable is + rem not defined + if not defined HDF5_NOCLEANUP ( + del /f %fileout% + ) + + exit /b + + +rem ############################################################################## +rem ### T H E T E S T S ### +rem ############################################################################## + +:main + call :copyobjects + + if %nerrors% equ 0 ( + echo.All h5copy tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5diff/testh5diff.bat b/windows/tools/h5diff/testh5diff.bat new file mode 100644 index 0000000..7ffe773 --- /dev/null +++ b/windows/tools/h5diff/testh5diff.bat @@ -0,0 +1,427 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5diff tool +rem +rem Created: Scott Wegner, 8/22/07 +rem Modified: Scott Wegner, 8/23/07 +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem ############################################################################ +rem test file names +rem ############################################################################ + +set file1=h5diff_basic1.h5 +set file2=h5diff_basic2.h5 +set file3=h5diff_types.h5 +set file4=h5diff_dtypes.h5 +set file5=h5diff_attr1.h5 +set file6=h5diff_attr2.h5 +set file7=h5diff_dset1.h5 +set file8=h5diff_dset2.h5 +set file9=h5diff_hyper1.h5 +set file10=h5diff_hyper2.h5 + + +rem The tool name +set h5diff=h5diff%2 +rem The path of the tool binary +set h5diff_bin=%CD%\..\%h5diff%\%1\%h5diff% + +set /a nerrors=0 +set verbose=yes +rem default to run h5diff tests +set pmode= + +if not exist ..\testfiles mkdir ..\testfiles + +rem Parse options +rem On Windows, we don't parse, because we only want to worry about +rem debug/release and dll --SJW 9/5/07 + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=%test_msg% + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Function STDOUT_FILTER isn't technically needed on Windows, because this +rem script will never run on platforms that require it. However, include empty +rem interface for consistency. --SJW 8/22/07 +:stdout_filter + exit /b + + +rem Function STDERR_FILTER isn't technically needed on Windows, because this +rem script will never run on platforms that require it. However, include empty +rem interface for consistency. --SJW 8/22/07 +:stderr_filter + exit /b + + + +rem Run a test and print PASS or *FAIL*. If a test fails then increment +rem the `nerrors' global variable and (if verbose is set) display the +rem difference between the actual output and the expected output. The +rem expected output is given as the first argument to this function and +rem the actual output file is calculated by replacing the `.ddl' with +rem `.out'. The actual output is not removed if HDF5_NOCLEANUP has a +rem non-zero value. +rem +:tooltest + set expect=%CD%\..\testfiles\%1 + set actual=%CD%\..\testfiles\%~n1.out + set actual_err=%CD%\..\testfiles\~n1.err + set actual_sav=%actual%-sav + set actual_err_sav=%actual_err%-sav + + rem We define %params% here because Windows `shift` command doesn't affect + rem the %* variable. --SJW 8/22/07 + set params= + for /f "tokens=2*" %%a in ("%*") do ( + if "%%b"=="" ( + set params=%%a + ) else ( + set params=%%a %%b + ) + ) + rem Parallel mode not actually supported, but included for consistency. + if defined pmode ( + rem do nothing + ) + + rem Run test. + ( + echo.############################# + rem Remove quotes here, because Linux 'echo' command strips them + echo.Expected output for 'h5diff %params:"=%' + echo.############################# + pushd ..\testfiles + %h5diff_bin% %params% + popd + ) > %actual% 2> %actual_err% + rem save actual and actual_err in case they are needed later. + copy /y %actual% %actual_sav% > nul + call :stdout_filter %actual% + copy /y %actual_err% %actual_err_sav% > nul + call :stderr_filter %actual_err% + type %actual_err% >> %actual% + + if not exist %expect% ( + rem Create the expect file if it doesn't yet exist. + call :testing CREATED %h5diff% %params% + copy /y %actual% %expect% > nul + ) else ( + fc /w %expect% %actual% | find "FC: no diff" > nul + if !errorlevel! equ 0 ( + call :testing PASSED %h5diff% %params% + ) else ( + call :testing *FAILED* %h5diff% %params% + echo. Expected result ^(%expect%^) differs from actual result ^(%actual%^) + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc /w %actual% %expect% + ) + ) + + rem Clean up output file + if not defined hdf5_nocleanup ( + del /f %actual% %actual_err% %actual_sav% %actual_err_sav% + ) + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %h5diff% %* + + exit /b + + +:main +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ + +rem ############################################################################ +rem # Common usage +rem ############################################################################ + + + rem 1.0 + call :tooltest h5diff_10.txt -h + + rem 1.1 normal mode + call :tooltest h5diff_11.txt %file1% %file2% + + rem 1.2 normal mode with objects + call :tooltest h5diff_12.txt %file1% %file2% g1/dset1 g1/dset2 + + rem 1.3 report mode + call :tooltest h5diff_13.txt %file1% %file2% -r + + rem 1.4 report mode with objects + call :tooltest h5diff_14.txt %file1% %file2% -r g1/dset1 g1/dset2 + + rem 1.5 with -d + call :tooltest h5diff_15.txt %file1% %file2% -r -d 5 g1/dset3 g1/dset4 + + rem 1.6.1 with -p (int) + call :tooltest h5diff_16_1.txt %file1% %file1% -v -p 0.02 g1/dset5 g1/dset6 + + rem 1.6.2 with -p (unsigned long_long) + call :tooltest h5diff_16_2.txt %file1% %file1% -v -p 0.02 g1/dset7 g1/dset8 + + rem 1.6.3 with -p (double) + call :tooltest h5diff_16_3.txt %file1% %file1% -v -p 0.02 g1/dset9 g1/dset10 + + rem 1.7 verbose mode + call :tooltest h5diff_17.txt %file1% %file2% -v + + rem 1.8 quiet mode + call :tooltest h5diff_18.txt %file1% %file2% -q + + rem ############################################################################## + rem # not comparable types + rem ############################################################################## + + rem 2.0 + call :tooltest h5diff_20.txt %file3% %file3% -v dset g1 + + rem 2.1 + call :tooltest h5diff_21.txt %file3% %file3% -v dset l1 + + rem 2.2 + call :tooltest h5diff_22.txt %file3% %file3% -v dset t1 + + rem ############################################################################## + rem # compare groups, types, links (no differences and differences) + rem ############################################################################## + + rem 2.3 + call :tooltest h5diff_23.txt %file3% %file3% -v g1 g1 + + rem 2.4 + call :tooltest h5diff_24.txt %file3% %file3% -v t1 t1 + + rem 2.5 + call :tooltest h5diff_25.txt %file3% %file3% -v l1 l1 + + rem 2.6 + call :tooltest h5diff_26.txt %file3% %file3% -v g1 g2 + + rem 2.7 + call :tooltest h5diff_27.txt %file3% %file3% -v t1 t2 + + rem 2.8 + call :tooltest h5diff_28.txt %file3% %file3% -v l1 l2 + + + + rem ############################################################################## + rem # Dataset datatypes + rem ############################################################################## + + rem 5.0 + call :tooltest h5diff_50.txt %file4% %file4% -v dset0a dset0b + + rem 5.1 + call :tooltest h5diff_51.txt %file4% %file4% -v dset1a dset1b + + rem 5.2 + call :tooltest h5diff_52.txt %file4% %file4% -v dset2a dset2b + + rem 5.3 + call :tooltest h5diff_53.txt %file4% %file4% -v dset3a dset4b + + rem 5.4 + call :tooltest h5diff_54.txt %file4% %file4% -v dset4a dset4b + + rem 5.5 + call :tooltest h5diff_55.txt %file4% %file4% -v dset5a dset5b + + rem 5.6 + call :tooltest h5diff_56.txt %file4% %file4% -v dset6a dset6b + + rem 5.7 + call :tooltest h5diff_57.txt %file4% %file4% -v dset7a dset7b + + rem 5.8 (region reference) + call :tooltest h5diff_58.txt %file7% %file8% -v refreg + + rem ############################################################################## + rem # Error messages + rem ############################################################################## + + + rem 6.0: Check if the command line number of arguments is less than 3 + call :tooltest h5diff_600.txt %file1% + + rem 6.1: Check for invalid options + call :tooltest h5diff_601.txt %file1% %file2% -x + + rem ############################################################################## + rem # -d + rem ############################################################################## + + rem 6.2: no value + call :tooltest h5diff_602.txt %file1% %file2% -d g1/dset3 g1/dset4 + + rem 6.3: negative value + call :tooltest h5diff_603.txt %file1% %file2% -d -4 g1/dset3 g1/dset4 + + rem 6.4: zero + call :tooltest h5diff_604.txt %file1% %file2% -d 0 g1/dset3 g1/dset4 + + rem 6.5: non number + call :tooltest h5diff_605.txt %file1% %file2% -d u g1/dset3 g1/dset4 + + rem 6.6: hexadecimal + call :tooltest h5diff_606.txt %file1% %file2% -d 0x1 g1/dset3 g1/dset4 + + rem 6.7: string + call :tooltest h5diff_607.txt %file1% %file2% -d "1" g1/dset3 g1/dset4 + + rem 6.8: repeated option + call :tooltest h5diff_608.txt %file1% %file2% -d 1 -d 2 g1/dset3 g1/dset4 + + rem 6.9: number larger than biggest difference + call :tooltest h5diff_609.txt %file1% %file2% -d 200 g1/dset3 g1/dset4 + + rem 6.10: number smaller than smallest difference + call :tooltest h5diff_610.txt %file1% %file2% -d 1 g1/dset3 g1/dset4 + + + rem ############################################################################## + rem # -p + rem ############################################################################## + + + rem 6.11: no value + call :tooltest h5diff_611.txt %file1% %file2% -r -p g1/dset3 g1/dset4 + + rem 6.12: negative value + call :tooltest h5diff_612.txt %file1% %file2% -p -4 g1/dset3 g1/dset4 + + rem 6.13: zero + call :tooltest h5diff_613.txt %file1% %file2% -p 0 g1/dset3 g1/dset4 + + rem 6.14: non number + call :tooltest h5diff_614.txt %file1% %file2% -p u g1/dset3 g1/dset4 + + rem 6.15: hexadecimal + call :tooltest h5diff_615.txt %file1% %file2% -p 0x1 g1/dset3 g1/dset4 + + rem 6.16: string + call :tooltest h5diff_616.txt %file1% %file2% -p "0.21" g1/dset3 g1/dset4 + + rem 6.17: repeated option + call :tooltest h5diff_617.txt %file1% %file2% -p 0.21 -p 0.22 g1/dset3 g1/dset4 + + rem 6.18: number larger than biggest difference + call :tooltest h5diff_618.txt %file1% %file2% -p 2 g1/dset3 g1/dset4 + + rem 6.19: number smaller than smallest difference + call :tooltest h5diff_619.txt %file1% %file2% -p 0.005 g1/dset3 g1/dset4 + + + + rem ############################################################################## + rem # -n + rem ############################################################################## + + + rem 6.20: no value + call :tooltest h5diff_620.txt %file1% %file2% -n g1/dset3 g1/dset4 + + rem 6.21: negative value + call :tooltest h5diff_621.txt %file1% %file2% -n -4 g1/dset3 g1/dset4 + + rem 6.22: zero + call :tooltest h5diff_622.txt %file1% %file2% -n 0 g1/dset3 g1/dset4 + + rem 6.23: non number + call :tooltest h5diff_623.txt %file1% %file2% -n u g1/dset3 g1/dset4 + + rem 6.24: hexadecimal + call :tooltest h5diff_624.txt %file1% %file2% -n 0x1 g1/dset3 g1/dset4 + + rem 6.25: string + call :tooltest h5diff_625.txt %file1% %file2% -n "2" g1/dset3 g1/dset4 + + rem 6.26: repeated option + call :tooltest h5diff_626.txt %file1% %file2% -n 2 -n 3 g1/dset3 g1/dset4 + + rem 6.27: number larger than biggest difference + call :tooltest h5diff_627.txt %file1% %file2% -n 200 g1/dset3 g1/dset4 + + rem 6.28: number smaller than smallest difference + call :tooltest h5diff_628.txt %file1% %file2% -n 1 g1/dset3 g1/dset4 + + rem 6.29 non valid files + call :tooltest h5diff_629.txt file1.h6 file2.h6 + + rem ############################################################################## + rem 7. attributes + rem ############################################################################## + call :tooltest h5diff_70.txt %file5% %file6% -v + + rem ############################################################################## + rem 8. all dataset datatypes + rem ############################################################################## + call :tooltest h5diff_80.txt %file7% %file8% -v + + rem 9. compare a file with itself + call :tooltest h5diff_90.txt %file2% %file2% + + rem 10. read by hyperslab, print indexes + call :tooltest h5diff_100.txt %file9% %file10% -v + + rem 11. floating point comparison + rem Not tested on Windows due to difference in formatting of scientific + rem notation --SJW 8/23/07 + rem call :tooltest h5diff_101.txt %file1% %file1% g1/d1 g1/d2 -v + rem call :tooltest h5diff_102.txt %file1% %file1% g1/fp1 g1/fp2 -v + + rem ############################################################################## + rem # END + rem ############################################################################## + + if %nerrors% equ 0 ( + echo.All %h5diff% tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5dump/testh5dump.bat b/windows/tools/h5dump/testh5dump.bat new file mode 100644 index 0000000..c6cd5b5 --- /dev/null +++ b/windows/tools/h5dump/testh5dump.bat @@ -0,0 +1,530 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5dump tool +rem +rem Created: Scott Wegner, 8/23/07 +rem Modified: Scott Wegner, 8/27/07 +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +set h5pubconf=%CD%\..\..\src\h5pubconf.h + +rem Determine which filters are available +rem On Windows, the function :detect_filter sets these for us +call :detect_filter szip +call :detect_filter deflate +call :detect_filter shuffle +call :detect_filter fletcher32 +call :detect_filter nbit +call :detect_filter scaleoffset + +rem The tool name +set dumper=h5dump%2 +rem The path of the tool library +set dumper_bin=%CD%\..\%dumper%\%1\%dumper% +set testdir=%CD%\..\testfiles + +rem The h5diff tool name +set h5diff=..\h5diff%2\%1\h5diff%2 +rem The path of the h5diff tool binary +set h5diff_bin=%CD%\%h5diff% + +rem The h5import tool name +set h5import=..\h5import%2\%1\h5import%2 +rem The path of the h5import tool binary +set h5import_bin=%CD%\%h5import% + +set nerrors=0 +set verbose=yes + +if not exist %testdir% mkdir %testdir% + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing %dumper% + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 8/24/07 + set test_msg=!test_msg:PERCENT-ZERO=%%0! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. If a test fails then increment +rem the `nerrors' global variable and (if $verbose is set) display the +rem difference between the actual output and the expected output. The +rem expected output is given as the first argument to this function and +rem the actual output file is calculated by replacing the `.ddl' with +rem `.out'. The actual output is not removed if $HDF5_NOCLEANUP has a +rem non-zero value. +rem +:tooltest + set expect=%CD%\..\testfiles\%1 + set actual=%CD%\..\testfiles\%~n1.out + set actual_err=%CD%\..\testfiles\%~n1.err + + rem We define %params% here because Windows `shift` command doesn't affect + rem the %* variable. --SJW 8/23/07 + set params=%* + rem If there is not 2nd parameter, that means we have no filename, which + rem implies that we are on the "tnofilename" test. Make sure we remove the + rem expected output from the params, and add a space. --SJW 8/27/07 + if "%2"=="" ( + set params= + ) else ( + set params=!params:* =! + ) + + rem Run test. + + rem On Linux, we synchronize the expected and actual output by removing the + rem 3-line header from the expected. There is no easy way to do this on + rem Windows, so we will instead add this header to our actual. --SJW 8/24/07 + ( + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem Also remove quotes here, because Linux 'echo' command strips them. + rem --SJW 8/24/07 + set params_echo=!params:PERCENT-ZERO=%%0! + echo.############################# + echo.Expected output for 'h5dump !params_echo:"=!' + echo.############################# + pushd %CD%\..\testfiles + %dumper_bin% !params:PERCENT-ZERO=%%0! + popd + ) > %actual% 2> %actual_err% + type %actual_err% >> %actual% + + if not exist %expect% ( + call :testing *FAILED* %params% + echo. %expect% missing + set /a nerrors=!nerrors!+1 + ) else ( + rem On Linux, this is where we parse the actual output. On Windows, we + rem don't. See note above. --SJW 8/24/07 + fc /w %expect% %actual% | find "FC: no diff" > nul + if !errorlevel! equ 0 ( + call :testing PASSED %params% + ) else ( + call :testing *FAILED* %params% + echo. Expected results ^(*.ddl^) differs from actual results ^(*.out^) + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc /w %expect% %actual% + ) + ) + + rem Clean up output file + if not defined HDF5_NOCLEANUP del /f %actual% %actual_err% + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %* + exit /b + + +rem Print a line-line message left justified in a field of 70 characters +rem +:print_h5diff + set test_msg=Running h5diff + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=%test_msg% + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Call the h5diff tool +rem +:difftest + ( + pushd %CD%\..\testfiles + %h5diff_bin% %* -q + popd + ) + if %errorlevel% neq 0 ( + call :print_h5diff *FAILED* %* + set /a nerrors=!nerrors!+1 + ) else ( + call :print_h5diff PASSED %* + ) + + exit /b + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Verifying". +rem +:print_h5import + set test_msg=Running h5import + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=%test_msg% + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Call the h5import tool +rem +:importtest + rem Remove the output hdf5 file if it exists + set hdf5_file=%CD%\..\testfiles\%5 + if exist %hdf5_file% ( + del /f %hdf5_file% + ) + + ( + pushd %CD%\..\testfiles + %h5import_bin% %* + popd + ) + if %errorlevel% neq 0 ( + call :print_h5import *FAILED* %* + set /a nerrors=!nerrors!+1 + ) else ( + call :print_h5import PASSED %* + ) + exit /b + + + +rem This is a Windows-specific function that detects if the filter passed +rem should be enabled for this test script. It searches H5pubconf.h for the +rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1" +rem accordingly. On other platforms, this variable is set in the Makefile. +rem If we find a better way to test this in the future, we should use it. +rem --SJW 9/4/07 +:detect_filter + findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul + if %errorlevel% equ 0 ( + set use_filter_%1=yes + ) else ( + set use_filter_%1=no + ) + + exit /b + + +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ +:main + + rem test for displaying groups + call :tooltest tgroup-1.ddl tgroup.h5 + rem test for displaying the selected groups + call :tooltest tgroup-2.ddl --group=/g2 --group / -g /y tgroup.h5 + + rem test for displaying simple space datasets + call :tooltest tdset-1.ddl tdset.h5 + rem test for displaying selected datasets + call :tooltest tdset-2.ddl -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5 + + rem test for displaying attributes + call :tooltest tattr-1.ddl tattr.h5 + rem test for displaying the selected attributes of string type and scalar space + call :tooltest tattr-2.ddl -a /attr1 --attribute /attr4 --attribute=/attr5 tattr.h5 + rem test for header and error messages + call :tooltest tattr-3.ddl --header -a /attr2 --attribute=/attr tattr.h5 + rem test for displaying attributes in shared datatype (also in group and dataset) + call :tooltest tnamed_dtype_attr.ddl tnamed_dtype_attr.h5 + + rem test for displaying soft links and user-defined links + call :tooltest tslink-1.ddl tslink.h5 + call :tooltest tudlink-1.ddl tudlink.h5 + rem test for displaying the selected link + call :tooltest tslink-2.ddl -l slink2 tslink.h5 + call :tooltest tudlink-2.ddl -l udlink2 tudlink.h5 + + rem tests for hard links + call :tooltest thlink-1.ddl thlink.h5 + call :tooltest thlink-2.ddl -d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 thlink.h5 + call :tooltest thlink-3.ddl -d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 thlink.h5 + call :tooltest thlink-4.ddl -g /g1 thlink.h5 + call :tooltest thlink-5.ddl -d /dset1 -g /g2 -d /g1/dset2 thlink.h5 + + rem tests for compound data types + call :tooltest tcomp-1.ddl tcompound.h5 + rem test for named data types + call :tooltest tcomp-2.ddl -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5 + rem test for unamed type + call :tooltest tcomp-3.ddl -t /#6632:0 -g /group2 tcompound.h5 + rem test complicated compound datatype + call :tooltest tcomp-4.ddl tcompound_complex.h5 + + rem test for the nested compound type + call :tooltest tnestcomp-1.ddl tnestedcomp.h5 + + rem test for options + call :tooltest tall-1.ddl tall.h5 + call :tooltest tall-2.ddl --header -g /g1/g1.1 -a attr2 tall.h5 + call :tooltest tall-3.ddl -d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink tall.h5 + + rem test for loop detection + call :tooltest tloop-1.ddl tloop.h5 + + rem test for string + call :tooltest tstr-1.ddl tstr.h5 + call :tooltest tstr-2.ddl tstr2.h5 + + rem test for file created by Lib SAF team + call :tooltest tsaf.ddl tsaf.h5 + + rem test for file with variable length data + call :tooltest tvldtypes1.ddl tvldtypes1.h5 + call :tooltest tvldtypes2.ddl tvldtypes2.h5 + call :tooltest tvldtypes3.ddl tvldtypes3.h5 + call :tooltest tvldtypes4.ddl tvldtypes4.h5 + call :tooltest tvldtypes5.ddl tvldtypes5.h5 + + rem test for file with variable length string data + call :tooltest tvlstr.ddl tvlstr.h5 + + rem test for files with array data + call :tooltest tarray1.ddl tarray1.h5 + call :tooltest tarray2.ddl tarray2.h5 + call :tooltest tarray3.ddl tarray3.h5 + call :tooltest tarray4.ddl tarray4.h5 + call :tooltest tarray5.ddl tarray5.h5 + call :tooltest tarray6.ddl tarray6.h5 + call :tooltest tarray7.ddl tarray7.h5 + + rem test for files with empty data + call :tooltest tempty.ddl tempty.h5 + + rem test for files with groups that have comments + call :tooltest tgrp_comments.ddl tgrp_comments.h5 + + rem test the --filedriver flag + call :tooltest tsplit_file.ddl --filedriver=split tsplit_file + rem On Windows, we pass "PERCENT-ZERO", and let other calls replace it with + rem the "%0". We cannot pass "%0" directly because Windows interprets it as + rem the name of the script. --SJW 8/24/07 + call :tooltest tfamily.ddl --filedriver=family tfamilyPERCENT-ZERO5d.h5 + call :tooltest tmulti.ddl --filedriver=multi tmulti + + rem test for files with group names which reach > 1024 bytes in size + call :tooltest tlarge_objname.ddl -w157 tlarge_objname.h5 + + rem test '-A' to suppress data but print attr's + call :tooltest tall-2A.ddl -A tall.h5 + + rem test '-r' to print attributes in ASCII instead of decimal + call :tooltest tall-2B.ddl -A -r tall.h5 + + rem test Subsetting + call :tooltest tall-4s.ddl --dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 tall.h5 + call :tooltest tall-5s.ddl -d "/g1/g1.1/dset1.1.2[0;2;10;]" tall.h5 + call :tooltest tdset-3s.ddl -d "/dset1[1,1;;;]" tdset.h5 + rem block + rem call :tooltest tdset2-1s.ddl -d "/dset1[;3,2;4,4;1,4]" tdset2.h5 + + rem test printing characters in ASCII instead of decimal + call :tooltest tchar1.ddl -r tchar.h5 + + rem test failure handling + rem Missing file name + call :tooltest tnofilename.ddl + + rem rev. 2004 + + rem tests for super block + call :tooltest tboot1.ddl -H -B -d dset tfcontents1.h5 + call :tooltest tboot2.ddl -B tfcontents2.h5 + + rem test -p with a non existing dataset + call :tooltest tperror.ddl -p -d bogus tfcontents1.h5 + + rem test for file contents + call :tooltest tcontents.ddl -n tfcontents1.h5 + + rem tests for storage layout + rem compact + call :tooltest tcompact.ddl -H -p -d compact tfilters.h5 + rem contiguous + call :tooltest tcontiguos.ddl -H -p -d contiguous tfilters.h5 + rem chunked + call :tooltest tchunked.ddl -H -p -d chunked tfilters.h5 + rem external + call :tooltest texternal.ddl -H -p -d external tfilters.h5 + + rem fill values + call :tooltest tfill.ddl -p tfvalues.h5 + + rem several datatype, with references , print path + call :tooltest treference.ddl tattr2.h5 + + rem escape/not escape non printable characters + call :tooltest tstringe.ddl -e tstr3.h5 + call :tooltest tstring.ddl tstr3.h5 + rem char data as ASCII with non escape + call :tooltest tstring2.ddl -r -d str4 tstr3.h5 + + rem array indices print/not print + call :tooltest tindicesyes.ddl taindices.h5 + call :tooltest tindicesno.ddl -y taindices.h5 + + rem array indices with subsetting + call :tooltest tindicessub1.ddl -d 1d -s 3 -c 40 taindices.h5 + call :tooltest tindicessub2.ddl -d 2d -s 1,3 -c 6,4 taindices.h5 + call :tooltest tindicessub3.ddl -d 3d -s 0,1,3 -c 2,6,4 taindices.h5 + call :tooltest tindicessub4.ddl -d 4d -s 0,0,1,3 -c 2,2,6,4 taindices.h5 + + + rem tests for filters + rem SZIP + set option=-H -p -d szip tfilters.h5 + if not "%use_filter_szip%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tszip.ddl %option% + ) + rem deflate + set option=-H -p -d deflate tfilters.h5 + if not "%use_filter_deflate%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tdeflate.ddl %option% + ) + rem shuffle + set option=-H -p -d shuffle tfilters.h5 + if not "%use_filter_shuffle%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tshuffle.ddl %option% + ) + rem fletcher32 + set option=-H -p -d fletcher32 tfilters.h5 + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tfletcher32.ddl %option% + ) + rem nbit + set option=-H -p -d nbit tfilters.h5 + if not "%use_filter_nbit%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tnbit.ddl %option% + ) + rem scaleoffset + set option=-H -p -d scaleoffset tfilters.h5 + if not "%use_filter_scaleoffset%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tscaleoffset.ddl %option% + ) + rem all + set option=-H -p -d all tfilters.h5 + rem Windows doesn't have "or" for compound conditional, so we must check + rem each one individually. --SJW 8/24/07 + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %option% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %option% + ) else if not "%use_filter_deflate%"=="yes" ( + call :skip %option% + ) else if not "%use_filter_shuffle%"=="yes" ( + call :skip %option% + ) else if not "%use_filter_nbit%"=="yes" ( + call :skip %option% + ) else if not "%use_filter_scaleoffset%"=="yes" ( + call :skip %option% + ) else ( + call :tooltest tallfilters.ddl %option% + ) + rem user defined + call :tooltest tuserfilter.ddl -H -p -d myfilter tfilters.h5 + + rem test for displaying objects with very long names + call :tooltest tlonglinks.ddl tlonglinks.h5 + + rem dimensions over 4GB, print boundary + call :tooltest tbigdims.ddl -d dset4gb -s 4294967284 -c 22 tbigdims.h5 + + rem hyperslab read + call :tooltest thyperslab.ddl thyperslab.h5 + + + rem + + rem test for displaying dataset and attribute of null space + call :tooltest tnullspace.ddl tnullspace.h5 + + rem test for long double (some systems do not have long double) + rem call :tooltest tldouble.ddl tldouble.h5 + + rem test for vms + call :tooltest tvms.ddl tvms.h5 + + rem test for binary output + rem Don't use %testdir% here, because we are already in the correct + rem directory, and using it only gets in the way of the output formatting. + rem --SJW 8/24/07 + call :tooltest tbin1.ddl -d array -o out1.bin -b LE tbinary.h5 + call :tooltest tbin2.ddl -d float -o out2.bin -b BE tbinary.h5 + + rem the MEMORY test can be validated with h5import/h5diff + call :tooltest tbin3.ddl -d integer -o out3.bin -b MEMORY tbinary.h5 + call :importtest out3.bin -c out3.h5import -o out3.h5 + call :difftest tbinary.h5 out3.h5 /integer /integer + + call :tooltest tbin4.ddl -d double -o out4.bin -b FILE tbinary.h5 + + rem Clean up binary output files + if not defined hdf5_nocleanup ( + for /l %%a in (1,1,4) do del /f %testdir%\out%%a.bin + del /f %testdir%\out3.h5 + ) + + + rem test for dataset region references + call :tooltest tregref.ddl tdatareg.h5 + + + if %nerrors% equ 0 ( + echo.All %dumper% tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5dump/testh5dumpxml.bat b/windows/tools/h5dump/testh5dumpxml.bat new file mode 100644 index 0000000..1cfde06 --- /dev/null +++ b/windows/tools/h5dump/testh5dumpxml.bat @@ -0,0 +1,207 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5dump tool +rem +rem Created: Scott Wegner, 8/27/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem set h5_lone_colon=%h5_lone_colon% + +rem The tool name +set dumper=h5dump%2 +rem The path of the tool library +set dumper_bin=%CD%\..\%dumper%\%1\%dumper% + +set nerrors=0 +set verbose=yes + +if not exist ..\testfiles mkdir ..\testfiles + +goto main + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing %dumper% + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=!test_msg! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. If a test fails then increment +rem the `nerrors' global variable and (if $verbose is set) display the +rem difference between the actual output and the expected output. The +rem expected output is given as the first argument to this function and +rem the actual output file is calculated by replacing the `.ddl' with +rem `.out'. The actual output is not removed if HDF5_NOCLEANUP has a +rem non-zero value. +rem +:tooltest + set expect=%CD%\..\testfiles\%1 + set actual=%CD%\..\testfiles\%~n1.out + set actual_err=%CD%\..\testfiles\%~n1.err + + rem We define %params% here because Windows `shift` command doesn't affect + rem the %* variable. --SJW 8/23/07 + set params=%* + set params=%params:* =% + + rem Run test. + + ( + rem Remove quotes here, because Linux 'echo' command strips them. + rem --SJW 8/24/07 + echo.############################# + echo.Expected output for 'h5dump !params:"=!' + echo.############################# + pushd %CD%\..\testfiles + %dumper_bin% !params! + popd + ) > %actual% 2> %actual_err% + type %actual_err% >> %actual% + + if not exist %expect% ( + call :testing CREATED %params% + copy %actual% %expect% > nul + ) else ( + fc /w %expect% %actual% | find "FC: no diff" > nul + if !errorlevel! equ 0 ( + call :testing PASSED %params% + ) else ( + call :testing *FAILED* %params% + echo. Expected results ^(*.ddl^) differs from actual results ^(*.out^) + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc /w %expect% %actual% + ) + ) + + rem Clean up output file + if not defined HDF5_NOCLEANUP del /f %actual% %actual_err% + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %* + exit /b + + +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ +:main + + rem test XML + call :tooltest tall.h5.xml --xml tall.h5 + call :tooltest tattr.h5.xml --xml tattr.h5 + call :tooltest tbitfields.h5.xml --xml tbitfields.h5 + call :tooltest tcompound.h5.xml --xml tcompound.h5 + call :tooltest tcompound2.h5.xml --xml tcompound2.h5 + call :tooltest tdatareg.h5.xml --xml tdatareg.h5 + call :tooltest tdset.h5.xml --xml tdset.h5 + call :tooltest tdset2.h5.xml --xml tdset2.h5 + call :tooltest tenum.h5.xml --xml tenum.h5 + call :tooltest tgroup.h5.xml --xml tgroup.h5 + call :tooltest thlink.h5.xml --xml thlink.h5 + call :tooltest tloop.h5.xml --xml tloop.h5 + call :tooltest tloop2.h5.xml --xml tloop2.h5 + call :tooltest tmany.h5.xml --xml tmany.h5 + call :tooltest tnestedcomp.h5.xml --xml tnestedcomp.h5 + call :tooltest tcompound_complex.h5.xml --xml tcompound_complex.h5 + call :tooltest tobjref.h5.xml --xml tobjref.h5 + call :tooltest topaque.h5.xml --xml topaque.h5 + call :tooltest tslink.h5.xml --xml tslink.h5 + call :tooltest tudlink.h5.xml --xml tudlink.h5 + call :tooltest textlink.h5.xml --xml textlink.h5 + call :tooltest tstr.h5.xml --xml tstr.h5 + call :tooltest tstr2.h5.xml --xml tstr2.h5 + call :tooltest tref.h5.xml --xml tref.h5 + call :tooltest tname-amp.h5.xml --xml tname-amp.h5 + call :tooltest tname-apos.h5.xml --xml tname-apos.h5 + call :tooltest tname-gt.h5.xml --xml tname-gt.h5 + call :tooltest tname-lt.h5.xml --xml tname-lt.h5 + call :tooltest tname-quot.h5.xml --xml tname-quot.h5 + call :tooltest tname-sp.h5.xml --xml tname-sp.h5 + call :tooltest tstring.h5.xml --xml tstring.h5 + call :tooltest tstring-at.h5.xml --xml tstring-at.h5 + call :tooltest tref-escapes.h5.xml --xml tref-escapes.h5 + call :tooltest tref-escapes-at.h5.xml --xml tref-escapes-at.h5 + call :tooltest tnodata.h5.xml --xml tnodata.h5 + call :tooltest tarray1.h5.xml --xml tarray1.h5 + call :tooltest tarray2.h5.xml --xml tarray2.h5 + call :tooltest tarray3.h5.xml --xml tarray3.h5 + call :tooltest tarray6.h5.xml --xml tarray6.h5 + call :tooltest tarray7.h5.xml --xml tarray7.h5 + call :tooltest tvldtypes1.h5.xml --xml tvldtypes1.h5 + call :tooltest tvldtypes2.h5.xml --xml tvldtypes2.h5 + call :tooltest tvldtypes3.h5.xml --xml tvldtypes3.h5 + call :tooltest tvldtypes4.h5.xml --xml tvldtypes4.h5 + call :tooltest tvldtypes5.h5.xml --xml tvldtypes5.h5 + call :tooltest tvlstr.h5.xml --xml tvlstr.h5 + call :tooltest tsaf.h5.xml --xml tsaf.h5 + call :tooltest tempty.h5.xml --xml tempty.h5 + call :tooltest tnamed_dtype_attr.h5.xml --xml tnamed_dtype_attr.h5 + rem Test dataset and attribute of null space. Commented out: + rem wait until the XML schema is updated for null space. + rem call :tooltest tnullspace.h5.xml --xml tnulspace.h5 + + rem other options for xml + + call :tooltest tempty-dtd.h5.xml --xml --use-dtd tempty.h5 + call :tooltest tempty-dtd-2.h5.xml --xml -u tempty.h5 + + rem The lone colon here confuses some systems (Cray X1). Skip + rem it if configure detects that this is a problem. + if not "X$H5_LONE_COLON"=="Xno" ( + call :tooltest tempty-nons.h5.xml --xml -X ":" tempty.h5 + ) else ( + call :skip tempty-nons.h5.xml --xml -X ":" tempty.h5 + ) + + call :tooltest tempty-nons-2.h5.xml --xml --xml-ns=":" tempty.h5 + + rem Some of these combinations are syntactically correct but + rem the URLs are dummies + call :tooltest tempty-ns.h5.xml --xml -X "thing:" tempty.h5 + call :tooltest tempty-ns-2.h5.xml --xml --xml-ns="thing:" tempty.h5 + call :tooltest tempty-nons-uri.h5.xml --xml --xml-ns=":" --xml-dtd="http://somewhere.net" tempty.h5 + call :tooltest tempty-dtd-uri.h5.xml --xml --use-dtd --xml-dtd="http://somewhere.net" tempty.h5 + + call :tooltest tall-2A.h5.xml --xml -A tall.h5 + + + if %nerrors% equ 0 ( + echo.All %dumper% tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5import/h5importtestutil.bat b/windows/tools/h5import/h5importtestutil.bat new file mode 100644 index 0000000..5307473 --- /dev/null +++ b/windows/tools/h5import/h5importtestutil.bat @@ -0,0 +1,172 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem HDF Utilities Test script +rem +rem Created: Scott Wegner, 8/27/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem The tool name +set h5import=h5import%2 +rem The path of the tool binary +set h5import_bin=%CD%\..\%h5import%\%1\%h5import%.exe + +rem The h5importtest tool name +set h5importtest=..\testfiles\h5importtst\%1\h5importtst +rem The path of the h5importtst tool binary +set h5importtest_bin=%CD%\%h5importtest%.exe + +rem The h5dump tool name +set h5dump=..\h5dump%2\%1\h5dump%2 +rem The path of the h5dump tool binary +set h5dump_bin=%CD%\%h5dump% + +rem initialize errors variables +set errors=0 + +goto main + +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 8/24/07 + set test_msg=!test_msg:PERCENT-ZERO=%%0! + echo.%test_msg:~0,69% %1 + + exit /b + + +:tooltest + set err=0 + %h5import_bin% %* + %h5dump_bin% %5 > log2 + + pushd tmp_testfiles + %h5dump_bin% %5 > log1 + popd + + fc /w tmp_testfiles\log1 log2 | find "FC: no diff" > nul + if %errorlevel% neq 0 set err=1 + del /f log2 tmp_testfiles\log1 + if "%err%"=="1" ( + set /a errors=!errors!+1 + call :testing *FAILED* %testing% + ) else ( + call :testing: PASSED %testing% + ) + + exit /b + + +:main + echo. + echo.============================== + echo.H5IMPORT tests started + echo.============================== + + if exist %h5import_bin% ( + if exist %h5importtest_bin% ( + rem echo.** Testing h5import *** + + del /f output.h5 log1 tx* b* *.dat 2> nul + + if not exist tmp_testfiles mkdir tmp_testfiles + copy /y testfiles\*.h5 tmp_testfiles > nul + + %h5importtest_bin% + + rem On Linux, they call TESTING here, and output pass/fail from TOOLTEST. + rem On Windows, echo gives a carriage return, so we store the TESTING params + rem and call TESTING from TOOLTEST. --SJW 8/27/07 + set testing=ASCII I32 rank 3 - Output BE + call :tooltest txtin32 -c %CD%\testfiles\textin32 -o test1.h5 + + set testing=ASCII I16 rank 3 - Output LE - CHUNKED - extended + call :tooltest txtin16 -c %CD%\testfiles\textin16 -o test2.h5 + + set testing=ASCII I8 - rank 3 - Output I16 LE-Chunked+Extended+Compressed + call :tooltest txtin16 -c %CD%\testfiles\textin8 -o test3.h5 + + set testing=ASCII UI32 - rank 3 - Output BE + call :tooltest %CD%\testfiles\in1 -c %CD%\testfiles\textuin32 -o test4.h5 + + set testing=ASCII UI16 - rank 2 - Output LE+Chunked+Compressed + call :tooltest %CD%\testfiles\in1 -c %CD%\testfiles\textuin16 -o test5.h5 + + set testing=ASCII F32 - rank 3 - Output LE + call :tooltest %CD%\testfiles\fp1 -c %CD%\testfiles\textfp32 -o test6.h5 + + set testing=ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed + call :tooltest %CD%\testfiles\fp2 -c %CD%\testfiles\textfp64 -o test7.h5 + + set testing=BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed + call :tooltest bfp64 -c %CD%\testfiles\conbfp64 -o test8.h5 + + set testing=BINARY I16 - rank 3 - Output order LE + CHUNKED + extended + call :tooltest bin16 -c %CD%\testfiles\conbin16 -o test9.h5 + + set testing=BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed + call :tooltest bin8 -c %CD%\testfiles\conbin8 -o test10.h5 + + set testing=BINARY I32 - rank 3 - Output BE + CHUNKED + call :tooltest bin32 -c %CD%\testfiles\conbin32 -o test11.h5 + + set testing=BINARY UI16 - rank 3 - Output byte BE + CHUNKED + call :tooltest buin16 -c %CD%\testfiles\conbuin16 -o test12.h5 + + set testing=BINARY UI32 - rank 3 - Output LE + CHUNKED + call :tooltest buin32 -c %CD%\testfiles\conbuin32 -o test13.h5 + + set testing=STR + call :tooltest %CD%\testfiles\txtstr -c %CD%\testfiles\textstr -o teststr.h5 + + del /f tx* b* *.dat + del /f test*.h5 + rmdir /s /q tmp_testfiles + + ) else ( + echo.** h5importtest not avaiable *** + set /a errors=!errors!+1 + ) + ) else ( + echo.** h5import not avaiable *** + set /a errors=!errors!+1 + ) + + rem + rem Check error results + if %errors% equ 0 ( + echo.====================================== + echo. H5IMPORT Utilities tests have passed. + echo.====================================== + ) else ( + echo.====================================== + echo. H5IMPORT Utilities tests encountered errors + echo.====================================== + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5jam/testh5jam.bat b/windows/tools/h5jam/testh5jam.bat new file mode 100644 index 0000000..d3522f1 --- /dev/null +++ b/windows/tools/h5jam/testh5jam.bat @@ -0,0 +1,598 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5jam tool +rem +rem Created: Scott Wegner, 8/27/07 +rem Modified: +rem + +rem We currently don't build DLL version os h5jam / h5unjam, but the test script +rem is setup to handle it if we ever decide to. --SJW 8/27/07 + +setlocal enabledelayedexpansion +pushd %~dp0 + +set h5pubconf=%CD%\..\..\src\h5pubconf.h + +rem Determine which filters are available +rem On Windows, the function :detect_filter sets these for us +call :detect_filter szip +call :detect_filter deflate +call :detect_filter shuffle +call :detect_filter fletcher32 + +rem The dumper to use +set dumper=..\h5dump%2\%1\h5dump%2 +rem The path of the dumper binary +set dumper_bin=%CD%\%dumper% + +rem Tool to test +set jam=h5jam%2 +rem Tool to test +set unjam=h5unjam%2 +rem The path of the jam binary +set jam_bin=%CD%\..\%jam%\%1\%jam% +rem The path of the unjam binary +set unjam_bin=%CD%\..\%unjam%\%1\%unjam% + +rem The tellub to use +set tellub=..\..\test\tellub%2\%1\tellub%2 +rem The path of the tellub binary +set tellub_bin=%CD%\%tellub% + +rem The getub to use +set getub=..\..\test\getub%2\%1\getub%2 +rem The path of the getub binary +set getub_bin=%CD%\%getub% + +set nerrors=0 +set verbose=yes + +set testfiles=%CD%\..\testfiles + +goto main + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem Replace ARROW_RIGHT with the correct symbol. If it was passed directly, + rem our output would be incorrectly redirected. --SJW 8/27/07 + set test_msg=!test_msg:ARROW_RIGHT=^>! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Compare". +rem +:compare + set test_msg=Compare + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=!test_msg! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %* + exit /b + + +rem +rem COMPARE_FILES a.h5 b.h5 +rem Compare two files, skipping the first line. This is used to +rem compare the output of the dumper, skipping the file name which +rem is different. +rem The result is stored in 'compval'. +rem +:compare_files + rem The easiest way to compare 2 files on Windows and skip the first line + rem is to simply filter the first line differences from the output. If the + rem first line is different, FC will also display the second line. + rem --SJW 8/27/07 + fc %1 %2 | findstr /v /b /c:"Comparing files" | findstr /v /b /c:"*****" > cmp1 + findstr /v /b /c:" 1: " cmp1 | findstr /v /b /c:" 2: " > cmp2 + findstr /b /c:" " cmp2 > nul + if %errorlevel% neq 1 ( + set cmpval=1 + ) else ( + set cmpval=0 + ) + del /f cmp1 cmp2 + + exit /b + + +rem CLEANUP files +rem Clean up named files +:cleanup + if not defined hdf5_nocleanup ( + for %%a in (%*) do ( + del /f %%a 2> nul + ) + ) + exit /b + + +rem SETUP file tocopy +rem Clone a standard input file in the test directory +rem +:setup + copy /y %1 %2 > nul + exit /b + + +rem +rem CHECKFILE orig.h5 compar.h5 +rem Check that the test file is the same as an original. +rem The two files are dumped with the dumper, and the output +rem compared with COMPARE_FILES. +rem If the files are the same, the test reports " PASSED", +rem otherwise, it reports "*FAILED*" +:checkfile + set expected=%~dpn2.out + set expected_err=%~dpn2.err + set actual=%~n1.out + set actual_err=%~n1.err + %dumper_bin% %1 >%expected% 2>%expected_err% + type %expected_err% >> %expected% + + rem dump the test file + %dumper_bin% %2 >%actual% 2>%actual_err% + type %actual_err% >> %actual% + + rem compare the two files (ignore line 1) + call :compare_files %actual% %expected% + if "%cmpval%"=="0" ( + call :compare PASSED %2 to %1 + ) else ( + call :compare *FAILED* %2 to %1 + echo. Expected result ^(*.ddl^) differs from actual result ^(*.out^) + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc %expected% %actual% + ) + + rem Clean up output files + if not defined hdf5_nocleanup ( + del /f %actual% %actual_err% + del /f %expected% %expected_err% + ) + exit /b + + +rem +rem CHECK_UB file.h5 user_block_file origfile.h5 +rem +rem Check the user block in 'file.h5' is the same as +rem 'user_block' (allowing for padding). +rem +rem If the original file had a user block before the test +rem then 'compare.h5' is passed. The user block must be extracted +rem and the test file compared to: +rem cat compare_ub user_block_file. +rem +rem This test uses './getub' to extract the user block from +rem 'file.h5', which is compared to the file described above. +rem +rem The result is set in variable 'result1'. +rem +:check_ub_1 + set hfile=%1 + set ufile=%2 + + rem check for third argument (the original file) + set origfile= + if not "%3"=="" ( + set origfile="%3" + ) + + rem find the length of the user block to check + for /f "tokens=4" %%a in ('dir /-c %ufile% ^| findstr /v /b /c:" "') do ( + set s1=%%a + ) + if "%s1%"=="0" ( + echo.File %ufile% is empty + set result1=1 + ) + + rem Get the size of the original user block, if any + if defined origfile ( + rem 'tellub' calls H5Fget_user_block to get the size + rem of the user block + for /f %%a in ('%tellub_bin% %origfile%') do set s2=%%a + if "!s2!"=="0" ( + set size=%s1% + set cmpfile=%ufile% + ) else ( + set cmpfile=tt2 + set /a size=!s2!+%s1% + %getub_bin% -c !s2! %origfile% > !cmpfile! + type %ufile% >> !cmpfile! + ) + ) else ( + rem assume no user block + set s2=0 + set size=%s1% + set cmpfile=%ufile% + ) + + rem Extract 'size' bytes from the front of 'hfile' + rem Compare to 'cmpfile', result is set in result1 + set tfile=tt1 + %getub_bin% -c %size% %hfile% > %tfile% + fc /w %cmpfile% %tfile% | find "FC: no diff" > nul + if %errorlevel% neq 0 ( + fc /w %cmpfile% %file% + set result1=1 + ) else ( + set result1=0 + ) + + rem clean up + del /f %tfile% + if not "%s2%"=="0" ( + del /f %cmpfile% + ) + exit /b + + +rem CHECK_NOUB file.h5 +rem +rem Check that 'file.h5' has no user block. +rem Setst result2 to 1 if there is a user block (fail), 0 if none (pass) +:check_noub + set hfile=%1 + rem call `ubsize` to get the size of the user block + %tellub_bin% %hfile% > tmp.txt + if %errorlevel% neq 0 ( + rem error + set result2=1 + ) else ( + for /f %%a in (tmp.txt) do set ubsize=%%a + if "!ubsize!"=="0" ( + rem pass + set result2=0 + ) else ( + rem fail + set result2=1 + ) + ) + del /f tmp.txt 2> nul + + exit /b + + +rem JAMTEST user_block file.h5 [--clobber] [ofile.h5] +rem +rem Test the 'jam' tool: +rem 1. figure out the input and output, and the comparision +rem that will be done. +rem 2. call 'jam' with the appropriate arguments +rem 3. check the user block is correct in the output (Check_UB) +rem If the user block is correct, print "PASSED", else "*FAILED*" +:jamtest + set ufile=%1 + set ifile=%2 + rem the file to test + set compare_test= + rem the comparison to test against + set compare_orig= + set cleanup= + + rem sort out the arguments for the test and the check + set do_clobber=no + if "%3"=="--clobber" ( + rem clobber overwrites and existing user block + set do_clobber=yes + set clobber=--clobber + set compare_orig= + if "%4"=="" ( + rem output goes to infile, compare ubfile to infile + set ofile= + set compare_test=%ifile% + ) else ( + rem output goes to %4, compare ofile to ubfile + set ofile=%4 + set compare_test=!ofile! + ) + ) else ( + set clobber= + rem add user block to existing ub, if any + if "%3"=="" ( + rem output goes to infile, compare ubfile to infile + set ofile= + set compare_test=%ifile% + copy /y %ifile% xxofile.h5 > nul + set compare_orig=xxofile.h5 + set cleanup=%cleanup% !compare_orig! + ) else ( + rem output goes to %4, compare ofile to ubfile + set ofile=%3 + set compare_test=!ofile! + set compare_orig=%ifile% + ) + ) + + rem call 'jam' with the appropriate arguments + if defined ofile ( + %jam_bin% -u %ufile% -i %ifile% -o %ofile% %clobber% + ) else ( + %jam_bin% -u %ufile% -i %ifile% %clobber% + ) + + call :check_ub_1 %compare_test% %ufile% %compare_orig% + + if "%result1%"=="0" ( + if defined ofile ( + call :testing PASSED %jam% -u %ufile% -i %ifile% -o %ofile% %clobber% + ) else ( + call :testing PASSED %jam% -u %ufile% -i %ifile% %clobber% + ) + ) else ( + if defined ofile ( + call :testing *FAILED* %jam% -u %ufile% -i %ifile% -o %ofile% %clobber% + ) else ( + call :testing *FAILED* %jam% -u %ufile% -i %ifile% %clobber% + ) + set /a nerrors=%nerrors%+1 + ) + call :cleanup %cleanup% + + exit /b + + +rem UNJAMTEST file.h5 [- | --delete] ofile +rem +rem Test the 'unjam' tool +rem +rem ##fix the working directory here and in jamtest +:unjamtest + set infile=%1 + set ofile=%3 + if "%2%"=="-" ( + set uofile=uofile + %unjam_bin% -i %infile% -o %ofile% > !uofile! + ) else if "%2"=="--delete" ( + set uofile=none + %unjam_bin% -i %infile% -o %ofile% --delete + ) else ( + set uofile=%2 + %unjam_bin% -i %infile% -u !uofile! -o %ofile% + ) + + set result1=0 + set result2=0 + set cleanup= + if not "%uofile%"=="none" ( + rem sets results1 + call :check_ub_1 %infile% %uofile% + call :cleanup %uofile% + ) + + rem sets result2 + call :check_noub %ofile% + if "%result1% and %result2%"=="0 and 0" ( + if "%2%"=="-" ( + rem We use "ARROW_RIGHT" here and replace it in :testing because + rem Windows interprets it as a pipe. --SJW 8/27/07 + call :testing PASSED %unjam% -i %infile% -o %ofile% ARROW_RIGHT %uofile% + ) else if "%2"=="--delete" ( + call :testing PASSED %unjam% -i %infile% -o %ofile% --delete + ) else ( + call :testing PASSED %unjam% -i %infile% -u %uofile% -o %ofile% + ) + ) else ( + if "%2%"=="-" ( + rem We use "ARROW_RIGHT" here and replace it in :testing because + rem Windows interprets it as a pipe. --SJW 8/27/07 + call :testing *FAILED* %unjam% -i %infile% -o %ofile% ARROW_RIGHT %uofile% + ) else if "%2"=="--delete" ( + call :testing *FAILED* %unjam% -i %infile% -o %ofile% --delete + ) else ( + call :testing *FAILED* %unjam% -i %infile% -u %uofile% -o %ofile% + ) + set /a nerrors=%nerrors%+1 + ) + + exit /b + + +rem This is a Windows-specific function that detects if the filter passed +rem should be enabled for this test script. It searches H5pubconf.h for the +rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1" +rem accordingly. On other platforms, this variable is set in the Makefile. +rem If we find a better way to test this in the future, we should use it. +rem --SJW 9/4/07 +:detect_filter + findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul + if %errorlevel% equ 0 ( + set use_filter_%1=yes + ) else ( + set use_filter_%1=no + ) + + exit /b + + +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ +:main + call :jamtest %testfiles%\u10.txt %testfiles%\tall.h5 ta2.h5 + call :checkfile %testfiles%\tall.h5 ta2.h5 + call :cleanup ta2.h5 + call :jamtest %testfiles%\u511.txt %testfiles%\tall.h5 ta3.h5 + call :checkfile %testfiles%\tall.h5 ta3.h5 + call :cleanup ta3.h5 + call :jamtest %testfiles%\u512.txt %testfiles%\tall.h5 ta4.h5 + call :checkfile %testfiles%\tall.h5 ta4.h5 + call :cleanup ta4.h5 + call :jamtest %testfiles%\u513.txt %testfiles%\tall.h5 ta5.h5 + call :checkfile %testfiles%\tall.h5 ta5.h5 + call :cleanup ta5.h5 + + call :setup %testfiles%\tall.h5 ta.h5 + call :jamtest %testfiles%\u10.txt ta.h5 + call :checkfile %testfiles%\tall.h5 ta.h5 + call :setup %testfiles%\tall.h5 ta.h5 + call :jamtest %testfiles%\u511.txt ta.h5 + call :checkfile %testfiles%\tall.h5 ta.h5 + call :setup %testfiles%\tall.h5 ta.h5 + call :jamtest %testfiles%\u512.txt ta.h5 + call :checkfile %testfiles%\tall.h5 ta.h5 + call :setup %testfiles%\tall.h5 ta.h5 + call :jamtest %testfiles%\u513.txt ta.h5 + call :checkfile %testfiles%\tall.h5 ta.h5 + call :cleanup ta.h5 + + call :jamtest %testfiles%\u10.txt %testfiles%\twithub.h5 tax2.h5 + call :checkfile %testfiles%\tall.h5 tax2.h5 + call :cleanup tax2.h5 + call :jamtest %testfiles%\u511.txt %testfiles%\twithub.h5 tax3.h5 + call :checkfile %testfiles%\tall.h5 tax3.h5 + call :cleanup tax3.h5 + call :jamtest %testfiles%\u512.txt %testfiles%\twithub.h5 tax4.h5 + call :checkfile %testfiles%\tall.h5 tax4.h5 + call :cleanup tax4.h5 + call :jamtest %testfiles%\u513.txt %testfiles%\twithub.h5 tax5.h5 + call :checkfile %testfiles%\tall.h5 tax5.h5 + call :cleanup tax5.h5 + + call :jamtest %testfiles%\u10.txt %testfiles%\twithub513.h5 tax6.h5 + call :checkfile %testfiles%\tall.h5 tax6.h5 + call :cleanup tax6.h5 + call :jamtest %testfiles%\u511.txt %testfiles%\twithub513.h5 tax7.h5 + call :checkfile %testfiles%\tall.h5 tax7.h5 + call :cleanup tax7.h5 + call :jamtest %testfiles%\u512.txt %testfiles%\twithub513.h5 tax8.h5 + call :checkfile %testfiles%\tall.h5 tax8.h5 + call :cleanup tax8.h5 + call :jamtest %testfiles%\u513.txt %testfiles%\twithub513.h5 tax9.h5 + call :checkfile %testfiles%\tall.h5 tax9.h5 + call :cleanup tax9.h5 + + call :jamtest %testfiles%\u10.txt %testfiles%\twithub.h5 --clobber taz2.h5 + call :checkfile %testfiles%\tall.h5 taz2.h5 + call :cleanup taz2.h5 + call :jamtest %testfiles%\u511.txt %testfiles%\twithub.h5 --clobber taz3.h5 + call :checkfile %testfiles%\tall.h5 taz3.h5 + call :cleanup taz3.h5 + call :jamtest %testfiles%\u512.txt %testfiles%\twithub.h5 --clobber taz4.h5 + call :checkfile %testfiles%\tall.h5 taz4.h5 + call :cleanup taz4.h5 + call :jamtest %testfiles%\u513.txt %testfiles%\twithub.h5 --clobber taz5.h5 + call :checkfile %testfiles%\tall.h5 taz5.h5 + call :cleanup taz5.h5 + + call :jamtest %testfiles%\u10.txt %testfiles%\twithub513.h5 --clobber taz6.h5 + call :checkfile %testfiles%\tall.h5 taz6.h5 + call :cleanup taz6.h5 + call :jamtest %testfiles%\u511.txt %testfiles%\twithub513.h5 --clobber taz7.h5 + call :checkfile %testfiles%\tall.h5 taz7.h5 + call :cleanup taz7.h5 + call :jamtest %testfiles%\u512.txt %testfiles%\twithub513.h5 --clobber taz8.h5 + call :checkfile %testfiles%\tall.h5 taz8.h5 + call :cleanup taz8.h5 + call :jamtest %testfiles%\u513.txt %testfiles%\twithub513.h5 --clobber taz9.h5 + call :checkfile %testfiles%\tall.h5 taz9.h5 + call :cleanup taz9.h5 + + call :setup %testfiles%\twithub.h5 tay2.h5 + call :jamtest %testfiles%\u10.txt tay2.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay2.h5 + call :cleanup tay2.h5 + call :setup %testfiles%\twithub.h5 tay3.h5 + call :jamtest %testfiles%\u511.txt tay3.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay3.h5 + call :cleanup tay3.h5 + call :setup %testfiles%\twithub.h5 tay4.h5 + call :jamtest %testfiles%\u512.txt tay4.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay4.h5 + call :cleanup tay4.h5 + call :setup %testfiles%\twithub.h5 tay5.h5 + call :jamtest %testfiles%\u513.txt tay5.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay5.h5 + call :cleanup tay5.h5 + + call :setup %testfiles%\twithub513.h5 tay6.h5 + call :jamtest %testfiles%\u10.txt tay6.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay6.h5 + call :cleanup tay6.h5 + call :setup %testfiles%\twithub513.h5 tay7.h5 + call :jamtest %testfiles%\u511.txt tay7.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay7.h5 + call :cleanup tay7.h5 + call :setup %testfiles%\twithub513.h5 tay8.h5 + call :jamtest %testfiles%\u512.txt tay8.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay8.h5 + call :cleanup tay8.h5 + call :setup %testfiles%\twithub513.h5 tay9.h5 + call :jamtest %testfiles%\u513.txt tay9.h5 --clobber + call :checkfile %testfiles%\tall.h5 tay9.h5 + call :cleanup tay9.h5 + + call :setup %testfiles%\twithub.h5 tai1.h5 + call :unjamtest tai1.h5 o10.txt taa1.h5 + call :checkfile %testfiles%\tall.h5 taa1.h5 + call :cleanup taa1.h5 tai1.h5 o10.txt + call :setup %testfiles%\twithub513.h5 tai2.h5 + call :unjamtest tai2.h5 o512.txt taa2.h5 + call :checkfile %testfiles%\tall.h5 taa2.h5 + call :cleanup taa2.h5 tai2.h5 o512.txt + + call :setup %testfiles%\twithub.h5 tai3.h5 + call :unjamtest tai3.h5 - taa3.h5 + call :checkfile %testfiles%\tall.h5 taa3.h5 + call :cleanup taa3.h5 tai3.h5 + call :setup %testfiles%\twithub513.h5 tai4.h5 + call :unjamtest tai4.h5 - taa4.h5 + call :checkfile %testfiles%\tall.h5 taa4.h5 + call :cleanup taa4.h5 tai4.h5 + + call :setup %testfiles%\twithub.h5 taj2.h5 + call :unjamtest taj2.h5 --delete tac2.h5 + call :checkfile %testfiles%\tall.h5 tac2.h5 + call :cleanup tac2.h5 taj2.h5 + call :setup %testfiles%\twithub513.h5 taj3.h5 + call :unjamtest taj3.h5 --delete tac3.h5 + call :checkfile %testfiles%\tall.h5 tac3.h5 + call :cleanup tac3.h5 taj3.h5 + + if %nerrors% equ 0 ( + echo.All %jam% tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5ls/testh5ls.bat b/windows/tools/h5ls/testh5ls.bat new file mode 100644 index 0000000..de03685 --- /dev/null +++ b/windows/tools/h5ls/testh5ls.bat @@ -0,0 +1,220 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5ls tool +rem +rem Created: Scott Wegner, 8/28/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem The tool name +set h5ls=h5ls%2 +rem The path of the tool binary +set h5ls_bin=%CD%\..\%h5ls%\%1\%h5ls% + +rem Max. lines of output to display if test fails +set nlines=20 + +set nerrors=0 +set verbose=yes + +if not exist ..\testfiles mkdir ..\testfiles + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing %h5ls% + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 8/24/07 + set test_msg=!test_msg:PERCENT-ZERO=%%0! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. For now, if h5ls can complete +rem with exit status 0, consider it pass. If a test fails then increment +rem the `nerrors' global variable and (if $verbose is set) display up to %nlines% +rem lines of the actual output from the tool test. The actual output is not +rem removed if $HDF5_NOCLEANUP has a non-zero value. +rem Arguemnts: +rem %1 -- actual output filename to use +rem %2 and on -- argument for the h5ls tool +:tooltest + set expect=%CD%\..\testfiles\%1 + set expect_parsed=%expect%.parsed + set actual=%CD%\..\testfiles\%~n1.out + set actual_parsed=%actual%.parsed + + rem We define %params% here because Windows `shift` command doesn't affect + rem the %* variable. --SJW 8/23/07 + set params=%* + set params=%params:* =% + + rem Run test. + rem Stderr is included in stdout so that the diff can detect + rem any unexpected output from that stream too + ( + echo.############################# + rem We strip out the parentesis here because echo on Linux does. + rem --SJW 8/28/07 + echo. output for 'h5ls %params:"=%' + echo.############################# + pushd %CD%\..\testfiles + %h5ls_bin% %params% + popd + ) >%actual% 2>&1 + + set exitcode=%errorlevel% + + rem Windows doesn't have "sed" command, and parsing the files line-by-line + rem to emulate Unix takes a very long time. Instead, we simply remove lines + rem with "Modified". Do this for actual and expected otput. If there is a + rem better alternative in the future, we should use it instead. --SJW 8/22/07 + for %%a in (expect actual) do ( + findstr /v /c:" Modified:" !%%a! > tmp.txt + move /y tmp.txt !%%a_parsed! > nul + ) + + if "%exitcode%" neq "0" ( + call :testing *FAILED* %params% + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" ( + echo.test returned with exit code !exitcode! + echo.test output: ^(up to %nlines% lines^) + rem Count lines echo'ed, and break out after 20. --SJW 8/28/07 + set line=0 + for /f "tokens=* delims=" %%a in (%actual%) do ( + if !line! geq %nlines% goto break + echo.%%a + set /a line=!line!+1 + ) + :break + echo.***end of test output*** + echo. + ) + rem Don't special case non-existing expected output as Linux does, because + rem we depend on it above to parse anyway. It should be an error if it + rem doesn't exist. --SJW 8/28/07 + rem ) else if not exist %expect% ( + rem rem Create the expect file if it doesn't yet exist + rem call :testing CREATED %params% + rem copy %actual% %expect% > nul + ) else ( + fc /w %expect_parsed% %actual_parsed% | find "FC: no diff" > nul + if !errorlevel! equ 0 ( + call :testing PASSED %params% + ) else ( + call :testing *FAILED* %params% + echo. Expected result differs from actual result + set nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc %expect_parsed% %actual_parsed% + ) + ) + + rem Clean up output file + if not defined hdf5_nocleanup ( + del /f %actual% %actual_parsed% %expected_parsed% + ) + + exit /b + + +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ +:main + + rem Toss in a bunch of tests. Not sure if they are the right kinds. + rem test the help syntax + call :tooltest help-1.ls -w80 -h + call :tooltest help-2.ls -w80 -help + call :tooltest help-3.ls -w80 -? + + rem test simple command + call :tooltest tall-1.ls -w80 tall.h5 + call :tooltest tall-2.ls -w80 -r -d tall.h5 + call :tooltest tgroup.ls -w80 tgroup.h5 + + rem test for displaying groups + call :tooltest tgroup-1.ls -w80 -r -g tgroup.h5 + + rem test for displaying simple space datasets + call :tooltest tdset-1.ls -w80 -r -d tdset.h5 + + rem test for displaying soft links + call :tooltest tslink-1.ls -w80 -r tslink.h5 + + rem test for displaying external and user-defined links + call :tooltest textlink-1.ls -w80 -r textlink.h5 + call :tooltest tudlink-1.ls -w80 -r tudlink.h5 + + rem tests for hard links + call :tooltest thlink-1.ls -w80 thlink.h5 + + rem tests for compound data types + call :tooltest tcomp-1.ls -w80 -r -d tcompound.h5 + + rem test for the nested compound type + call :tooltest tnestcomp-1.ls -w80 -r -d tnestedcomp.h5 + + rem test for loop detection + call :tooltest tloop-1.ls -w80 -r -d tloop.h5 + + rem test for string + call :tooltest tstr-1.ls -w80 -r -d tstr.h5 + + rem test test file created from lib SAF team + call :tooltest tsaf.ls -w80 -r -d tsaf.h5 + + rem test for variable length data types + call :tooltest tvldtypes1.ls -w80 -r -d tvldtypes1.h5 + + rem test for array data types + call :tooltest tarray1.ls -w80 -r -d tarray1.h5 + + rem test for empty data + call :tooltest tempty.ls -w80 -d tempty.h5 + + rem test for all dataset types written to attributes + rem enable -S for avoiding printing NATIVE types + call :tooltest tattr2.ls -w80 -v -S tattr2.h5 + + rem tests for error handling. + rem test for non-existing file + call :tooltest nosuchfile.ls nosuchfile.h5 + + if %nerrors% equ 0 ( + echo.All h5ls tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5mkgrp/testh5mkgrp.bat b/windows/tools/h5mkgrp/testh5mkgrp.bat new file mode 100644 index 0000000..112c106 --- /dev/null +++ b/windows/tools/h5mkgrp/testh5mkgrp.bat @@ -0,0 +1,254 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5mkgrp tool +rem +rem Created: Scott Wegner, 8/29/07 +rem Modified: +rem + +rem We currently only build static version of h5mkgrp, but this batch file is +rem setup for dll versions, in case we decide to build them in the future. +rem --SJW 8/29/07 + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem The tool name +set h5mkgrp=h5mkgrp%2 +rem The path of the tool binary +set h5mkgrp_bin=%CD%\..\%h5mkgrp%\%1\%h5mkgrp% +rem The h5ls tool name +set h5ls=h5ls%2 +rem Arguments to the h5ls tool +set h5ls_args=-vr +rem The path of the h5ls tool binary +set h5ls_bin=%CD%\..\%h5ls%\%1\%h5ls% + +set nerrors=0 +set verbose=yes + +set indir=%CD%\..\testfiles +set outdir=%CD%\..\testfiles + +if not exist %outdir% mkdir %outdir% + +goto main + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 8/24/07 + set test_msg=!test_msg:PERCENT-ZERO=%%0! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Verifying". +rem +:verify_h5ls + set test_msg=Verifying h5ls file structure + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 8/24/07 + set test_msg=!test_msg:PERCENT-ZERO=%%0! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. If h5mkgrp can complete +rem with exit status 0, consider it pass. If a test fails then increment +rem the `nerrors' global variable. +rem Assumed arguments: +rem %* arguments for h5mkgrp. +:tooltest + ( + echo.############################# + echo. output for 'h5mkgrp %*' + echo.############################# + %h5mkgrp_bin% %* + ) > output.out + + if %errorlevel% neq 0 ( + call :testing *FAILED* %* + echo.failed result is: + type output.out + set nerrors=!nerrors!+1 + ) else ( + call :testing PASSED %* + ) + + rem Clean up output file + if not defined hdf5_nocleanup ( + del /f output.out + ) + + exit /b + + +rem Call the h5ls tool to verify the correct output data in the destination file +rem +:h5lstest + set expect=%indir%\%~n1.ls + set expect_parsed=%expect%.parsed + set actual=%outdir%\%~n1.out + set actual_parsed=%actual%.parsed + + rem Stderr is included in stdout so that the diff can detect + rem any unexpected output from that stream too + ( + echo.############################# + echo.Expected output from h5ls %* + echo.############################# + %h5ls_bin% %h5ls_args% %* + ) >%actual% 2>&1 + rem Windows doesn't have "sed" command, and parsing the files line-by-line + rem to emulate Unix takes a very long time. Instead, we simply remove lines + rem with "Modified". Do this for actual and expected otput. If there is a + rem better alternative in the future, we should use it instead. --SJW 8/29/07 + for %%a in (expect actual) do ( + findstr /v /c:" Modified:" !%%a! > tmp.txt + move /y tmp.txt !%%a_parsed! > nul + ) + + rem Don't special case non-existing expected output as Linux does, because + rem we depend on it above to parse anyway. It should be an error if it + rem doesn't exist. --SJW 8/29/07 + rem if not exist %expect% ( + rem call :verify_h5ls CREATED %* + rem copy %actual% %expect% + rem ) + + fc /w %expect_parsed% %expect_parsed% | find "FC: no diff" > nul + if %errorlevel% equ 0 ( + call :verify_h5ls PASSED %* + ) else ( + call :verify_h5ls *FAILED* %* + echo. Expected result ^(*.ls^) differs from actual result ^(*.out^) + set /a nerrors=!nerrors!+1 + if "%verbose%"=="yes" fc %epect% %actual% + ) + + rem Clean up output file + if not defined hdf5_nocleanup ( + del /f %actual% %actual_parsed% %expect_parsed% + ) + + exit /b + + +rem Single run of tool +rem +rem Assumed arguments: +rem %1 is test file name +rem %2 is h5mkgrp options +rem %* are groups to create +:runtest + + set fileout=%outdir%\%1 + shift + set h5mkgrp_args=%1 + rem Filter out quotes + set h5mkgrp_args=%h5mkgrp_args:"=% + shift + + rem Remove any output file left over from previous test run + del /f %fileout% 2> nul + + rem On Windows, the shift command doesn't actually affect %*, so we must + rem manipulate a params variable. We need to be careful of how we iterate + rem through them, because the " " parameter is tricky on Windows. + rem --SJW 8/29/07 + set params= + if not "%1"=="" ( + set p_num=1 + for %%a in (%*) do ( + if !p_num! geq 3 ( + set params=!params! %%a + ) + set /a p_num=!p_num!+1 + ) + rem Remove leading space + set params=!params:* =! + ) + + rem Run test + call :tooltest %h5mkgrp_args% %fileout% %params% + + rem Verify that the file created above is correct + call :h5lstest %fileout% + + rem Remove output file created, if the "no cleanup" environment variable is + rem not defined. + rem Why do we echo FILEOUT on Linux? --SJW 8/29/07 + rem echo.FILEOUT= %fileout% + if not defined hdf5_nocleanup ( + del /f %fileout% 2> nul + ) + + exit /b + + +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +:main + rem Check that help & version is displayed properly + call :runtest h5mkgrp_help.h5 "-h" + call :runtest h5mkgrp_version.h5 "-V" + + rem Create single group at root level + call :runtest h5mkgrp_single.h5 " " single + call :runtest h5mkgrp_single.h5 "-v" single + call :runtest h5mkgrp_single.h5 "-p" single + call :runtest h5mkgrp_single_latest.h5 "-l" latest + + rem Create several groups at root level + call :runtest h5mkgrp_several.h5 " " one two + call :runtest h5mkgrp_several.h5 "-v" one two + call :runtest h5mkgrp_several.h5 "-p" one two + call :runtest h5mkgrp_several_latest.h5 "-l" one two + + rem Create various nested groups + call :runtest h5mkgrp_nested.h5 "-p" /one/two + call :runtest h5mkgrp_nested_latest.h5 "-lp" /one/two + call :runtest h5mkgrp_nested_mult.h5 "-p" /one/two /three/four + call :runtest h5mkgrp_nested_mult_latest.h5 "-lp" /one/two /three/four + + + if %nerrors% equ 0 ( + echo.All h5mkgrp tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5repack/h5repack.bat b/windows/tools/h5repack/h5repack.bat new file mode 100644 index 0000000..8d45115 --- /dev/null +++ b/windows/tools/h5repack/h5repack.bat @@ -0,0 +1,524 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5repack tool +rem +rem Created: Scott Wegner, 8/28/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +set h5pubconf=%CD%\..\..\src\h5pubconf.h + +rem On Windows, the function :detect_filter sets these for us +call :detect_filter szip +call :detect_filter deflate +call :detect_filter shuffle +call :detect_filter fletcher32 +call :detect_filter nbit +call :detect_filter scaleoffset + +rem The tool name +set h5repack=h5repack%2 +rem The path of the tool binary +set h5repack_bin=%CD%\..\%h5repack%\%1\%h5repack% + +rem The h5diff tool name +set h5diff=..\h5diff%2\%1\h5diff%2 +rem The path of the h5diff tool binary +set h5diff_bin=%CD%\%h5diff% + +rem The tool name +set h5detectszip=testh5repack_detect_szip%2 +rem The path of the tool binary +set h5detectszip_bin=%CD%\..\testfiles\%h5detectszip%\%1\%h5detectszip% + + +set info_file=..\testfiles\info.h5repack + +set file0=h5repack_fill.h5 +set file1=h5repack_objs.h5 +set file2=h5repack_attr.h5 +set file3=h5repack_hlink.h5 +set file4=h5repack_layout.h5 +set file5=h5repack_early.h5 +set file7=h5repack_szip.h5 +set file8=h5repack_deflate.h5 +set file9=h5repack_shuffle.h5 +set file10=h5repack_fletcher.h5 +set file11=h5repack_filters.h5 +set file12=h5repack_nbit.h5 +set file13=h5repack_soffset.h5 + + +set nerrors=0 +set verbose=yes + +if not exist ..\testfiles mkdir ..\testfiles + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=!test_msg! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Verifying". +rem +:verify + set test_msg=Verifying h5diff output + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=!test_msg! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Print a message that a test has been skipped (because a required filter +rem was unavailable) +:skip + call :testing -SKIP- %h5repack% %* + exit /b + + +rem Call the h5diff tool +rem +:difftest + %h5diff_bin% %* -q + if %errorlevel% neq 0 ( + call :verify *FAILED* %* + set /a nerrors=!nerrors!+1 + ) else ( + call :verify PASSED %* + ) + + exit /b + + +rem Call h5repack +rem +:tooltest + + rem Run test. + set infile=%CD%\..\testfiles\%1 + rem Linux uses a $path variable here, but it is unneccessary, and will + rem corrupt our Windows PATH if we use it. --SJW 8/28/07 + rem set path=%CD% + rem set outfile=%path%\out.%1 + set outfile=%CD%\out.%1 + + rem We define %params% here because Windows `shift` command doesn't affect + rem the %* variable. --SJW 8/28/07 + set params=%* + set params=%params: *=% + %h5repack_bin% -i %infile% -o %outfile% %params% + + if %errorlevel% neq 0 ( + call :testing *FAILED* %* + set /a nerrors=!nerrors!+1 + ) else ( + call :testing PASSED %* + call :difftest %infile% %outfile% + ) + del /f %outfile% + + exit /b + + +rem This is a Windows-specific function that detects if the filter passed +rem should be enabled for this test script. It searches H5pubconf.h for the +rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1" +rem accordingly. On other platforms, this variable is set in the Makefile. +rem If we find a better way to test this in the future, we should use it. +rem --SJW 9/4/07 +:detect_filter + findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul + if %errorlevel% equ 0 ( + set use_filter_%1=yes + ) else ( + set use_filter_%1=no + ) + + exit /b + + +rem +rem The tests +rem We use the files generated by h5repacktst +rem Each run generates ".out.h5" and the tool h5diff is used to +rem compare the input and output files +rem +rem the tests are the same as the program h5repacktst, but run from the CLI +rem +:main + + rem See which filters are usable (and skip tests for filters we + rem don't have). Do this by searching H5pubconf.h to see which + rem filters are defined. + + rem detect whether the encoder is present. + set use_filter_szip_encoder=no + if "%use_filter_szip%"=="yes" ( + for /f %%a in ('%h5detectszip_bin%') do set use_filter_szip_encoder=%%a + ) + + rem copy files (these files have no filters) + call :tooltest %file0% + call :tooltest %file1% + call :tooltest %file2% + call :tooltest %file3% + call :tooltest %file4% + call :tooltest %file5% + + + rem use %file4% to write some filters (this file has no filters) + + rem gzip with individual object + set arg=%file4% -f dset1:GZIP=1 -l dset1:CHUNK=20x10 + if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem gzip for all + set arg=%file4% -f GZIP=1 + if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem szip with individual object + set arg=%file4% -f dset2:SZIP=8,EC -l dset2:CHUNK=20x10 + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem szip for all + set arg=%file4% -f SZIP=8,NN + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem shuffle with individual object + set arg=%file4% -f dset2:SHUF -l dset2:CHUNK=20x10 + if not "%use_filter_shuffle%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + + rem shuffle for all + set arg=%file4% -f SHUF + if not "%use_filter_shuffle%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem fletcher32 with individual object + set arg=%file4% -f dset2:FLET -l dset2:CHUNK=20x10 + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem fletcher32 for all + set arg=%file4% -f FLET + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem all filters + set arg=%file4% -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10 + rem On Windows we must check each filter individually, because we don't have + rem -o flag like Linux. --SJW 8/28/07 + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_shuffle%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_fletcher32%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem ########################################################## + rem the following tests assume the input files have filters + rem ########################################################## + + rem szip copy + set arg=%file7% + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem szip remove + set arg=%file7% -f dset_szip:NONE + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem deflate copy + set arg=%file8% + if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem deflate remove + set arg=%file8% -f dset_deflate:NONE + if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem shuffle copy + set arg=%file9% + if not "%use_filter_shuffle%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem shuffle remove + set arg=%file9% -f dset_shuffle:NONE + if not "%use_filter_shuffle%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem fletcher32 copy + set arg=%file10% + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem fletcher32 remove + set arg=%file10% -f dset_fletcher32:NONE + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem nbit copy + set arg=%file12% + if not "%use_filter_nbit%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem nbit remove + set arg=%file12% -f dset_nbit:NONE + if not "%use_filter_nbit%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem nbit add + set arg=%file12% -f dset_int31:NBIT + if not "%use_filter_nbit%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem scaleoffset copy + set arg=%file13% + if not "%use_filter_scaleoffset%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem scaleoffset add + set arg=%file13% -f dset_none:SOFF=31,IN + if not "%use_filter_scaleoffset%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem scaleoffset remove + set arg=%file13% -f dset_scaleoffset:NONE + if not "%use_filter_scaleoffset%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem remove all filters + set arg=%file11% -f NONE + if not "%use_filter_fletcher32%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_shuffle%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_nbit%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_scaleoffset%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem filter conversions + + set arg=%file8% -f dset_deflate:SZIP=8,NN + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + set arg=%file7% -f dset_szip:GZIP=1 + if not "%use_filter_szip_encoder%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_szip%"=="yes" ( + call :skip %arg% + ) else if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + + rem limit + set arg=%file4% -f GZIP=1 -m 1024 + if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + rem file + set arg=%file4% -e %info_file% + if not "%use_filter_deflate%"=="yes" ( + call :skip %arg% + ) else ( + call :tooltest %arg% + ) + + + rem ######################################################## + rem layout options (these files have no filters) + rem ######################################################## + + call :tooltest %file4% -l dset2:CHUNK=20x10 + call :tooltest %file4% -l CHUNK=20x10 + call :tooltest %file4% -l dset2:CONTI + call :tooltest %file4% -l CONTI + call :tooltest %file4% -l dset2:COMPA + call :tooltest %file4% -l COMPA + + + rem ############################################################### + rem layout conversions (file has no filters) + rem ############################################################## + + set arg1=%file4% -l dset_compact:CONTI + set arg2=%file4% -l dset_compact:CHUNK=2x5 + set arg3=%file4% -l dset_compact:COMPA + set arg4=%file4% -l dset_contiguous:COMPA + set arg5=%file4% -l dset_contiguous:CHUNK=3x6 + set arg6=%file4% -l dset_contiguous:CONTI + set arg7=%file4% -l dset_chunk:COMPA + set arg8=%file4% -l dset_chunk:CONTI + set arg9=%file4% -l dset_chunk:CHUNK=18x13 + call :tooltest %arg1% + call :tooltest %arg2% + call :tooltest %arg3% + call :tooltest %arg4% + call :tooltest %arg5% + call :tooltest %arg6% + call :tooltest %arg7% + call :tooltest %arg8% + call :tooltest %arg9% + + rem native option + set arg=%file1% -n + call :tooltest %arg% + + + if %nerrors% equ 0 ( + echo.All %h5repack% tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5repart/testh5repart.bat b/windows/tools/h5repart/testh5repart.bat new file mode 100644 index 0000000..70ad229 --- /dev/null +++ b/windows/tools/h5repart/testh5repart.bat @@ -0,0 +1,148 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5repart tool +rem +rem Created: Scott Wegner, 8/29/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +rem The tool name +set repart=h5repart%2 +rem The path of the tool library +set repart_bin=%CD%\..\%repart%\%1\%repart% + +rem The test name +set reparted_fam=h5reparttst +rem The path of the test binary +set reparted_fam_bin=%CD%\..\testfiles\%reparted_fam%\%1\%reparted_fam% + +set nerrors=0 +set verbose=yes + +if not exist ..\testfiles mkdir ..\testfiles + +set actual_dir=%CD%\..\testfiles + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing %dumper% + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 9/4/07 + set test_msg=!test_msg:PERCENT-ZERO=%%0! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. If a test fails then increment +rem the `nerrors' global variable. +rem +:tooltest + rem Run tool test. + ( + rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test. + rem --SJW 9/4/07 + set params=%* + set params=!params:PERCENT-ZERO=%%0! + pushd %CD%\..\testfiles + %repart_bin% !params! + popd + ) + + if %errorlevel% equ 0 ( + call :testing PASSED %repart% %* + ) else ( + call :testing *FAILED* %repart% %* + set /a nerrors=!nerrors!+1 + ) + + exit /b + + +:outputtest + rem Run test program + ( + pushd %actual_dir% + %reparted_fam_bin% %* + popd + ) + + if %errorlevel% equ 0 ( + call :testing PASSED %reparted_fam% %* + ) else ( + call :testing *FAILED* %reparted_fam% %* + set /a nerrors=!nerrors!+1 + ) + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %* + exit /b + + +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ +:main + + rem On Windows, we pass "PERCENT-ZERO", and let other calls replace it with + rem the "%0". We cannot pass "%0" directly because Windows interprets it as + rem the name of the script. --SJW 9/4/07 + + rem repartition family member size to 20,000 bytes. + call :tooltest -m 20000 family_filePERCENT-ZERO5d.h5 %actual_dir%\fst_familyPERCENT-ZERO5d.h5 + rem repartition family member size to 5 KB. + call :tooltest -m 5k family_filePERCENT-ZERO5d.h5 %actual_dir%\scd_familyPERCENT-ZERO5d.h5 + rem convert family file to sec2 file of 20,000 bytes + call :tooltest -m 20000 -family_to_sec2 family_filePERCENT-ZERO5d.h5 %actual_dir%\family_to_sec2.h5 + + rem test the output files repartitioned above. + call :outputtest + echo. + + if %nerrors% equ 0 ( + echo.All %repart% tests passed. + ) + + rem Clean up output file + if not defined hdf5_nocleanup ( + pushd %actual_dir% + del /f fst_family*.h5 scd_family*.h5 family_to_sec2.h5 + popd + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/h5stat/testh5stat.bat b/windows/tools/h5stat/testh5stat.bat new file mode 100644 index 0000000..3bc6ab0 --- /dev/null +++ b/windows/tools/h5stat/testh5stat.bat @@ -0,0 +1,176 @@ +@echo off +rem +rem Copyright by The HDF Group. +rem Copyright by the Board of Trustees of the University of Illinois. +rem All rights reserved. +rem +rem This file is part of HDF5. The full HDF5 copyright notice, including +rem terms governing use, modification, and redistribution, is contained in +rem the files COPYING and Copyright.html. COPYING can be found at the root +rem of the source code distribution tree; Copyright.html can be found at the +rem root level of an installed copy of the electronic HDF5 document set and +rem is linked from the top-level documents page. It can also be found at +rem http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have +rem access to either file, you may request a copy from help@hdfgroup.org. +rem +rem Tests for the h5stat tool +rem +rem Created: Scott Wegner, 8/28/07 +rem Modified: +rem + +setlocal enabledelayedexpansion +pushd %~dp0 + +set h5pubconf=%CD%\..\..\src\h5pubconf.h + +rem Determine which filters are available +rem On Windows, the function :detect_filter sets these for us +call :detect_filter szip +call :detect_filter deflate +call :detect_filter shuffle +call :detect_filter fletcher32 +call :detect_filter nbit +call :detect_filter scaleoffset + +rem The tool name +set stat=h5stat%2 +rem The path of the tool binary +set stat_bin=%CD%\..\%stat%\%1\%stat% + +set nerrors=0 +set verbose=yes + +if not exist .\testfiles mkdir .\testfiles + +goto main + + +rem Print a line-line message left justified in a field of 70 characters +rem beginning with the word "Testing". +rem +:testing + set test_msg=Testing + for %%a in (%*) do ( + if %%a neq PASSED ( + if %%a neq *FAILED* ( + set test_msg=!test_msg! %%~nxa + ) ) + ) + set test_msg=!test_msg! + echo.%test_msg:~0,69% %1 + + exit /b + + +rem Run a test and print PASS or *FAIL*. If a test fails then increment +rem the `nerrors' global variable and (if %verbose% is set) display the +rem difference between the actual output and the expected output. The +rem expected output is given as the first argument to this function and +rem the actual output file is calculated by replacing the `.ddl' with +rem `.out'. The actual output is not removed if %HDF5_NOCLEANUP% has a +rem non-zero value. +rem +:tooltest + set expect=%CD%\testfiles\%1 + set actual=%CD%\testfiles\%~n1.out + set actual_err=%CD%\testfiles\%~n1.err + + rem We define %params% here because Windows `shift` command doesn't affect + rem the %* variable. --SJW 8/28/07 + set params=%* + set params=%params:* =% + + rem Run test. + ( + echo.############################# + rem Filter out quotes because they do on Linux. --SJW 8/28/07 + echo.Expected output for 'h5stat %params:"=%' + echo.############################# + pushd %CD%\testfiles + %stat_bin% %params% + popd + ) > %actual% 2> %actual_err% + type %actual_err% >> %actual% + + + if not exist %expect% ( + rem Create the expect file if it doesn't yet exist + call :testing CREATED %stat% %params% + copy /y %actual% %expect% + ) else ( + fc /w %expect% %actual% | find "FC: no diff" > nul + if !errorlevel! equ 0 ( + call :testing PASSED %stat% %params% + ) else ( + call :testing *FAILED* %stat% %params% + echo. Expected results ^(*.ddl^) differs from actual result ^(*.out^) + set /a nerrors=!nerrors!+1 + if "yes"=="%verbose%" fc %expect% %actual% + ) + ) + + rem Clean up output file + if not defined hdf5_nocleanup ( + del /f %actual% %actual_err% + ) + + exit /b + + +rem This is a Windows-specific function that detects if the filter passed +rem should be enabled for this test script. It searches H5pubconf.h for the +rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1" +rem accordingly. On other platforms, this variable is set in the Makefile. +rem If we find a better way to test this in the future, we should use it. +rem --SJW 9/4/07 +:detect_filter + findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul + if %errorlevel% equ 0 ( + set use_filter_%1=yes + ) else ( + set use_filter_%1=no + ) + + exit /b + + +rem Print a "SKIP" message +:skip + call :testing -SKIP- %* + exit /b + + +rem ############################################################################ +rem ############################################################################ +rem # T H E T E S T S ### +rem ############################################################################ +rem ############################################################################ +:main + + rem Test for help flag + call :tooltest h5stat_help1.ddl -h + call :tooltest h5stat_help2.ddl --help + + rem Test file with groups, compressed datasets, user-applied fileters, etc. + rem h5stat_filters.h5 is a copy of ../../testfiles/tfilters.h5 as of release 1.8.0-alpha4 + call :tooltest h5stat_filters.ddl h5stat_filters.h5 + call :tooltest h5stat_filters-file.ddl -f h5stat_filters.h5 + call :tooltest h5stat_filters-F.ddl -F h5stat_filters.h5 + call :tooltest h5stat_filters-d.ddl -d h5stat_filters.h5 + call :tooltest h5stat_filters-g.ddl -g h5stat_filters.h5 + call :tooltest h5stat_filters-dT.ddl -dT h5stat_filters.h5 + rem h5stat_tsohm.h5 is a copy of ../../../test/tsohm.h5 generated by tsohm.c + rem as of release 1.8.0-alpha4 + call :tooltest h5stat_tsohm.ddl h5stat_tsohm.h5 + rem h5stat_newgrat.h5 is generated by h5stat_gentest.c + call :tooltest h5stat_newgrat.ddl h5stat_newgrat.h5 + echo. + + if %nerrors% equ 0 ( + echo.All %stat% tests passed. + ) + + popd + endlocal & exit /b %nerrors% + \ No newline at end of file diff --git a/windows/tools/importtest.BAT b/windows/tools/importtest.BAT deleted file mode 100755 index a506594..0000000 --- a/windows/tools/importtest.BAT +++ /dev/null @@ -1,197 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5import tests -::Usage -:: importtest release -- release static version -:: importtest debug -- debug static version -:: importtest release dll -- release dll version -:: importtest debug dll -- debug dll version -:: Written By: Fang GUO -:: Date : Jan. 27, 2006 - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - -::********************************************** -:: Generate a new temp directory for test h5diff -::********************************************** - -:: Make a tempory directory for difftest - mkdir temptest - -:: Run h5importtst -cd testfiles\h5importtst\%1 -h5importtst.exe - -cd ..\..\..\ - -::**************************************************** -:: Set the Environment Variables & Change Dir to .EXE -::**************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Set up some variables for convenience - :: tempResults will contain the tests results temporarily - set tempResults=importtest%2_%1.txt - :: exefile will contain the file name of the executable file - set exefile=h5import%p2% - :: tooltest is the sub-batch file which will be called by tool test - set tooltest=..\..\tooltest - ::Handle the expected file and the actual output file - ::ln is the total line numbers to be deleted from the actual output - set ln=1 - ::ln_exp is the total line numbers to be deleted from the expected output - set ln_exp=4 - - ::Set some variables to contain .h5 file and its path for convenience - ::Create the file to contain the tests output - type nul > %tempResults% - - :: Set up Variables - :: h5import%2 ..\..\testfiles\h5importtst\%1\txtin32 -c ..\..\h5import\testfiles\textin32 -o ..\..\temptest\act_h5\test1.h5 - - ::Set up variables for h5import input files - for %%i in (testfiles\h5importtst\%1\t*) do set %%~ni=..\..\testfiles\h5importtst\%p1%\%%~ni - for %%i in (testfiles\h5importtst\%1\b*) do set %%~ni=..\..\testfiles\h5importtst\%p1%\%%~ni - - ::Set up variables for h5import configure files - for %%i in (h5import\testfiles\text*) do set %%~ni=..\..\h5import\testfiles\%%~ni - for %%i in (h5import\testfiles\txt*) do set %%~ni=..\..\h5import\testfiles\%%~ni - for %%i in (h5import\testfiles\con*) do set %%~ni=..\..\h5import\testfiles\%%~ni - for %%i in (in1 fp1 fp2) do ( set %%i=..\..\h5import\testfiles\%%i) - - ::Set up variables for h5import output files - for %%i in (h5import\testfiles\test*) do set out.%%~ni=..\..\temptest\out.%%~ni.h5 - - ::Change directory to the directory where the .exe file is located - cd h5import%p2%\%p1% - -::********************************************* -:: Test each function by calling TOOLTEST.BAT -::********************************************* -::USAGE of importtest.bat -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name -::3. Example - - -echo. -echo.**************************************************** -echo. h5import%2 %1 T E S T S -echo.**************************************************** - -::TESTING "ASCII I32 rank 3 - Output BE -set flag=%txtin32% -c %textin32% -o %out.test1% -call %tooltest% textin32 test1.h5 - -::TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended" -set flag=%txtin16% -c %textin16% -o %out.test2% -call %tooltest% textin16.txt test2.h5 - -::TESTING "ASCII I8 - rank 3 - Output I16 LE-Chunked+Extended+Compressed " -set flag=%txtin16% -c %textin8% -o %out.test3% -call %tooltest% textin8.txt test3.h5 - -::TESTING "ASCII UI32 - rank 3 - Output BE" -set flag=%in1% -c %textuin32% -o %out.test4% -call %tooltest% textuin32.txt test4.h5 - -::TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed " -set flag=%in1% -c %textuin16% -o %out.test5% -call %tooltest% textuin16.txt test5.h5 - -::TESTING "ASCII F32 - rank 3 - Output LE " -set flag=%fp1% -c %textfp32% -o %out.test6% -call %tooltest% textfp32.txt test6.h5 - -::TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed " -set flag=%fp2% -c %textfp64% -o %out.test7% -call %tooltest% textfp64.txt test7.h5 - -::TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed " -set flag=%bfp64% -c %conbfp64% -o %out.test8% -call %tooltest% conbfp64.txt test8.h5 - -::TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended " -set flag=%bin16% -c %conbin16% -o %out.test9% -call %tooltest% conbin16.txt test9.h5 - -::TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed " -set flag=%bin8% -c %conbin8% -o %out.test10% -call %tooltest% conbin8.txt test10.h5 - -::TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED " -set flag=%bin32% -c %conbin32% -o %out.test11% -call %tooltest% conbin32.txt test11.h5 - -::TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED " -set flag=%buin16% -c %conbuin16% -o %out.test12% -call %tooltest% conbuin.txt test12.h5 - -::TESTING "BINARY UI32 - rank 3 - Output LE + CHUNKED " -set flag=%buin32% -c %conbuin32% -o %out.test13% -call %tooltest% conbuin32.txt test13.h5 - -::TESTING "STR" -set flag=%txtstr% -c %textstr% -o %out.teststr% -call %tooltest% textstr.txt teststr.h5 - -::Change directory to hdf5\tools -cd ..\.. - -::Check if any of tests failed or skiped for the time being -echo. -if "%totalerr%"=="0" ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not "%totalskip%"=="0" ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -find "SKIPED" %tempResults% | more +2 -) - -::Clean up Environment Variables -for %%i in (p1 p2 tempResults exefile tooltest ln ln_exp totalskip totalerr) do set %%i= -set flag= - -::Clean up the variables set for h5import input files -for %%i in (testfiles\h5importtst\%1\t*) do set %%~ni= -for %%i in (testfiles\h5importtst\%1\b*) do set %%~ni= - -::Clean up the variables set for h5import configure files -for %%i in (h5import\testfiles\text*) do set %%~ni= -for %%i in (h5import\testfiles\txt*) do set %%~ni= -for %%i in (h5import\testfiles\con*) do set %%~ni= -for %%i in (in1 fp1 fp2) do ( set %%i=..\..\h5import\testfiles\%%i) - -::Clean up the variables set for h5import output files -for %%i in (h5import\testfiles\test*) do ( -set out.%%~ni= -) -::Clean up Temporary Files -rmdir /s/q temptest - - diff --git a/windows/tools/jamtest.bat b/windows/tools/jamtest.bat deleted file mode 100644 index effe166..0000000 --- a/windows/tools/jamtest.bat +++ /dev/null @@ -1,148 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@REM Should copy all testing files to this directory -@REM This batch file only tests the validation of h5jam and h5unjam tools on windows, -@REM It will not check the correctedness of jammed/unjammed user-block. -@echo off -cd h5jam%2\%1 -copy /Y ..\..\testfiles\tall.h5 tall.h5 >temp.txt -copy /Y ..\..\testfiles\twithub.h5 twithub.h5 >temp.txt -copy /Y ..\..\testfiles\twithub513.h5 twithub513.h5 >temp.txt -copy /Y ..\..\testfiles\u10.txt u10.txt >temp.txt -copy /Y ..\..\testfiles\u511.txt u511.txt >temp.txt -copy /Y ..\..\testfiles\u512.txt u512.txt >temp.txt -copy /Y ..\..\testfiles\u513.txt u513.txt >temp.txt -@REM the reason to set environment variables is to make sure it is consistent with other batch files. -set p1=%1 -set p2=%2 -echo. -echo.**************************************************** -echo. H5jam%2 %1 T E S T S -echo.**************************************************** -echo. -set tempResult=jamtest%p2%_%p1%.txt -h5jam -u u10.txt -i tall.h5 -o ta2.h5 -echo h5jam -u u10.txt -i tall.h5 -o ta2.h5 PASSED -echo h5jam -u u10.txt -i tall.h5 -o ta2.h5 PASSED >> ..\..\%tempResult% -h5jam -u u511.txt -i tall.h5 -o ta3.h5 -echo h5jam -u u511.txt -i tall.h5 -o ta3.h5 PASSED -echo h5jam -u u511.txt -i tall.h5 -o ta3.h5 PASSED >> ..\..\%tempResult% -h5jam -u u512.txt -i tall.h5 -o ta4.h5 -echo h5jam -u u512.txt -i tall.h5 -o ta4.h5 PASSED -echo h5jam -u u512.txt -i tall.h5 -o ta4.h5 PASSED >> ..\..\%tempResult% -h5jam -u u513.txt -i tall.h5 -o ta5.h5 -echo h5jam -u u513.txt -i tall.h5 -o ta5.h5 PASSED -echo h5jam -u u513.txt -i tall.h5 -o ta5.h5 PASSED >> ..\..\%tempResult% -copy /Y tall.h5 ta.h5 >temp.txt -h5jam -u u10.txt -i ta.h5 -echo h5jam -u u10.txt -i ta.h5 PASSED -echo h5jam -u u10.txt -i ta.h5 PASSED >> ..\..\%tempResult% -copy /Y tall.h5 ta.h5 >temp.txt -h5jam -u u511.txt -i ta.h5 -echo h5jam -u u511.txt -i ta.h5 PASSED -echo h5jam -u u511.txt -i ta.h5 PASSED >> ..\..\%tempResult% -copy /Y tall.h5 ta.h5 >temp.txt -h5jam -u u512.txt -i ta.h5 -echo h5jam -u u512.txt -i ta.h5 PASSED -echo h5jam -u u512.txt -i ta.h5 PASSED >> ..\..\%tempResult% -copy /Y tall.h5 ta.h5 >temp.txt -h5jam -u u513.txt -i ta.h5 -echo h5jam -u u513.txt -i ta.h5 PASSED -echo h5jam -u u513.txt -i ta.h5 PASSED >> ..\..\%tempResult% -h5jam -u u10.txt -i twithub.h5 -o tax2.h5 -echo h5jam -u u10.txt -i twithub.h5 -o tax2.h5 PASSED -echo h5jam -u u10.txt -i twithub.h5 -o tax2.h5 PASSED >> ..\..\%tempResult% -h5jam -u u511.txt -i twithub.h5 -o tax3.h5 -echo h5jam -u u511.txt -i twithub.h5 -o tax3.h5 PASSED -echo h5jam -u u511.txt -i twithub.h5 -o tax3.h5 PASSED >> ..\..\%tempResult% -h5jam -u u512.txt -i twithub.h5 -o tax4.h5 -echo h5jam -u u512.txt -i twithub.h5 -o tax4.h5 PASSED -echo h5jam -u u512.txt -i twithub.h5 -o tax4.h5 PASSED >> ..\..\%tempResult% -h5jam -u u513.txt -i twithub.h5 -o tax5.h5 -echo h5jam -u u513.txt -i twithub.h5 -o tax5.h5 PASSED -echo h5jam -u u513.txt -i twithub.h5 -o tax5.h5 PASSED >> ..\..\%tempResult% -h5jam -u u10.txt -i twithub513.h5 -o tax6.h5 -echo h5jam -u u10.txt -i twithub513.h5 -o tax6.h5 PASSED -echo h5jam -u u10.txt -i twithub513.h5 -o tax6.h5 PASSED >> ..\..\%tempResult% -h5jam -u u511.txt -i twithub513.h5 -o tax7.h5 -echo h5jam -u u511.txt -i twithub513.h5 -o tax7.h5 PASSED -echo h5jam -u u511.txt -i twithub513.h5 -o tax7.h5 PASSED >> ..\..\%tempResult% -h5jam -u u512.txt -i twithub513.h5 -o tax8.h5 -echo h5jam -u u512.txt -i twithub513.h5 -o tax8.h5 PASSED -echo h5jam -u u512.txt -i twithub513.h5 -o tax8.h5 PASSED >> ..\..\%tempResult% -h5jam -u u513.txt -i twithub513.h5 -o tax9.h5 -echo h5jam -u u513.txt -i twithub513.h5 -o tax9.h5 PASSED -echo h5jam -u u513.txt -i twithub513.h5 -o tax9.h5 PASSED >> ..\..\%tempResult% -h5jam -u u10.txt -i twithub.h5 -o taz2.h5 --clobber -echo h5jam -u u10.txt -i twithub.h5 -o taz2.h5 --clobber PASSED -echo h5jam -u u10.txt -i twithub.h5 -o taz2.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u511.txt -i twithub.h5 -o taz3.h5 --clobber -echo h5jam -u u511.txt -i twithub.h5 -o taz3.h5 --clobber PASSED -echo h5jam -u u511.txt -i twithub.h5 -o taz3.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u512.txt -i twithub.h5 -o taz4.h5 --clobber -echo h5jam -u u512.txt -i twithub.h5 -o taz4.h5 --clobber PASSED -echo h5jam -u u512.txt -i twithub.h5 -o taz4.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u513.txt -i twithub.h5 -o taz5.h5 --clobber -echo h5jam -u u513.txt -i twithub.h5 -o taz5.h5 --clobber PASSED -echo h5jam -u u513.txt -i twithub.h5 -o taz5.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u10.txt -i twithub513.h5 -o taz6.h5 --clobber -echo h5jam -u u10.txt -i twithub513.h5 -o taz6.h5 --clobber PASSED -echo h5jam -u u10.txt -i twithub513.h5 -o taz6.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u511.txt -i twithub513.h5 -o taz7.h5 --clobber -echo h5jam -u u511.txt -i twithub513.h5 -o taz7.h5 --clobber PASSED -echo h5jam -u u511.txt -i twithub513.h5 -o taz7.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u512.txt -i twithub513.h5 -o taz8.h5 --clobber -echo h5jam -u u512.txt -i twithub513.h5 -o taz8.h5 --clobber PASSED -echo h5jam -u u512.txt -i twithub513.h5 -o taz8.h5 --clobber PASSED >> ..\..\%tempResult% -h5jam -u u513.txt -i twithub513.h5 -o taz9.h5 --clobber -echo h5jam -u u513.txt -i twithub513.h5 -o taz9.h5 --clobber PASSED -echo h5jam -u u513.txt -i twithub513.h5 -o taz9.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub.h5 tay2.h5 >temp.txt -h5jam -u u10.txt -i tay2.h5 --clobber -echo h5jam -u u10.txt -i tay2.h5 --clobber PASSED -echo h5jam -u u10.txt -i tay2.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub.h5 tay3.h5 >temp.txt -h5jam -u u511.txt -i tay3.h5 --clobber -echo h5jam -u u511.txt -i tay3.h5 --clobber PASSED -echo h5jam -u u511.txt -i tay3.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub.h5 tay4.h5 >temp.txt -h5jam -u u512.txt -i tay4.h5 --clobber -echo h5jam -u u512.txt -i tay4.h5 --clobber PASSED -echo h5jam -u u512.txt -i tay4.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub.h5 tay5.h5 >temp.txt -h5jam -u u513.txt -i tay5.h5 --clobber -echo h5jam -u u513.txt -i tay5.h5 --clobber PASSED -echo h5jam -u u513.txt -i tay5.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub513.h5 tay6.h5 >temp.txt -h5jam -u u10.txt -i tay6.h5 --clobber -echo h5jam -u u10.txt -i tay6.h5 --clobber PASSED -echo h5jam -u u10.txt -i tay6.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub513.h5 tay7.h5 >temp.txt -h5jam -u u511.txt -i tay7.h5 --clobber -echo h5jam -u u511.txt -i tay7.h5 --clobber PASSED -echo h5jam -u u511.txt -i tay7.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub513.h5 tay8.h5 >temp.txt -h5jam -u u512.txt -i tay8.h5 --clobber -echo h5jam -u u512.txt -i tay8.h5 --clobber PASSED -echo h5jam -u u512.txt -i tay8.h5 --clobber PASSED >> ..\..\%tempResult% -copy /Y twithub513.h5 tay9.h5 >temp.txt -h5jam -u u513.txt -i tay9.h5 --clobber -echo h5jam -u u513.txt -i tay9.h5 --clobber PASSED -echo h5jam -u u513.txt -i tay9.h5 --clobber PASSED >> ..\..\%tempResult% -del temp.txt -del *.h5 -set tempResult= -set p1= -set p2= -cd ../.. diff --git a/windows/tools/lstest.BAT b/windows/tools/lstest.BAT deleted file mode 100755 index b37657d..0000000 --- a/windows/tools/lstest.BAT +++ /dev/null @@ -1,175 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5ls tests -::Usage -:: lstest release -- release static version -:: lstest debug -- debug static version -:: lstest release dll -- release dll version -:: lstest debug dll -- debug dll version -:: Written By: Fang GUO -:: Date : Jan. 27, 2006 - - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - - -::******************************************************* -:: Generate a new temp directory for test h5dump -::******************************************************* - mkdir temptest - -::****************************************************************** -:: Set the Environment Variables & Change Dir to Dir with h5dump.EXE -::****************************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Before comparison between expected file and the actual outputfile, - :: Ignore the first line in actual outputfile and the first four lines - :: in the expected output file - - set ln=0 - set ln_exp=3 - - :: Save the tests output into a temporary file - set tempResults=lstest%2_%1.txt - type nul > %tempResults% - - :: Define the .exe file based on the second parameter - set exefile=h5ls%p2% - - :: For convenience, set a variable for the sub batch file - set tooltest=..\..\tooltest - - :: For convenience, set variable for all testfiles/*.h5 files - for %%i in (testfiles\*.h5) do set %%~ni=..\..\%%i - - :: Change the directory to dir including .exe file - cd h5ls%p2%\%p1% - -::Test h5ls with different options - -echo.**************************************************** -echo. h5ls%2 %1 T E S T S -echo.**************************************************** - -:: The paramter following %tooltest% is the expected output file -:: Path of the expected output file is not needed - -:: Toss in a bunch of tests. Not sure if they are the right kinds. -:: test the help syntax -set flag=-w80 -h -call %tooltest% help-1.ls - -set flag=-w80 -help -call %tooltest% help-2.ls - -set flag=-w80 -? -call %tooltest% help-3.ls - -:: test simple command -set flag=-w80 %tall% -call %tooltest% tall-1.ls - -set flag=-w80 -r -d %tall% -call %tooltest% tall-2.ls - -set flag=-w80 %tgroup% -call %tooltest% tgroup.ls - -:: test for displaying groups -set flag=-w80 -r -g %tgroup% -call %tooltest% tgroup-1.ls - -:: test for displaying simple space datasets -set flag=-w80 -r -d %tdset% -call %tooltest% tdset-1.ls - -:: test for displaying soft links -set flag=-w80 -r %tslink% -call %tooltest% tslink-1.ls - -:: tests for hard links -set flag=-w80 %thlink% -call %tooltest% thlink-1.ls - -:: tests for compound data types -set flag=-w80 -r -d %tcompound% -call %tooltest% tcomp-1.ls - -::test for the nested compound type -set flag=-w80 -r -d %tnestedcomp% -call %tooltest% tnestcomp-1.ls - -:: test for loop detection -set flag=-w80 -r -d %tloop% -call %tooltest% tloop-1.ls - -:: test for string -set flag=-w80 -r -d %tstr% -call %tooltest% tstr-1.ls - -:: test test file created from lib SAF team -set flag=-w80 -r -d %tsaf% -call %tooltest% tsaf.ls - -:: test for variable length data types -set flag=-w80 -r -d %tvldtypes1% -call %tooltest% tvldtypes1.ls - -:: test for array data types -set flag=-w80 -r -d %tarray1% -call %tooltest% tarray1.ls - -:: test for empty data -set flag=-w80 -d %tempty% -call %tooltest% tempty.ls - -:: test for all dataset types written to attributes -:: enable -S for avoiding printing NATIVE types -:: need batch mask.bat -set flag=-w80 -v -S %tattr2% -call %tooltest% tattr2.ls MASK - -if %totalerr%==0 ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not %totalskip%==0 ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -echo. -find "SKIPED" %tempResults% | more +2 -) - - -cd ..\.. -rmdir /s/q temptest - -for %%i in (testfiles\*.h5) do set %%~ni= -set test_szip= -set output_szip= -for %%v in (p1 p2 tempResults exefile tooltest ln ln_exp tsplit_file tmulti tfamily05d totalskip) do set %%v= - diff --git a/windows/tools/mask.BAT b/windows/tools/mask.BAT deleted file mode 100755 index 5af2b66..0000000 --- a/windows/tools/mask.BAT +++ /dev/null @@ -1,22 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -type nul > %2 -for /f "tokens=1,2*" %%a in ( - %1 -) do ( if %%a==Modified: ( - echo Modified: XXXX-XX-XX XX:XX:XX XXX>> %2 -) else ( - echo %%a %%b %%c>>%2 -) -) diff --git a/windows/tools/repacktest.BAT b/windows/tools/repacktest.BAT deleted file mode 100755 index 688da3e..0000000 --- a/windows/tools/repacktest.BAT +++ /dev/null @@ -1,523 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5repack tests -::Usage -:: repacktest release -- release static version -:: repacktest debug -- debug static version -:: repacktest release dll -- release dll version -:: repacktest debug dll -- debug dll version -:: Written By: Fang GUO -:: Date : Jan. 12, 2006 - -::What is actually doing? -::Example case -::h5repack -i ..\..\testfiles\test_objs.h5 -o ..\..\temptest\out.test_objs.h5 -::h5diff ..\..\testfiles\test_objs.h5 ..\..\temptest\out.test_objs.h5 > ..\..\temptest\temp.txt 2>&1 -::fc ..\..\temptest\temp.txt temptest\notcomp.txt -::if %ERRORLEVEL%==0 ( -:: echo Testing h5repack test_objs.h5 PASSED >> ..\..\repacktest%2_%1.txt -::) else ( -:: echo Testing h5repack test_objs.h5 FAILED >> ..\..\repacktest%2_%1.txt -:: more temp.txt >> ..\..\repacktest%2_%1.txt -::) - - - - :: We will check whether the SZIP library available includes encoder or not by - :: calling the szip encoder detecting executable file testh5repack_detect_szip(dll).exe - :: and check the printed value. - :: If the printed value is "yes", then the SZIP library has encoder, HDF5_SZIP_ENCODE will be set as 1. - :: Otherwise, HDF5_SZIP_ENCODE will be set as 0, and some tests will be skipped. - - FOR /F "delims=" %%a in ('testfiles\testh5repack_detect_szip%2\%1\testh5repack_detect_szip%2.exe') Do Set "Output=%%a" - if "%Output%"=="yes" ( - Set HDF5_SZIP_ENCODE=1 - ) else ( - Set HDF5_SZIP_ENCODE=0 - ) - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - -::******************************************************************* -:: Generate a new temp directory for test h5repack and reference file -::******************************************************************* - ::Make a temporary directory for testing h5repack - mkdir temptest - - :: Reference Files - :: After running h5repack with a input .h5 file, it will use - :: h5diff to compare the expected .h5 file with the output - :: .h5 file generated by h5repack. The comparison results will be - :: one of the following two cases. - - :: Case 1: No difference between the expected .h5 and .h5 generated by h5repack file - type nul > temptest\empty.txt - - ::Case 2: For test_objs.h5 and test_attr.h5, the output will be "Some objects - :: are not comparable", but actually there is no difference between - - type nul > temptest\notcomp.txt - echo -------------------------------->>temptest\notcomp.txt - echo Some objects are not comparable>> temptest\notcomp.txt - echo -------------------------------->>temptest\notcomp.txt - echo Use -v for a list of objects.>> temptest\notcomp.txt - - :: Set two variables to contain the following two file names and paths - set nodiff=..\..\temptest\empty.txt - set notcomp=..\..\temptest\notcomp.txt - -::**************************************************** -:: Set the Environment Variables & Change Dir to .EXE -::**************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Set file name for the test results - set tempResults=repacktest%2_%1.txt - :: Set exe file name - set exefile=h5repack%p2% - :: Set a variable for the sub batch file tools\tooltest.bat - set tooltest=..\..\tooltest - - :: Set Variables to contain the file name and path of input and output files for testing h5repack - for %%v in (_fill _objs _attr _hlink _layout _early _szip _deflate _shuffle _fletcher _filters _nbit _soffset) do ( - set test%%v=..\..\testfiles\h5repack%%v.h5 - set output%%v=..\..\temptest\out.h5repack%%v.h5 - ) - - :: Creat the file for saving the tests results - type nul > %tempResults% - - :: Change to the direcotory where the .exe file is located - cd h5repack%p2%\%p1% - -::********************************************* -:: Test each function by calling TOOLTEST.BAT -::********************************************* - -echo. -echo.**************************************************** -echo. h5repack%2 %1 T E S T S -echo.**************************************************** - -:: STARTING COMMENTS -::Basic Usage: -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name -::3. Example -::If we want to test -::h5repack -i ..\..\testfiles\test_objs.h5 -o ..\..\temptest\out.test_objs.h5 -::At first, we need to set the flag like -::set flag=-i %test_objs% -o %output1% -::Secondly, we call batch file tooltest.bat followed by one of reference files -::call %tooltest% %test_objs% %notcomp% - -:: Using Filters (Zlib, SZIP) -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name, zlib\szip -::3. Example -::If we want to test -::h5repack -i ..\..\testfiles\test_layout.h5 -o ..\..\temptest\out.test_layout.h5 f dset2:SZIP=8,EC -l dset2:CHUNK=20x10 - -::At first, we need to set the flag like -::set flag=-i %test_layout% -o %output_layout% f dset2:SZIP=8,EC -l dset2:CHUNK=20x10 - -::Secondly, we call batch file tooltest.bat followed by one of reference files and szip -::call %tooltest% %test_layout% %nodiff% szip - -::Similarly, if you are using zlib, replace "szip" with "zlib" when calling %tooltest% -::If you are using both zlib and szip, replace "szip" with "zlib szip" when calling %tooltest% -::The order of "zlib szip" does matter. - -::Skip Tests -::Put "skip" after the reference file, like the following -::set flag=-i %test_scaleoffset% -o %output_scaleoffset% -f dset_none:SOFF=31,IN -::call %tooltest% %test_scaleoffset% %nodiff% skip -:: END COMMENTS - -::-------------- -:: test0.h5 -::-------------- -set flag=-i %test_fill% -o %output_fill% -call %tooltest% %test_fill% %nodiff% - - -::This case will be used as an example case for -::illustration purpose inside tooltest.bat for repacktest -::-------------- -:: test_objs.h5 -::-------------- - -:: Actually we are doing: -:: set flag=-i ..\..\testfiles\test_objs.h5 -o ..\..\temptest\out.test_objs.h5 -:: call ..\..\tooltest ..\..\testfiles\test_objs.h5 ..\..\temptest\notcomp.txt - -set flag=-i %test_objs% -o %output_objs% -call %tooltest% %test_objs% %notcomp% - - -::-------------- -:: test2.h5 -::-------------- -set flag=-i %test_attr% -o %output_attr% -call %tooltest% %test_attr% %notcomp% - -::-------------- -:: test3.h5 -::-------------- -set flag=-i %test_hlink% -o %output_hlink% -call %tooltest% %test_hlink% %nodiff% - - -::-------------- -:: test_layout.h5 -::-------------- -set flag=-i %test_layout% -o %output_layout% -call %tooltest% %test_layout% %nodiff% - -::-------------- -:: test_early.h5 -::-------------- -set flag=-i %test_early% -o %output_early% -call %tooltest% %test_early% %nodiff% - -::**************************************************************** -:: use test_layout.h5 to write some filters (this file has no filters) -::**************************************************************** - -::--------------------------- -::gzip with individual object -::--------------------------- -set flag=-i %test_layout% -o %output_layout% -f dset1:GZIP=1 -l dset1:CHUNK=20x10 -call %tooltest% %test_layout% %nodiff% zlib - -::------------- -::gzip for all -::------------- -set flag=-i %test_layout% -o %output_layout% -f GZIP=1 -call %tooltest% %test_layout% %nodiff% zlib - -::-------------------------- -::szip for individual object -::-------------------------- -set flag=-i %test_layout% -o %output_layout% f dset2:SZIP=8,EC -l dset2:CHUNK=20x10 -call %tooltest% %test_layout% %nodiff% szip - -::-------------- -:: szip for all -::-------------- -set flag=-i %test_layout% -o %output_layout% -f SZIP=8,NN -call %tooltest% %test_layout% %nodiff% szip - -::------------------------------- -:: shuffle with individual object -::------------------------------- -set flag=-i %test_layout% -o %output_layout% -f dset2:SHUF -l dset2:CHUNK=20x10 -call %tooltest% %test_layout% %nodiff% - -::---------------- -:: shuffle for all -::---------------- -set flag=-i %test_layout% -o %output_layout% -f SHUF -call %tooltest% %test_layout% %nodiff% - -::----------------------------------- -:: fletcher32 with individual object -::----------------------------------- -set flag=-i %test_layout% -o %output_layout% -f dset2:FLET -l dset2:CHUNK=20x10 -call %tooltest% %test_layout% %nodiff% - -::-------------------- -:: fletcher32 for all -::-------------------- -set flag=-i %test_layout% -o %output_layout% -f FLET -call %tooltest% %test_layout% %nodiff% - -::------------ -::all filters -::------------ -set flag=-i %test_layout% -o %output_layout% -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10 - -:: Check whether szlib or zlib is available, if either library is not available, skip the test. - -if "%HDF5_EXT_SZIP%"=="" ( - call %tooltest% %test_layout% %nodiff% skip - )else ( - if "%HDF5_EXT_ZLIB%"=="" ( - call %tooltest% %test_layout% %nodiff% skip - ) else ( - call %tooltest% %test_layout% %nodiff% - ) - ) -:: *********************************************************** -:: If the filter exists,the following tests assume the input files have filters -:: *********************************************************** - -::----------- -:: szip copy -::----------- -set flag=-i %test_szip% -o %output_szip% - -::----------- -:: The following checks whether szip library is available, -:: If not, skip the test. -::----------- -if "%HDF5_EXT_SZIP%"=="" ( - call %tooltest% %test_szip% %nodiff% skip -) else ( - call %tooltest% %test_szip% %nodiff% -) - -::------------ -::szip remove -::------------ -set flag=-i %test_szip% -o %output_szip% -f dset_szip:NONE - -::----------- -:: The following checks whether szip library is available, -:: If not, skip the test. -::----------- -if "%HDF5_EXT_SZIP%"=="" ( - call %tooltest% %test_szip% %nodiff% skip -) else ( - call %tooltest% %test_szip% %nodiff% -) - -::-------------- -:: deflate copy -::-------------- -set flag=-i %test_deflate% -o %output_deflate% - -::----------- -:: The following checks whether zlib library is available, -:: If not, skip the test. -::----------- -if "%HDF5_EXT_ZLIB%"=="" ( - call %tooltest% %test_deflate% %nodiff% skip -) else ( - call %tooltest% %test_deflate% %nodiff% -) - -::--------------- -:: deflate remove -::--------------- -set flag=-i %test_deflate% -o %output_deflate% -f dset_deflate:NONE - -::----------- -:: The following checks whether zlib library is available, -:: If not, skip the test. -::----------- -if "%HDF5_EXT_ZLIB%"=="" ( - call %tooltest% %test_deflate% %nodiff% skip -) else ( - call %tooltest% %test_deflate% %nodiff% -) - - -::-------------- -:: shuffle copy -::-------------- -set flag=-i %test_shuffle% -o %output_shuffle% -call %tooltest% %test_shuffle% %nodiff% - -::---------------- -:: shuffle remove -::---------------- -set flag=-i %test_shuffle% -o %output_shuffle% -f dset_shuffle:NONE -call %tooltest% %test_shuffle% %nodiff% - -::----------------- -:: fletcher32 copy -::----------------- -set flag=-i %test_fletcher% -o %output_fletcher% -call %tooltest% %test_fletcher% %nodiff% - -::------------------ -:: fletcher32 remove -::------------------ -set flag=-i %test_fletcher% -o %output_fletcher% -f dset_fletcher32:NONE -call %tooltest% %test_fletcher% %nodiff% - -::---------- -:: nbit copy -::---------- -set flag=-i %test_nbit% -o %output_nbit% -call %tooltest% %test_nbit% %nodiff% - -::------------ -:: nbit remove -::------------ -set flag=-i %test_nbit% -o %output_nbit% -f dset_nbit:NONE -call %tooltest% %test_nbit% %nodiff% - -::--------- -:: nbit add -::--------- -set flag=-i %test_nbit% -o %output_nbit% -f dset_int31:NBIT -call %tooltest% %test_nbit% %nodiff% - -::---------------- -:: scaleoffset add -::---------------- -set flag=-i %test_soffset% -o %output_soffset% -f dset_none:SOFF=31,IN -call %tooltest% %test_soffset% %nodiff% - -::----------------- -:: scaleoffset copy -::----------------- -set flag=-i %test_soffset% -o %output_soffset% -call %tooltest% %test_soffset% %nodiff% - -::------------------- -:: scaleoffset remove -::------------------- -set flag=-i %test_soffset% -o %output_soffset% -f dset_scaleoffset:NONE -call %tooltest% %test_soffset% %nodiff% - -::-------------------- -:: remove all filters -::-------------------- - -::-------------------- -::-- Currently this test is very difficult to be tested on windows since the internal filters -::-- such as fletcher32, scaleoffset, shuffle is hard to be checked in batch files. -::-- Now only szip and deflate filters are checked. KY 2006-11-20 - -:: Check whether szlib or zlib is available, if either library is not available, skip the test. -set flag=-i %test_filters% -o %output_filters% -f NONE -if "%HDF5_EXT_SZIP%"=="" ( - call %tooltest% %test_filters% %nodiff% skip - )else ( - if "%HDF5_EXT_ZLIB%"=="" ( - call %tooltest% %test_filters% %nodiff% skip - ) else ( - call %tooltest% %test_filters% %nodiff% - ) - ) - -::------------------ -::filter conversions -::------------------ -set flag=-i %test_deflate% -o %output_deflate% -f dset_deflate:SZIP=8,NN -call %tooltest% %test_deflate% %nodiff% zlib szip - -set flag=-i %test_szip% -o %output_szip% -f dset_szip:GZIP=1 -call %tooltest% %test_szip% %nodiff% zlib szip - -::------ -::limit -::------ -set flag=-i %test_layout% -o %output_layout% -f GZIP=1 -m 1024 -call %tooltest% %test_layout% %nodiff% zlib - -::----- -::file -::----- -set flag=-i %test_layout% -o %output_layout% -e ..\..\testfiles\info.h5repack -call %tooltest% %test_layout% %nodiff% zlib - -echo. ********************************************* -echo layout options (these files have no filters) -echo. ********************************************* - -set flag=-i %test_layout% -o %output_layout% -l dset2:CHUNK=20x10 -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l CHUNK=20x10 -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset2:CONTI -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l CONTI -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset2:COMPA -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l COMPA -call %tooltest% %test_layout% %nodiff% - -echo. ***************************************** -echo layout conversions (file has no filters) -echo. ***************************************** - -set flag=-i %test_layout% -o %output_layout% -l dset_compact:CONTI -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_compact:CHUNK=2x5 -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_compact:COMPA -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_contiguous:COMPA -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_contiguous:CHUNK=3x6 -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_contiguous:CONTI -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_chunk:COMPA -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_chunk:CHUNK=18x13 -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_layout% -o %output_layout% -l dset_chunk:CONTI -call %tooltest% %test_layout% %nodiff% - -set flag=-i %test_objs% -o %output_objs% -n -call %tooltest% %test_layout% %nodiff% - -cd ..\.. - -echo. -::Tests how many tests failed and how many tests skiped -if %totalerr%==0 ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not %totalskip%==0 ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -echo. -find "SKIPED" %tempResults% | more +2 -) - -:: remove direcotory temptest and all its contents -rmdir /s/q temptest - -:: Clean environment variables - -for %%v in (p1 p2 tempResults exefile tooltest nodiff notcomp totalerr totalskip) do set %%v= -for %%v in (0 1 2 3 4 5 _szip _deflate _shuffle _fletcher32 _nbit _scaleoffset _all) do ( -set test%%v= -set output%%v= -) - - diff --git a/windows/tools/stattest.BAT b/windows/tools/stattest.BAT deleted file mode 100644 index 5844c82..0000000 --- a/windows/tools/stattest.BAT +++ /dev/null @@ -1,161 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file is for h5stat tests. -::Usage -:: stattest release -- release static version -:: stattest debug -- debug static version -:: stattest release dll -- release dll version -:: stattest debug dll -- debug dll version -:: Written By:MuQun Yang -:: Date : Oct. 18, 2006 - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - -::********************************************** -:: Generate a new temp directory for test h5stat -::********************************************** - -:: Make a tempory directory for stattest - mkdir temptest - -::**************************************************** -:: Set the Environment Variables & Change Dir to .EXE -::**************************************************** - - :: The first incoming parameter should be configuration (debug or release) - set p1=%1 - :: The second parameter should be the types of library (dll or blank) - set p2=%2 - - :: Set up some variables for convenience - :: tempResults will contain the tests results temporarily - set tempResults=stattest%p2%_%p1%.txt - :: exefile will contain the file name of the executable file - set exefile=h5stat%p2% - :: tooltest is the sub-batch file which will be called by tool test - set tooltest=..\..\tooltest - ::Handle the expected file and the actual output file - ::ln is the total line numbers to be deleted from the actual output - set ln=1 - ::ln_exp is the total line numbers to be deleted from the expected output - set ln_exp=4 - - :: NOTE1 - ::Set some variables to contain .h5 file and its path for convenience - - set file1=..\..\h5stat\testfiles\h5stat_filters.h5 - set file2=..\..\h5stat\testfiles\h5stat_tsohm.h5 - set file3=..\..\h5stat\testfiles\h5stat_newgrat.h5 - - ::Create the file to contain the tests output - type nul > %tempResults% - - ::Change directory to the directory where the .exe file is located - cd h5stat%p2%\%p1% - -::********************************************* -:: Test each function by calling TOOLTEST.BAT -::********************************************* -::USAGE of stattest.bat -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name -::3. Example -::If we want to test h5stat \testfiles\file1.h5 -::At first, we need to set the flag like -::set flag=%file1% -::Secondly, we call batch file tooltest.bat by -::call %tooltest% h5stat_1.txt - -echo. -echo.**************************************************** -echo. H5stat%2 %1 T E S T S -echo.**************************************************** - -::-------------- -::Common usage -::-------------- - -::1.0 help message -set flag=-h -call %tooltest% h5stat_help1.ddl - -::1.1 another way to generate "help message" -set flag=--help -call %tooltest% h5stat_help2.ddl - -::1.2 all statisical information -set flag=%file1% -call %tooltest% h5stat_filters.ddl - -::1.3 print file information -set flag=-f %file1% -call %tooltest% h5stat_filters-file.ddl - -::1.4 print file metadata information -set flag=-F %file1% -call %tooltest% h5stat_filters-F.ddl - -::1.5 print dataset information -set flag=-d %file1% -call %tooltest% h5stat_filters-d.ddl - -::1.6 print group information -set flag=-g %file1% -call %tooltest% h5stat_filters-g.ddl - -::1.7 print datatype metadata -set flag=-dT %file1% -call %tooltest% h5stat_filters-dT.ddl - -:: h5stat_tsohm.h5 is a copy of ../test/tsohm.h5 generated by tsohm.c -:: as of release 1.8.0-alpha4 -set flag=%file2% -call %tooltest% h5stat_tsohm.ddl - -:: h5stat_newgrat.h5 is generated by h5stat_gentest.c -set flag=%file3% -call %tooltest% h5stat_newgrat.ddl - -::Change directory to hdf5\tools -cd ..\.. - -::Check if any of tests failed or skiped for the time being -echo. -if "%totalerr%"=="0" ( -echo. All of the %exefile% %p1% Tests Passed! -echo. All of the %exefile% %p1% Tests Passed! >> %tempResults% -) else ( -echo. %exefile% %p1% Tests Finished with %totalerr% Errors! -echo. %exefile% %p1% Tests Finished with %totalerr% Errors!>> %tempResults% -) - -if not "%totalskip%"=="0" ( -echo. %totalskip% Tests in total Skiped! >> %tempResults% -echo. %totalskip% Tests in total Skiped! -find "SKIPED" %tempResults% | more +2 -) - -::NOTE1 CLEAN -::Clean up Environment Variables -for %%i in (p1 p2 tempResults exefile tooltest ln ln_exp totalskip totalerr file1 file2 file3) do set %%i= -set flag= - -::Clean up Temporary Files -:: rmdir /s/q temptest - - diff --git a/windows/tools/testhdf5tools.BAT b/windows/tools/testhdf5tools.BAT deleted file mode 100755 index d5e0240..0000000 --- a/windows/tools/testhdf5tools.BAT +++ /dev/null @@ -1,66 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@ ECHO OFF - -REM This batch file includes hdf5 tool(h5dump, h5diff, h5ls, h5import, and h5repack) testings. -REM testhdf5tools release -- release static version -REM testhdf5tools debug -- debug static version -REM testhdf5tools release dll -- release dll version -REM testhdf5tools debug dll -- debug dll version -REM By: Xuan Bai -REM Created: August 2, 2004 -REM Last Modified: August 2, 2004 - -@type nul > toolstest_%1%2.txt -@echo ***************************************************************************** >> toolstest_%1%2.txt -@echo HDF5 Tools Tests -- %1 %2 >> toolstest_%1%2.txt -@echo ***************************************************************************** >> toolstest_%1%2.txt - -call dumptest %1 %2 -@more dumptest%2_%1.txt >> toolstest_%1%2.txt -@del dumptest%2_%1.txt - - -call difftest %1 %2 -@more difftest%2_%1.txt >> toolstest_%1%2.txt -@del difftest%2_%1.txt - -call lstest %1 %2 -@more lstest%2_%1.txt >> toolstest_%1%2.txt -@del lstest%2_%1.txt - -call importtest %1 %2 -@more importtest%2_%1.txt >> toolstest_%1%2.txt -@del importtest%2_%1.txt - -call repacktest %1 %2 -@more repacktest%2_%1.txt >> toolstest_%1%2.txt -@del repacktest%2_%1.txt - -call stattest %1 %2 -@more stattest%2_%1.txt >> toolstest_%1%2.txt -@del stattest%2_%1.txt - -set p2=%2 -if "%2"=="dll" ( -echo "DLL version is not available for h5copy,h5jam or h5unjam, SKIP the test" >>toolstest_%1%2.txt -) else ( - call jamtest %1 %2 - @more jamtest%2_%1.txt >> toolstest_%1%2.txt - @del jamtest%2_%1.txt - call copytest %1 %2 - @more copytest%2_%1.txt >> toolstest_%1%2.txt - @del copytest%2_%1.txt -) - diff --git a/windows/tools/tooltest.bat b/windows/tools/tooltest.bat deleted file mode 100755 index 8150cfd..0000000 --- a/windows/tools/tooltest.bat +++ /dev/null @@ -1,345 +0,0 @@ -@REM Copyright by The HDF Group. -@REM Copyright by the Board of Trustees of the University of Illinois. -@REM All rights reserved. -@REM -@REM This file is part of HDF5. The full HDF5 copyright notice, including -@REM terms governing use, modification, and redistribution, is contained in -@REM the files COPYING and Copyright.html. COPYING can be found at the root -@REM of the source code distribution tree; Copyright.html can be found at the -@REM root level of an installed copy of the electronic HDF5 document set and -@REM is linked from the top-level documents page. It can also be found at -@REM http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have -@REM access to either file, you may request a copy from help@hdfgroup.org. - -@echo off - -::This batch file will be called by the following batch files -::---dumptest.bat -::---difftest.bat -::---importtest.bat -::---lstest.bat -::---repacktest.bat -::---stattest.bat -:: Written By: Fang GUO -:: Date : Jan. 12, 2006 -:: Modified By: MuQun Yang -:: Date : Oct. 19, 2006 - - - :: Setting the starting column number for "PASSED/FAILED/SKIPED" - set flagmax=65 - -:: Decide which tool will be test -:: Define an environment variable to decide which test should run - -:: Find string "dll" inside %exefile% and remove it - set test_exefile=%exefile:dll=% - - if %test_exefile%==h5repack goto REPACKCOPY - if %test_exefile%==h5copy goto REPACKCOPY - if %test_exefile%==h5diff goto COMMON - if %test_exefile%==h5dump goto DUMP - if %test_exefile%==h5ls goto COMMON - if %test_exefile%==h5stat goto COMMON - if %test_exefile%==h5import goto IMPORT - -:: This block is for Repack test -:REPACKCOPY - - ::---------------------------------- - ::Test for h5repack or h5repackdll - ::---------------------------------- - - :: Get the input parameters - :: Example case for h5repack - :: if %1 is ..\..\testfiles\test1.h5 - :: This line will set variable %testinput% equal to ..\..\testfiles\test1.h5 - - set testinput=%1 -::echo %testinput% - :: %testinput:~16% will get all of the chars of %testinput% except the first 16 chars - :: The number 16 here is calculated through the length of "..\..\testfiles\". - :: Example case: %testinput:~16% will give you test1.h5 - :: The whole line will set varialbe %testoutput% equal to ..\..\temptest\out.test1.h5 - - set testoutput=..\..\temptest\out.%testinput:~16% -::echo %testoutput% - ::Set exp_file equal to the second parameter - :: Example case: %exp_file% will be equal to %nodiff% - set exp_file=%2 - - :: Set a variable to be the path to the real output - set actual_output=..\..\temptest\temp.txt - - :: Extract the string for printing results - :: Variable flagout is for printing purpose only - :: These lines will get rid of the paths inside %flag% and set it to %flagout% - :: Example case: - :: %flag% was set inside repacktest.bat to - :: "-i ..\..\testfiles\test1.h5 -o ..\..\temptest\out.test1.h5" - :: The following two lines will set %flagout% equal to - :: "-i test1.h5 -o ..\..\temptest\out.test1.h5" - :: KY note: replace the string "..\..\testfiles\test1.h5" to "test1.h5", this can be done with - :: "..\..\testfiles\t=t" inside the variable with"% %". Now the testing file has been changed - :: from test1.h5 to h5repack..., so the following line should be changed too. 11/21/2006. -:: replace "testfiles\t" with "t" if the name of testing file is test***.h5. Now the testing file is h5repack**.h5, -:: replace "h" with "t". - set flagout=%flag:..\..\testfiles\h=h% -::echo %flagout% - set flagout=%flagout:..\..\temptest\h=h% -::echo %flagout% - :: "." will be used as a delimiter in the for loop for printing output - :: But "." inside ".txt" and".." will not be treated as a delimiter. So replace it - :: with a "#" and recover it before printing results. - - set flagout=%flagout:.txt=#txt% - set flagout=%flagout:..=##% -:: echo %flagout% - :: This for loop uses "." as a delimiter and gets the first and the fourth tokens - :: and assign it to var1 and var4 - ::Example case: - :: %flagout% now is "-i test1.h5 -o ##\##\temptest\out.test1.h5" - :: This for loop will set %var1% as "-i test1" and %var4% as "h5" - - for /f "tokens=1,4 delims=." %%a in ("%flagout%") do ( - set var1=%%a - set var4=%%b - ) - - ::Add in extension for input file - ::Example case: %var1% is "-i test1" in previous step - :: This step will set %var1% as %var1% as "-i test1.h5" - set var1=%var1%.h5 - - ::Check for output file name - ::Example case: %var4% is ".h5" in previous step - ::This step will set it to nothing - set var4=%var4:~2% - - ::Check if %var4% is blank, we will print the "flagout" with the "var1" only - if "%var4%"=="" ( - set flagout=%var1% - goto CHOICE - ) - - ::If %var4% is not blank, for example in the "file test" we have flags like - ::set flag=-i %test4% -o %output4% -e ..\..\testfiles\h5repack_info.txt - ::In this case, we want to print the %var4% out - ::Recover "." - set var4=%var4:#=.% - set flagout=%var1% %var4% - - if %test_exefile%==h5copy ( - set testoutput=..\..\testfiles\out.h5copytst.h5 - goto GTEST - ) - - :: if %test_exefile%==h5copy goto GTEST - ::Based on the third parameter, we will go to different part. - :: GTEST means general test, no need to check zlib and szlib - - :CHOICE - if "%3"=="" goto GTEST - if "%3"=="SKIP" goto SKIP - if "%3"=="zlib" ( - if "%4"=="" goto ZLIB - if "%4"=="szip" goto ZSLIB - goto SKIP - ) - if "%3"=="szip" ( - if "%4"=="" goto SZIP - goto SKIP - ) - goto SKIP - - :ZLIB - if "%HDF5_EXT_ZLIB%"=="zdll.lib" goto GTEST - goto SKIP - - :SZIP - if "%HDF5_EXT_SZIP%"=="szlibdll.lib" ( - if %HDF5_SZIP_ENCODE%==1 goto GTEST - ) - goto SKIP - - :ZSLIB - if "%HDF5_EXT_ZLIB%"=="zdll.lib" ( - if "%HDF5_EXT_SZIP%"=="szlibdll.lib" ( - if %HDF5_SZIP_ENCODE%==1 goto GTEST - ) - ) - goto SKIP - - ::Run the .exe file with the specified flag and generate %testoutput% - ::Compare the expected and the actual output and save the comparison - ::results into .\..\temptest\temp.txt(%actual_output%) - ::Example case: - ::Expected output(%testinput%) is "..\..\testfiles\test1.h5" - ::Actual output(%testoutput%) is "..\..\temptest\out.test1.h5" - ::Save the comparion results into .\..\temptest\temp.txt - - :GTEST - %exefile% %flag% - ..\..\h5diff%p2%\%p1%\h5diff%p2% %testinput% %testoutput% > %actual_output% 2>&1 - if %test_exefile%==h5copy ( - del %testoutput% - ) - goto RESULTS - -:: End of Repack tests - -:: h5copy tests - - -::H5diff and H5ls Tests -:COMMON - :: ------------------------------------------------------ - :: Test for Tools which only need to run .exe and compare - :: actual_output and expected_output - :: ------------------------------------------------------ - - :: Call tooltest with the following parameters set in difftest.bat - :: 1. expected_outputfile.txt - :: 2. flags - - ::Set a flaghandle for output tests results - set flagout=%flag:..\..\testfiles\=% - set flagout=%flagout:..\..\temptest\=% - if "%2%"=="SKIP" goto SKIP - ::Set the file name and path for the expected and actual outputs - set exp_file=..\..\temptest\%1 - set actual_output=..\..\temptest\out.%1 - - ::Run .exe file with flag and rediect the output to a temp file - %exefile% %flag% > ..\..\temptest\temp.txt 2>&1 | more - - if "%2%"=="MASK" goto MASK - - more /e +%ln% ..\..\temptest\temp.txt > %actual_output% - - if %test_exefile%==h5stat ( - more /e +%ln_exp% ..\..\h5stat\testfiles\%1 > %exp_file% - ) else ( - more /e +%ln_exp% ..\..\testfiles\%1 > %exp_file% - ) - ::Clean up temporary file - del ..\..\temptest\temp.txt - goto RESULTS - -:MASK - call ..\..\mask ..\..\temptest\temp.txt %actual_output% - call ..\..\mask ..\..\testfiles\%1 %exp_file% - more /e +1 %actual_output% > ..\..\temptest\tempa%1 - more /e +4 %exp_file% > ..\..\temptest\tempe%1 - move /Y ..\..\temptest\tempa%1 %actual_output% - move /Y ..\..\temptest\tempe%1 %exp_file% - del ..\..\temptest\temp.txt - - goto RESULTS - -:DUMP - :: ----------------------------- - :: Test for h5dump or h5dumpdll - :: ------------------------------ - - if "%2"=="" goto COMMON - if "%2"=="zlib" ( - if "%3"=="" goto DUMPZLIB - if "%3"=="szip" goto DUMPSZ - ) - if "%2"=="szip" goto DUMPSZIP - if "%2"=="SKIP" goto SKIP - - :DUMPZLIB - if "%HDF5_EXT_ZLIB%"=="zdll.lib" goto COMMON - goto SKIP - - :DUMPSZIP - if "%HDF5_EXT_SZIP%"=="szlibdll.lib" goto COMMON - goto SKIP - - :DUMPSZ - if "%HDF5_EXT_ZLIB%"=="zdll.lib" ( - if "%HDF5_EXT_SZIP%"=="szlibdll.lib" goto COMMON - ) - goto SKIP - -:IMPORT - - set exp_file=..\..\temptest\exp_%1 - set actual_output=..\..\temptest\act_%1 - set flagout=%flag:..\..\testfiles\=% - set flagout=%flagout:..\..\h5import\=% - set flagout=%flagout:..\..\temptest\=% - %exefile% %flag% - ..\..\h5dump%p2%\%p1%\h5dump%p2% ..\..\h5import\testfiles\%2 | more +%ln% >%exp_file% 2>&1 - ..\..\h5dump%p2%\%p1%\h5dump%p2% ..\..\temptest\out.%2 | more +%ln%>%actual_output% 2>&1 - - -:RESULTS - ::------------------- - ::Echo tests results - ::------------------- - fc %exp_file% %actual_output% > ..\..\temp_fc.txt - type ..\..\temp_fc.txt | find "FC: no dif" > nul - if not errorlevel 1 ( - set result=PASSED - ) else ( - set result=FAILED - set /A totalerr=totalerr+1 - ) - goto ALIGN - -:SKIP - set flagout=%flag:..\..\testfiles\=% - set flagout=%flagout:..\..\temptest\=% - set result=-SKIPED- - set /A totalskip=totalskip+1 - goto ALIGN - -:ALIGN - ::Set a var to count the # of chars for %flagout% - set flaghandle=%flagout:"=**% - - set /A n=0 - if not "%flaghandle%"=="" goto ALOOP - - :ALOOP - set firstchar=%flaghandle:~0,1% - set /A n=n+1 - set flaghandle=%flaghandle:~1% - if not "%flaghandle%"=="" goto ALOOP - - :AOUT - ::Test if the length of any flags is over the maximum setting - if /I %n% GTR %flagmax% goto APRINT - - if not %n%==%flagmax% ( - set flagout=%flagout%@ - set /A n=n+1 - ) - if not %n%==%flagmax% goto AOUT - - :APRINT - ::Recover " and space - set flagout=%flagout:@= % - set flagout=%flagout:**=" % - echo %exefile% %flagout% %result% - echo %exefile% %flagout% %result% >> ..\..\%tempResults% - if "%result%"=="FAILED" ( - ::more ..\..\temp_fc.txt - more ..\..\temp_fc.txt >> ..\..\%tempResults% - ) - -:END - - ::Clean up temporary file - ::For repacktest, there will be a tempory file under directory tools\temptest - if defined actual_ouput del %actual_output% - - ::clean the environment variables - for %%v in (exp_file actual_output flag testinput testoutput test_exefile var1 var4 flagout flaghandle result tests) do set %%v= - - - - diff --git a/windows_vs6/proj/all/all.dsw b/windows_vs6/proj/all/all.dsw index c7a186b..1738ab2 100755 --- a/windows_vs6/proj/all/all.dsw +++ b/windows_vs6/proj/all/all.dsw @@ -420,16 +420,16 @@ Package=<4> Project_Dep_Name vfddll End Project Dependency Begin Project Dependency - Project_Dep_Name error_api + Project_Dep_Name error_test End Project Dependency Begin Project Dependency - Project_Dep_Name error_apidll + Project_Dep_Name error_testdll End Project Dependency Begin Project Dependency - Project_Dep_Name error_compat + Project_Dep_Name err_compat End Project Dependency Begin Project Dependency - Project_Dep_Name error_compatdll + Project_Dep_Name err_compatdll End Project Dependency Begin Project Dependency Project_Dep_Name h5mkgrp @@ -1011,7 +1011,7 @@ Package=<4> ############################################################################### -Project: "error_api"="..\..\test\error_api\error_api.dsp" - Package Owner=<4> +Project: "error_test"="..\..\test\error_test\error_test.dsp" - Package Owner=<4> Package=<5> {{{ @@ -1029,7 +1029,7 @@ Package=<4> ############################################################################### -Project: "error_apidll"="..\..\test\error_apidll\error_apidll.dsp" - Package Owner=<4> +Project: "error_testdll"="..\..\test\error_testdll\error_testdll.dsp" - Package Owner=<4> Package=<5> {{{ @@ -1047,7 +1047,7 @@ Package=<4> ############################################################################### -Project: "error_compat"="..\..\test\error_compat\error_compat.dsp" - Package Owner=<4> +Project: "err_compat"="..\..\test\err_compat\err_compat.dsp" - Package Owner=<4> Package=<5> {{{ @@ -1065,7 +1065,7 @@ Package=<4> ############################################################################### -Project: "error_compatdll"="..\..\test\error_compatdll\error_compatdll.dsp" - Package Owner=<4> +Project: "err_compatdll"="..\..\test\err_compatdll\err_compatdll.dsp" - Package Owner=<4> Package=<5> {{{ diff --git a/windows_vs6/test/error_api/error_api.dsp b/windows_vs6/test/error_api/error_api.dsp deleted file mode 100644 index e9957c9..0000000 --- a/windows_vs6/test/error_api/error_api.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="error_api" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=error_api - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "error_api.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "error_api.mak" CFG="error_api - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "error_api - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "error_api - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "error_api - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../test/error_api/Release" -# PROP Intermediate_Dir "../../../test/error_api/Release" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "..\..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /machine:I386 /nodefaultlib:"libcd.lib" /include:"_gethostname@8" - -!ELSEIF "$(CFG)" == "error_api - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../test/error_api/Debug" -# PROP Intermediate_Dir "../../../test/error_api/Debug" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc.lib" /include:"_gethostname@8" /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "error_api - Win32 Release" -# Name "error_api - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\..\test\error_test.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/windows_vs6/test/error_apidll/error_apidll.dsp b/windows_vs6/test/error_apidll/error_apidll.dsp deleted file mode 100644 index 6540a78..0000000 --- a/windows_vs6/test/error_apidll/error_apidll.dsp +++ /dev/null @@ -1,103 +0,0 @@ -# Microsoft Developer Studio Project File - Name="error_apidll" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=error_apidll - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "error_apidll.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "error_apidll.mak" CFG="error_apidll - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "error_apidll - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "error_apidll - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "error_apidll - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../test/error_apidll/Release" -# PROP Intermediate_Dir "../../../test/error_apidll/Release" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_HDF5USEDLL_" /D "_HDF5TESTUSEDLL_" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib /nologo /subsystem:console /machine:I386 /include:"_gethostname@8" - -!ELSEIF "$(CFG)" == "error_apidll - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../test/error_apidll/Debug" -# PROP Intermediate_Dir "../../../test/error_apidll/Debug" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_HDF5USEDLL_" /D "_HDF5TESTUSEDLL_" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib /nologo /subsystem:console /debug /machine:I386 /include:"_gethostname@8" /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "error_apidll - Win32 Release" -# Name "error_apidll - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\..\test\error_test.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/windows_vs6/test/error_compat/error_compat.dsp b/windows_vs6/test/error_compat/error_compat.dsp deleted file mode 100644 index d427edb..0000000 --- a/windows_vs6/test/error_compat/error_compat.dsp +++ /dev/null @@ -1,102 +0,0 @@ -# Microsoft Developer Studio Project File - Name="error_compat" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=error_compat - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "error_compat.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "error_compat.mak" CFG="error_compat - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "error_compat - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "error_compat - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "error_compat - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../test/error_compat/Release" -# PROP Intermediate_Dir "../../../test/error_compat/Release" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /W3 /GX /O2 /I "..\..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /machine:I386 /nodefaultlib:"libcd.lib" /include:"_gethostname@8" - -!ELSEIF "$(CFG)" == "error_compat - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../test/error_compat/Debug" -# PROP Intermediate_Dir "../../../test/error_compat/Debug" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /W3 /Gm /GX /ZI /Od /I "..\..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib $(HDF5_EXT_ZLIB) $(HDF5_EXT_SZIP) /nologo /subsystem:console /debug /machine:I386 /nodefaultlib:"libc.lib" /include:"_gethostname@8" /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "error_compat - Win32 Release" -# Name "error_compat - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\..\test\err_compat.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project diff --git a/windows_vs6/test/error_compatdll/error_compatdll.dsp b/windows_vs6/test/error_compatdll/error_compatdll.dsp deleted file mode 100644 index 2fce0ea..0000000 --- a/windows_vs6/test/error_compatdll/error_compatdll.dsp +++ /dev/null @@ -1,103 +0,0 @@ -# Microsoft Developer Studio Project File - Name="error_compatdll" - Package Owner=<4> -# Microsoft Developer Studio Generated Build File, Format Version 6.00 -# ** DO NOT EDIT ** - -# TARGTYPE "Win32 (x86) Console Application" 0x0103 - -CFG=error_compatdll - Win32 Debug -!MESSAGE This is not a valid makefile. To build this project using NMAKE, -!MESSAGE use the Export Makefile command and run -!MESSAGE -!MESSAGE NMAKE /f "error_compatdll.mak". -!MESSAGE -!MESSAGE You can specify a configuration when running NMAKE -!MESSAGE by defining the macro CFG on the command line. For example: -!MESSAGE -!MESSAGE NMAKE /f "error_compatdll.mak" CFG="error_compatdll - Win32 Debug" -!MESSAGE -!MESSAGE Possible choices for configuration are: -!MESSAGE -!MESSAGE "error_compatdll - Win32 Release" (based on "Win32 (x86) Console Application") -!MESSAGE "error_compatdll - Win32 Debug" (based on "Win32 (x86) Console Application") -!MESSAGE - -# Begin Project -# PROP AllowPerConfigDependencies 0 -# PROP Scc_ProjName "" -# PROP Scc_LocalPath "" -CPP=cl.exe -RSC=rc.exe - -!IF "$(CFG)" == "error_compatdll - Win32 Release" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 0 -# PROP BASE Output_Dir "Release" -# PROP BASE Intermediate_Dir "Release" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 0 -# PROP Output_Dir "../../../test/error_compatdll/Release" -# PROP Intermediate_Dir "../../../test/error_compatdll/Release" -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c -# ADD CPP /nologo /MD /W3 /GX /O2 /I "..\..\..\src" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "_HDF5USEDLL_" /D "_HDF5TESTUSEDLL_" /YX /FD /c -# ADD BASE RSC /l 0x409 /d "NDEBUG" -# ADD RSC /l 0x409 /d "NDEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /machine:I386 -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib /nologo /subsystem:console /machine:I386 /include:"_gethostname@8" - -!ELSEIF "$(CFG)" == "error_compatdll - Win32 Debug" - -# PROP BASE Use_MFC 0 -# PROP BASE Use_Debug_Libraries 1 -# PROP BASE Output_Dir "Debug" -# PROP BASE Intermediate_Dir "Debug" -# PROP BASE Target_Dir "" -# PROP Use_MFC 0 -# PROP Use_Debug_Libraries 1 -# PROP Output_Dir "../../../test/error_compatdll/Debug" -# PROP Intermediate_Dir "../../../test/error_compatdll/Debug" -# PROP Ignore_Export_Lib 0 -# PROP Target_Dir "" -F90=df.exe -# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c -# ADD CPP /nologo /MDd /W3 /Gm /GX /ZI /Od /I "..\..\..\src" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "_HDF5USEDLL_" /D "_HDF5TESTUSEDLL_" /YX /FD /GZ /c -# ADD BASE RSC /l 0x409 /d "_DEBUG" -# ADD RSC /l 0x409 /d "_DEBUG" -BSC32=bscmake.exe -# ADD BASE BSC32 /nologo -# ADD BSC32 /nologo -LINK32=link.exe -# ADD BASE LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept -# ADD LINK32 kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib WS2_32.lib /nologo /subsystem:console /debug /machine:I386 /include:"_gethostname@8" /pdbtype:sept - -!ENDIF - -# Begin Target - -# Name "error_compatdll - Win32 Release" -# Name "error_compatdll - Win32 Debug" -# Begin Group "Source Files" - -# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat" -# Begin Source File - -SOURCE=..\..\..\test\err_compat.c -# End Source File -# End Group -# Begin Group "Header Files" - -# PROP Default_Filter "h;hpp;hxx;hm;inl" -# End Group -# Begin Group "Resource Files" - -# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe" -# End Group -# End Target -# End Project -- cgit v0.12