summaryrefslogtreecommitdiffstats
path: root/windows/tools/h5repart/testh5repart.bat
diff options
context:
space:
mode:
authorScott Wegner <swegner@hdfgroup.org>2007-09-10 19:14:08 (GMT)
committerScott Wegner <swegner@hdfgroup.org>2007-09-10 19:14:08 (GMT)
commit43bb1ba8e53c3eb23448baba68485222514ab992 (patch)
treee32be74f0faad61cb3c3b29ead9849be5dc59a4d /windows/tools/h5repart/testh5repart.bat
parent33efca34cb30bcf7e17f6e3aa580233bd58a0075 (diff)
downloadhdf5-43bb1ba8e53c3eb23448baba68485222514ab992.zip
hdf5-43bb1ba8e53c3eb23448baba68485222514ab992.tar.gz
hdf5-43bb1ba8e53c3eb23448baba68485222514ab992.tar.bz2
[svn-r14138]
Diffstat (limited to 'windows/tools/h5repart/testh5repart.bat')
-rw-r--r--windows/tools/h5repart/testh5repart.bat148
1 files changed, 148 insertions, 0 deletions
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