hdf5/windows/tools/lstest.BAT

176 lines
5.1 KiB
Batchfile
Executable File

@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=