[svn-r13140] Added a new batch file to test error APIs

Tested 1.6 compatibility feature: work for vs studio 6.0
Corrected several small bugs inside tool batch files
Add a few project files to test error APIs
This commit is contained in:
MuQun Yang 2007-01-12 16:13:48 -05:00
parent 77ce08c356
commit b801393937
5 changed files with 258 additions and 64 deletions

View File

@ -419,6 +419,18 @@ Package=<4>
Begin Project Dependency
Project_Dep_Name vfddll
End Project Dependency
Begin Project Dependency
Project_Dep_Name error_api
End Project Dependency
Begin Project Dependency
Project_Dep_Name error_apidll
End Project Dependency
Begin Project Dependency
Project_Dep_Name error_compat
End Project Dependency
Begin Project Dependency
Project_Dep_Name error_compatdll
End Project Dependency
}}}
###############################################################################
@ -963,6 +975,78 @@ Package=<4>
###############################################################################
Project: "error_api"="..\..\test\error_api\error_api.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name hdf5
End Project Dependency
Begin Project Dependency
Project_Dep_Name libtest
End Project Dependency
}}}
###############################################################################
Project: "error_apidll"="..\..\test\error_apidll\error_apidll.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name hdf5dll
End Project Dependency
Begin Project Dependency
Project_Dep_Name libtestD
End Project Dependency
}}}
###############################################################################
Project: "error_compat"="..\..\test\error_compat\error_compat.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name hdf5
End Project Dependency
Begin Project Dependency
Project_Dep_Name libtest
End Project Dependency
}}}
###############################################################################
Project: "error_compatdll"="..\..\test\error_compatdll\error_compatdll.dsp" - Package Owner=<4>
Package=<5>
{{{
}}}
Package=<4>
{{{
Begin Project Dependency
Project_Dep_Name hdf5dll
End Project Dependency
Begin Project Dependency
Project_Dep_Name libtestD
End Project Dependency
}}}
###############################################################################
Project: "extend"="..\..\test\extend\extend.dsp" - Package Owner=<4>
Package=<5>

View File

@ -288,9 +288,10 @@ fheap%2\%1\fheap%2
echo.
echo ============================
echo Testing ./testerror.sh
echo Testing ./testerr.bat
echo ============================
call testerr %1 %2
echo.
echo ============================
echo Testing talign

61
windows/test/testerr.bat Normal file
View File

@ -0,0 +1,61 @@
@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 ..\..

View File

@ -2,8 +2,8 @@
@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
echo off
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
@ -11,82 +11,126 @@ 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
h5jam -u u10.txt -i tall.h5 -o ta2.h5
echo h5jam -u u10.txt -i tall.h5 -o ta2.h5 PASSED
h5jam -u u511.txt -i tall.h5 -o ta3.h5
echo h5jam -u u511.txt -i tall.h5 -o ta3.h5 PASSED
@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
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
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
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
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
h5jam -u u10.txt -i twithub.h5 -o tax2.h5
echo h5jam -u u10.txt -i twithub.h5 -o tax2.h5 PASSED
h5jam -u u511.txt -i twithub.h5 -o tax3.h5
echo h5jam -u u511.txt -i twithub.h5 -o tax3.h5 PASSED
h5jam -u u512.txt -i twithub.h5 -o tax4.h5
echo h5jam -u u512.txt -i twithub.h5 -o tax4.h5 PASSED
h5jam -u u513.txt -i twithub.h5 -o tax5.h5
echo h5jam -u u513.txt -i twithub.h5 -o tax5.h5 PASSED
h5jam -u u10.txt -i twithub513.h5 -o tax6.h5
echo h5jam -u u10.txt -i twithub513.h5 -o tax6.h5 PASSED
h5jam -u u511.txt -i twithub513.h5 -o tax7.h5
echo h5jam -u u511.txt -i twithub513.h5 -o tax7.h5 PASSED
h5jam -u u512.txt -i twithub513.h5 -o tax8.h5
echo h5jam -u u512.txt -i twithub513.h5 -o tax8.h5 PASSED
h5jam -u u513.txt -i twithub513.h5 -o tax9.h5
echo h5jam -u u513.txt -i twithub513.h5 -o tax9.h5 PASSED
h5jam -u u10.txt -i twithub.h5 -o taz2.h5 --clobber
echo h5jam -u u10.txt -i twithub.h5 -o taz2.h5 --clobber PASSED
h5jam -u u511.txt -i twithub.h5 -o taz3.h5 --clobber
echo h5jam -u u511.txt -i twithub.h5 -o taz3.h5 --clobber PASSED
h5jam -u u512.txt -i twithub.h5 -o taz4.h5 --clobber
echo h5jam -u u512.txt -i twithub.h5 -o taz4.h5 --clobber PASSED
h5jam -u u513.txt -i twithub.h5 -o taz5.h5 --clobber
echo h5jam -u u513.txt -i twithub.h5 -o taz5.h5 --clobber PASSED
h5jam -u u10.txt -i twithub513.h5 -o taz6.h5 --clobber
echo h5jam -u u10.txt -i twithub513.h5 -o taz6.h5 --clobber PASSED
h5jam -u u511.txt -i twithub513.h5 -o taz7.h5 --clobber
echo h5jam -u u511.txt -i twithub513.h5 -o taz7.h5 --clobber PASSED
h5jam -u u512.txt -i twithub513.h5 -o taz8.h5 --clobber
echo h5jam -u u512.txt -i twithub513.h5 -o taz8.h5 --clobber PASSED
h5jam -u u513.txt -i twithub513.h5 -o taz9.h5 --clobber
echo h5jam -u u513.txt -i twithub513.h5 -o taz9.h5 --clobber PASSED
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
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
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
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
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
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
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
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
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 ../..

View File

@ -53,9 +53,13 @@ call stattest %1 %2
set p2=%2
if "%2"=="dll" (
echo "DLL version is not available for h5copy,h5jam or h5unjam, SKIP the test"
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
)