diff options
Diffstat (limited to 'windows/tools/tooltest.bat')
-rwxr-xr-x | windows/tools/tooltest.bat | 345 |
1 files changed, 0 insertions, 345 deletions
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=
-
-
-
-
|