From 67bea144833f0d71352f0a3b9570d32efdbd747e Mon Sep 17 00:00:00 2001 From: Allen Byrne Date: Mon, 19 Mar 2012 17:12:20 -0500 Subject: [svn-r22095] Correct test script errors Add new tests to legacy dos script --- tools/h5dump/testh5dump.sh.in | 7 +- windows/tools/h5dump/testh5dump.bat | 469 +++++++++++++++++++++++------------- 2 files changed, 310 insertions(+), 166 deletions(-) diff --git a/tools/h5dump/testh5dump.sh.in b/tools/h5dump/testh5dump.sh.in index 18cd5d4..6554abe 100644 --- a/tools/h5dump/testh5dump.sh.in +++ b/tools/h5dump/testh5dump.sh.in @@ -797,9 +797,9 @@ TOOLTEST tarray7.ddl --enable-error-stack tarray7.h5 TOOLTEST tarray8.ddl --enable-error-stack tarray8.h5 # test for wildcards in filename (does not work with cmake) -TOOLTEST3 tstarfile --enable-error-stack -H -d Dataset1 tarr*.h5 -TOOLTEST3 tqmarkfile --enable-error-stack -H -d Dataset1 tarray?.h5 -TOOLTEST tmultifile --enable-error-stack -H -d Dataset1 tarray2.h5 tarray3.h5 tarray4.h5 tarray5.h5 tarray6.h5 tarray7.h5 +TOOLTEST3 tstarfile.ddl --enable-error-stack -H -d Dataset1 tarr*.h5 +TOOLTEST3 tqmarkfile.ddl --enable-error-stack -H -d Dataset1 tarray?.h5 +TOOLTEST tmultifile.ddl --enable-error-stack -H -d Dataset1 tarray2.h5 tarray3.h5 tarray4.h5 tarray5.h5 tarray6.h5 tarray7.h5 # test for files with empty data TOOLTEST tempty.ddl --enable-error-stack tempty.h5 @@ -837,7 +837,6 @@ TOOLTEST tchar1.ddl --enable-error-stack -r tchar.h5 # tests for super block TOOLTEST tboot1.ddl --enable-error-stack -H -B -d dset tfcontents1.h5 TOOLTEST tboot2.ddl --enable-error-stack -B tfcontents2.h5 -TOOLTEST file_space.ddl --enable-error-stack -B file_space.h5 # test -p with a non existing dataset TOOLTEST3 tperror.ddl --enable-error-stack -p -d bogus tfcontents1.h5 diff --git a/windows/tools/h5dump/testh5dump.bat b/windows/tools/h5dump/testh5dump.bat index c41e4b2..40b0821 100644 --- a/windows/tools/h5dump/testh5dump.bat +++ b/windows/tools/h5dump/testh5dump.bat @@ -190,6 +190,135 @@ rem use for the binary tests that expect a full path in -o exit /b +rem same as TOOLTEST but filters error stack outp +rem Extract file name, line number, version and thread IDs because they may be different +:tooltest3 + set expect=%CD%\..\testfiles\%1 + set expect_parsed=%CD%\..\testfiles\%~n1.parsed + set actual=%CD%\..\testfiles\%~n1.out + set actual_err=%CD%\..\testfiles\%~n1.err + set actual_ext=%CD%\..\testfiles\%~n1.ext + + 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 We need to replace PERCENT here with "%" for tests that use percents + rem Also remove quotes here, because Linux 'echo' command strips them. + rem --SJW 8/24/07 + pushd %CD%\..\testfiles + %dumper_bin% !params:PERCENT=%%! + popd + ) > %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= + set skip= + for %%b in (%%a) do ( + if not defined skip ( + if "!last_token!"=="thread" ( + set line=!line! ^(IDs^): + + ) else if "!last_token!"=="some" ( + if "%%b"=="thread:" ( + set line=!line! thread ^(IDs^): + set skip=yes + ) else ( + set line=!line! some %%b + ) + + ) 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 if not "%%b"=="some" ( + 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 + type nul > %expect_parsed% + for /f "delims=" %%b in (%expect%) do ( + set line_tmp=%%b + if not "!line_tmp:~0,9!"=="*********" ( + set line= + for %%c in (%%b) do ( + set line=!line! %%c + ) + echo.!line!>>%expect_parsed% + ) + ) + + fc /w %expect_parsed% %actual% > nul + if errorlevel 0 ( + if not exist %expect% ( + rem Create the expect file if it doesn't yet exist. + call :testing CREATED %params% + copy /y %actual% %expect% > nul + ) else ( + fc /w %expect% %actual% > 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% + ) + ) + ) else ( + call :testing *FAILED* %test_err% + echo. Expected result differs from actual result + 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- %* @@ -295,106 +424,115 @@ rem ############################################################################ rem ############################################################################ :main + rem call :tooltest h5dump-help.txt -h + rem test for signed/unsigned datasets - call :tooltest packedbits.ddl packedbits.h5 + call :tooltest packedbits.ddl --enable-error-stack packedbits.h5 rem test for displaying groups - call :tooltest tgroup-1.ddl tgroup.h5 + call :tooltest tgroup-1.ddl --enable-error-stack 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 + call :tooltest tdset-1.ddl --enable-error-stack tdset.h5 rem test for displaying selected datasets - call :tooltest tdset-2.ddl -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5 + call :tooltest3 tdset-2.ddl --enable-error-stack -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5 rem test for displaying attributes - call :tooltest tattr-1.ddl tattr.h5 + call :tooltest tattr-1.ddl --enable-error-stack 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 + call :tooltest tattr-2.ddl --enable-error-stack -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 + call :tooltest3 tattr-3.ddl --enable-error-stack --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 + call :tooltest tnamed_dtype_attr.ddl --enable-error-stack 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 + call :tooltest tslink-1.ddl --enable-error-stack tslink.h5 + call :tooltest tudlink-1.ddl --enable-error-stack 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 + call :tooltest tslink-2.ddl --enable-error-stack -l slink2 tslink.h5 + call :tooltest tudlink-2.ddl --enable-error-stack -l udlink2 tudlink.h5 + rem test for displaying dangling soft links + call :tooltest3 tslink-D.ddl --enable-error-stack -d /slink1 tslink.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 + call :tooltest thlink-1.ddl --enable-error-stack thlink.h5 + call :tooltest thlink-2.ddl --enable-error-stack -d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 thlink.h5 + call :tooltest thlink-3.ddl --enable-error-stack -d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 thlink.h5 + call :tooltest thlink-4.ddl --enable-error-stack -g /g1 thlink.h5 + call :tooltest thlink-5.ddl --enable-error-stack -d /dset1 -g /g2 -d /g1/dset2 thlink.h5 rem tests for compound data types - call :tooltest tcomp-1.ddl tcompound.h5 + call :tooltest tcomp-1.ddl --enable-error-stack tcompound.h5 rem test for named data types - call :tooltest tcomp-2.ddl -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5 + call :tooltest tcomp-2.ddl --enable-error-stack -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5 rem test for unamed type call :tooltest tcomp-3.ddl -t /#6632 -g /group2 tcompound.h5 rem test complicated compound datatype - call :tooltest tcomp-4.ddl tcompound_complex.h5 + call :tooltest tcomp-4.ddl --enable-error-stack tcompound_complex.h5 rem test for the nested compound type - call :tooltest tnestcomp-1.ddl tnestedcomp.h5 + call :tooltest tnestcomp-1.ddl --enable-error-stack 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 + call :tooltest tall-2.ddl --enable-error-stack --header -g /g1/g1.1 -a attr2 tall.h5 + call :tooltest tall-3.ddl --enable-error-stack -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 + call :tooltest tloop-1.ddl --enable-error-stack tloop.h5 rem test for string - call :tooltest tstr-1.ddl tstr.h5 - call :tooltest tstr-2.ddl tstr2.h5 + call :tooltest tstr-1.ddl --enable-error-stack tstr.h5 + call :tooltest tstr-2.ddl --enable-error-stack tstr2.h5 rem test for file created by Lib SAF team - call :tooltest tsaf.ddl tsaf.h5 + call :tooltest tsaf.ddl --enable-error-stack 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 + call :tooltest tvldtypes1.ddl --enable-error-stack tvldtypes1.h5 + call :tooltest tvldtypes2.ddl --enable-error-stack tvldtypes2.h5 + call :tooltest tvldtypes3.ddl --enable-error-stack tvldtypes3.h5 + call :tooltest tvldtypes4.ddl --enable-error-stack tvldtypes4.h5 + call :tooltest tvldtypes5.ddl --enable-error-stack tvldtypes5.h5 rem test for file with variable length string data - call :tooltest tvlstr.ddl tvlstr.h5 + call :tooltest tvlstr.ddl --enable-error-stack tvlstr.h5 rem test for files with array data - call :tooltest tarray1.ddl tarray1.h5 + call :tooltest tarray1.ddl --enable-error-stack tarray1.h5 call :tooltest tarray1_big.ddl -R tarray1_big.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 - call :tooltest tarray8.ddl tarray8.h5 + call :tooltest tarray2.ddl --enable-error-stack tarray2.h5 + call :tooltest tarray3.ddl --enable-error-stack tarray3.h5 + call :tooltest tarray4.ddl --enable-error-stack tarray4.h5 + call :tooltest tarray5.ddl --enable-error-stack tarray5.h5 + call :tooltest tarray6.ddl --enable-error-stack tarray6.h5 + call :tooltest tarray7.ddl --enable-error-stack tarray7.h5 + call :tooltest tarray8.ddl --enable-error-stack tarray8.h5 + + rem test for wildcards in filename (does not work with cmake) + call :tooltest3 tstarfile.ddl --enable-error-stack -H -d Dataset1 tarr*.h5 + call :tooltest3 tqmarkfile.ddl --enable-error-stack -H -d Dataset1 tarray?.h5 + call :tooltest tmultifile.ddl --enable-error-stack -H -d Dataset1 tarray2.h5 tarray3.h5 tarray4.h5 tarray5.h5 tarray6.h5 tarray7.h5 rem test for files with empty data - call :tooltest tempty.ddl tempty.h5 + call :tooltest tempty.ddl --enable-error-stack tempty.h5 rem test for files with groups that have comments - call :tooltest tgrp_comments.ddl tgrp_comments.h5 + call :tooltest tgrp_comments.ddl --enable-error-stack tgrp_comments.h5 rem test the --filedriver flag - call :tooltest tsplit_file.ddl --filedriver=split tsplit_file + call :tooltest tsplit_file.ddl --enable-error-stack --filedriver=split tsplit_file rem On Windows, we pass "PERCENT", and let other calls replace it with rem the "%". We cannot pass "%" directly because Windows interprets it as rem the name of the script. --SJW 8/24/07 - call :tooltest tfamily.ddl --filedriver=family tfamilyPERCENT05d.h5 - call :tooltest tmulti.ddl --filedriver=multi tmulti + call :tooltest tfamily.ddl --enable-error-stack --filedriver=family tfamilyPERCENT05d.h5 + call :tooltest tmulti.ddl --enable-error-stack --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 + call :tooltest tlarge_objname.ddl --enable-error-stack -w157 tlarge_objname.h5 rem test '-A' to suppress data but print attr's call :tooltest tall-2A.ddl -A tall.h5 @@ -403,116 +541,117 @@ rem ############################################################################ 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 + call :tooltest tall-4s.ddl --enable-error-stack --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 --enable-error-stack -d "/g1/g1.1/dset1.1.2[0;2;10;]" tall.h5 + call :tooltest tdset-3s.ddl --enable-error-stack -d "/dset1[1,1;;;]" tdset.h5 + call :tooltest tno-subset.ddl --no-compact-subset -d "AHFINDERDIRECT::ah_centroid_t[0] it=0 tl=0" tno-subset.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 + call :tooltest tchar1.ddl --enable-error-stack -r tchar.h5 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 + call :tooltest tboot1.ddl --enable-error-stack -H -B -d dset tfcontents1.h5 + call :tooltest tboot2.ddl --enable-error-stack -B tfcontents2.h5 rem test -p with a non existing dataset - call :tooltest tperror.ddl -p -d bogus tfcontents1.h5 + call :tooltest3 tperror.ddl --enable-error-stack -p -d bogus tfcontents1.h5 rem test for file contents - call :tooltest tcontents.ddl -n tfcontents1.h5 + call :tooltest tcontents.ddl --enable-error-stack -n tfcontents1.h5 rem tests for storage layout rem compact - call :tooltest tcompact.ddl -H -p -d compact tfilters.h5 + call :tooltest tcompact.ddl --enable-error-stack -H -p -d compact tfilters.h5 rem contiguous - call :tooltest tcontiguos.ddl -H -p -d contiguous tfilters.h5 + call :tooltest tcontiguos.ddl --enable-error-stack -H -p -d contiguous tfilters.h5 rem chunked - call :tooltest tchunked.ddl -H -p -d chunked tfilters.h5 + call :tooltest tchunked.ddl --enable-error-stack -H -p -d chunked tfilters.h5 rem external - call :tooltest texternal.ddl -H -p -d external tfilters.h5 + call :tooltest texternal.ddl --enable-error-stack -H -p -d external tfilters.h5 rem fill values - call :tooltest tfill.ddl -p tfvalues.h5 + call :tooltest tfill.ddl --enable-error-stack -p tfvalues.h5 rem several datatype, with references , print path - call :tooltest treference.ddl tattr2.h5 + call :tooltest treference.ddl --enable-error-stack tattr2.h5 rem escape/not escape non printable characters - call :tooltest tstringe.ddl -e tstr3.h5 - call :tooltest tstring.ddl tstr3.h5 + call :tooltest tstringe.ddl --enable-error-stack -e tstr3.h5 + call :tooltest tstring.ddl --enable-error-stack tstr3.h5 rem char data as ASCII with non escape - call :tooltest tstring2.ddl -r -d str4 tstr3.h5 + call :tooltest tstring2.ddl --enable-error-stack -r -d str4 tstr3.h5 rem array indices print/not print - call :tooltest tindicesyes.ddl taindices.h5 - call :tooltest tindicesno.ddl -y taindices.h5 + call :tooltest tindicesyes.ddl --enable-error-stack taindices.h5 + call :tooltest tindicesno.ddl --enable-error-stack -y taindices.h5 rem ######### array indices with subsetting rem 1D case - call :tooltest tindicessub1.ddl -d 1d -s 1 -S 10 -c 2 -k 3 taindices.h5 + call :tooltest tindicessub1.ddl --enable-error-stack -d 1d -s 1 -S 10 -c 2 -k 3 taindices.h5 rem 2D case - call :tooltest tindicessub2.ddl -d 2d -s 1,2 -S 3,3 -c 3,2 -k 2,2 taindices.h5 + call :tooltest tindicessub2.ddl --enable-error-stack -d 2d -s 1,2 -S 3,3 -c 3,2 -k 2,2 taindices.h5 rem 3D case - call :tooltest tindicessub3.ddl -d 3d -s 0,1,2 -S 1,3,3 -c 2,2,2 -k 1,2,2 taindices.h5 + call :tooltest tindicessub3.ddl --enable-error-stack -d 3d -s 0,1,2 -S 1,3,3 -c 2,2,2 -k 1,2,2 taindices.h5 rem 4D case - call :tooltest tindicessub4.ddl -d 4d -s 0,0,1,2 -c 2,2,3,2 -S 1,1,3,3 -k 1,1,2,2 taindices.h5 + call :tooltest tindicessub4.ddl --enable-error-stack -d 4d -s 0,0,1,2 -c 2,2,3,2 -S 1,1,3,3 -k 1,1,2,2 taindices.h5 + + rem Exceed the dimensions for subsetting + call :tooltest texceedsubstart.ddl --enable-error-stack -d 1d -s 1,3 taindices.h5 + call :tooltest texceedsubcount.ddl --enable-error-stack -d 1d -c 1,3 taindices.h5 + call :tooltest texceedsubstride.ddl --enable-error-stack -d 1d -S 1,3 taindices.h5 + call :tooltest texceedsubblock.ddl --enable-error-stack -d 1d -k 1,3 taindices.h5 rem tests for filters rem SZIP - set option=-H -p -d szip tfilters.h5 + set option=--enable-error-stack -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 + set option=--enable-error-stack -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 + set option=--enable-error-stack -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 + set option=--enable-error-stack -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 + set option=--enable-error-stack -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 + set option=--enable-error-stack -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 + set option=--enable-error-stack -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" ( @@ -531,48 +670,48 @@ rem ############################################################################ call :tooltest tallfilters.ddl %option% ) rem user defined - call :tooltest tuserfilter.ddl -H -p -d myfilter tfilters.h5 + call :tooltest tuserfilter.ddl --enable-error-stack -H -p -d myfilter tfilters.h5 rem test for displaying objects with very long names - call :tooltest tlonglinks.ddl tlonglinks.h5 + call :tooltest tlonglinks.ddl --enable-error-stack tlonglinks.h5 rem dimensions over 4GB, print boundary - call :tooltest tbigdims.ddl -d dset4gb -s 4294967284 -c 22 tbigdims.h5 + call :tooltest tbigdims.ddl --enable-error-stack -d dset4gb -s 4294967284 -c 22 tbigdims.h5 rem hyperslab read - call :tooltest thyperslab.ddl thyperslab.h5 + call :tooltest thyperslab.ddl --enable-error-stack thyperslab.h5 rem rem test for displaying dataset and attribute of null space - call :tooltest tnullspace.ddl tnullspace.h5 + call :tooltest tnullspace.ddl --enable-error-stack tnullspace.h5 rem test for long double (some systems do not have long double) - rem call :tooltest tldouble.ddl tldouble.h5 + rem call :tooltest tldouble.ddl --enable-error-stack tldouble.h5 rem test for vms - call :tooltest tvms.ddl tvms.h5 + call :tooltest tvms.ddl --enable-error-stack 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 :tooltest1 tbin1.ddl -d integer -o out1.bin -b LE tbinary.h5 + call :tooltest1 tbin1.ddl --enable-error-stack -d integer -o out1.bin -b LE tbinary.h5 rem NATIVE default. the NATIVE test can be validated with h5import/h5diff - call :tooltest1 tbin1.ddl -d integer -o out1.bin -b tbinary.h5 + call :tooltest1 tbin1.ddl --enable-error-stack -d integer -o out1.bin -b tbinary.h5 call :importtest out1.bin -c out3.h5import -o out1.h5 call :difftest tbinary.h5 out1.h5 /integer /integer - call :tooltest1 tbin2.ddl -b BE -d float -o out2.bin tbinary.h5 + call :tooltest1 tbin2.ddl --enable-error-stack -b BE -d float -o out2.bin tbinary.h5 rem the NATIVE test can be validated with h5import/h5diff - call :tooltest1 tbin3.ddl -d integer -o out3.bin -b NATIVE tbinary.h5 + call :tooltest1 tbin3.ddl --enable-error-stack -d integer -o out3.bin -b NATIVE tbinary.h5 call :importtest out3.bin -c out3.h5import -o out3.h5 call :difftest tbinary.h5 out3.h5 /integer /integer - call :tooltest1 tbin4.ddl -d double -o out4.bin -b FILE tbinary.h5 + call :tooltest1 tbin4.ddl --enable-error-stack -d double -o out4.bin -b FILE tbinary.h5 rem Clean up binary output files if not defined hdf5_nocleanup ( @@ -581,36 +720,42 @@ rem ############################################################################ ) rem test for dataset region references - call :tooltest tdatareg.ddl tdatareg.h5 + call :tooltest tdatareg.ddl --enable-error-stack tdatareg.h5 call :tooltest tdataregR.ddl -R tdatareg.h5 - call :tooltest tattrreg.ddl tattrreg.h5 + call :tooltest tattrreg.ddl --enable-error-stack tattrreg.h5 call :tooltest tattrregR.ddl -R tattrreg.h5 rem tests for group creation order rem "1" tracked, "2" name, root tracked - call :tooltest tordergr1.ddl --group=1 --sort_by=creation_order --sort_order=ascending tordergr.h5 - call :tooltest tordergr2.ddl --group=1 --sort_by=creation_order --sort_order=descending tordergr.h5 - call :tooltest tordergr3.ddl -g 2 -q name -z ascending tordergr.h5 - call :tooltest tordergr4.ddl -g 2 -q name -z descending tordergr.h5 - call :tooltest tordergr5.ddl -q creation_order tordergr.h5 + call :tooltest tordergr1.ddl --enable-error-stack --group=1 --sort_by=creation_order --sort_order=ascending tordergr.h5 + call :tooltest tordergr2.ddl --enable-error-stack --group=1 --sort_by=creation_order --sort_order=descending tordergr.h5 + call :tooltest tordergr3.ddl --enable-error-stack -g 2 -q name -z ascending tordergr.h5 + call :tooltest tordergr4.ddl --enable-error-stack -g 2 -q name -z descending tordergr.h5 + call :tooltest tordergr5.ddl --enable-error-stack -q creation_order tordergr.h5 rem tests for attribute order - call :tooltest torderattr1.ddl -H --sort_by=name --sort_order=ascending torderattr.h5 - call :tooltest torderattr2.ddl -H --sort_by=name --sort_order=descending torderattr.h5 - call :tooltest torderattr3.ddl -H --sort_by=creation_order --sort_order=ascending torderattr.h5 - call :tooltest torderattr4.ddl -H --sort_by=creation_order --sort_order=descending torderattr.h5 + call :tooltest torderattr1.ddl --enable-error-stack -H --sort_by=name --sort_order=ascending torderattr.h5 + call :tooltest torderattr2.ddl --enable-error-stack -H --sort_by=name --sort_order=descending torderattr.h5 + call :tooltest torderattr3.ddl --enable-error-stack -H --sort_by=creation_order --sort_order=ascending torderattr.h5 + call :tooltest torderattr4.ddl --enable-error-stack -H --sort_by=creation_order --sort_order=descending torderattr.h5 rem tests for floating point user defined printf format rem Note: Make sure to use PERCENT rather than "%", because Windows needs rem to handle it specially. --SJW 5/12/08 - call :tooltest tfpformat.ddl -m PERCENT.7f tfpformat.h5 + call :tooltest tfpformat.ddl --enable-error-stack -m PERCENT.7f tfpformat.h5 rem tests for traversal of external links - call :tooltest textlinksrc.ddl textlinksrc.h5 - call :tooltest textlinkfar.ddl textlinkfar.h5 + call :tooltest textlinksrc.ddl --enable-error-stack textlinksrc.h5 + call :tooltest textlinkfar.ddl --enable-error-stack textlinkfar.h5 rem test for dangling external links - call :tooltest textlink.ddl textlink.h5 + call :tooltest3 textlink.ddl --enable-error-stack textlink.h5 + + rem test for error stack display (BZ2048) + call :tooltest3 filter_fail.ddl --enable-error-stack filter_fail.h5 + + rem test for -o -y for dataset with attributes + call :tooltest tall-6.ddl --enable-error-stack -y -o data -d /g1/g1.1/dset1.1.1 tall.h5 rem test for dataset packed bits rem Set up xCMD to test or skip. @@ -623,72 +768,72 @@ rem ############################################################################ rem Normal operation on both signed and unsigned int datasets. rem Sanity check rem Their rawdata output should be the same. - call :tooltest tpbitsSignedWhole.ddl -d /DS08BITS -M 0,8 packedbits.h5 - call :tooltest tpbitsUnsignedWhole.ddl -d /DU08BITS -M 0,8 packedbits.h5 - call :tooltest tpbitsSignedIntWhole.ddl -d /DS16BITS -M 0,16 packedbits.h5 - call :tooltest tpbitsUnsignedIntWhole.ddl -d /DU16BITS -M 0,16 packedbits.h5 - call :tooltest tpbitsSignedLongWhole.ddl -d /DS32BITS -M 0,32 packedbits.h5 - call :tooltest tpbitsUnsignedLongWhole.ddl -d /DU32BITS -M 0,32 packedbits.h5 - call :tooltest tpbitsSignedLongLongWhole.ddl -d /DS64BITS -M 0,64 packedbits.h5 - call :tooltest tpbitsUnsignedLongLongWhole.ddl -d /DU64BITS -M 0,64 packedbits.h5 - call :tooltest tpbitsSignedLongLongWhole63.ddl -d /DS64BITS -M 0,63 packedbits.h5 - call :tooltest tpbitsUnsignedLongLongWhole63.ddl -d /DU64BITS -M 0,63 packedbits.h5 - call :tooltest tpbitsSignedLongLongWhole1.ddl -d /DS64BITS -M 1,63 packedbits.h5 - call :tooltest tpbitsUnsignedLongLongWhole1.ddl -d /DU64BITS -M 1,63 packedbits.h5 + call :tooltest tpbitsSignedWhole.ddl --enable-error-stack -d /DS08BITS -M 0,8 packedbits.h5 + call :tooltest tpbitsUnsignedWhole.ddl --enable-error-stack -d /DU08BITS -M 0,8 packedbits.h5 + call :tooltest tpbitsSignedIntWhole.ddl --enable-error-stack -d /DS16BITS -M 0,16 packedbits.h5 + call :tooltest tpbitsUnsignedIntWhole.ddl --enable-error-stack -d /DU16BITS -M 0,16 packedbits.h5 + call :tooltest tpbitsSignedLongWhole.ddl --enable-error-stack -d /DS32BITS -M 0,32 packedbits.h5 + call :tooltest tpbitsUnsignedLongWhole.ddl --enable-error-stack -d /DU32BITS -M 0,32 packedbits.h5 + call :tooltest tpbitsSignedLongLongWhole.ddl --enable-error-stack -d /DS64BITS -M 0,64 packedbits.h5 + call :tooltest tpbitsUnsignedLongLongWhole.ddl --enable-error-stack -d /DU64BITS -M 0,64 packedbits.h5 + call :tooltest tpbitsSignedLongLongWhole63.ddl --enable-error-stack -d /DS64BITS -M 0,63 packedbits.h5 + call :tooltest tpbitsUnsignedLongLongWhole63.ddl --enable-error-stack -d /DU64BITS -M 0,63 packedbits.h5 + call :tooltest tpbitsSignedLongLongWhole1.ddl --enable-error-stack -d /DS64BITS -M 1,63 packedbits.h5 + call :tooltest tpbitsUnsignedLongLongWhole1.ddl --enable-error-stack -d /DU64BITS -M 1,63 packedbits.h5 rem Half sections - call :tooltest tpbitsSigned4.ddl -d /DS08BITS -M 0,4,4,4 packedbits.h5 - call :tooltest tpbitsUnsigned4.ddl -d /DU08BITS -M 0,4,4,4 packedbits.h5 - call :tooltest tpbitsSignedInt8.ddl -d /DS16BITS -M 0,8,8,8 packedbits.h5 - call :tooltest tpbitsUnsignedInt8.ddl -d /DU16BITS -M 0,8,8,8 packedbits.h5 - call :tooltest tpbitsSignedLong16.ddl -d /DS32BITS -M 0,16,16,16 packedbits.h5 - call :tooltest tpbitsUnsignedLong16.ddl -d /DU32BITS -M 0,16,16,16 packedbits.h5 - call :tooltest tpbitsSignedLongLong32.ddl -d /DS64BITS -M 0,32,32,32 packedbits.h5 - call :tooltest tpbitsUnsignedLongLong32.ddl -d /DU64BITS -M 0,32,32,32 packedbits.h5 + call :tooltest tpbitsSigned4.ddl --enable-error-stack -d /DS08BITS -M 0,4,4,4 packedbits.h5 + call :tooltest tpbitsUnsigned4.ddl --enable-error-stack -d /DU08BITS -M 0,4,4,4 packedbits.h5 + call :tooltest tpbitsSignedInt8.ddl --enable-error-stack -d /DS16BITS -M 0,8,8,8 packedbits.h5 + call :tooltest tpbitsUnsignedInt8.ddl --enable-error-stack -d /DU16BITS -M 0,8,8,8 packedbits.h5 + call :tooltest tpbitsSignedLong16.ddl --enable-error-stack -d /DS32BITS -M 0,16,16,16 packedbits.h5 + call :tooltest tpbitsUnsignedLong16.ddl --enable-error-stack -d /DU32BITS -M 0,16,16,16 packedbits.h5 + call :tooltest tpbitsSignedLongLong32.ddl --enable-error-stack -d /DS64BITS -M 0,32,32,32 packedbits.h5 + call :tooltest tpbitsUnsignedLongLong32.ddl --enable-error-stack -d /DU64BITS -M 0,32,32,32 packedbits.h5 rem Quarter sections - call :tooltest tpbitsSigned2.ddl -d /DS08BITS -M 0,2,2,2,4,2,6,2 packedbits.h5 - call :tooltest tpbitsUnsigned2.ddl -d /DU08BITS -M 0,2,2,2,4,2,6,2 packedbits.h5 - call :tooltest tpbitsSignedInt4.ddl -d /DS16BITS -M 0,4,4,4,8,4,12,4 packedbits.h5 - call :tooltest tpbitsUnsignedInt4.ddl -d /DU16BITS -M 0,4,4,4,8,4,12,4 packedbits.h5 - call :tooltest tpbitsSignedLong8.ddl -d /DS32BITS -M 0,8,8,8,16,8,24,8 packedbits.h5 - call :tooltest tpbitsUnsignedLong8.ddl -d /DU32BITS -M 0,8,8,8,16,8,24,8 packedbits.h5 - call :tooltest tpbitsSignedLongLong16.ddl -d /DS64BITS -M 0,16,16,16,32,16,48,16 packedbits.h5 - call :tooltest tpbitsUnsignedLongLong16.ddl -d /DU64BITS -M 0,16,16,16,32,16,48,16 packedbits.h5 + call :tooltest tpbitsSigned2.ddl --enable-error-stack -d /DS08BITS -M 0,2,2,2,4,2,6,2 packedbits.h5 + call :tooltest tpbitsUnsigned2.ddl --enable-error-stack -d /DU08BITS -M 0,2,2,2,4,2,6,2 packedbits.h5 + call :tooltest tpbitsSignedInt4.ddl --enable-error-stack -d /DS16BITS -M 0,4,4,4,8,4,12,4 packedbits.h5 + call :tooltest tpbitsUnsignedInt4.ddl --enable-error-stack -d /DU16BITS -M 0,4,4,4,8,4,12,4 packedbits.h5 + call :tooltest tpbitsSignedLong8.ddl --enable-error-stack -d /DS32BITS -M 0,8,8,8,16,8,24,8 packedbits.h5 + call :tooltest tpbitsUnsignedLong8.ddl --enable-error-stack -d /DU32BITS -M 0,8,8,8,16,8,24,8 packedbits.h5 + call :tooltest tpbitsSignedLongLong16.ddl --enable-error-stack -d /DS64BITS -M 0,16,16,16,32,16,48,16 packedbits.h5 + call :tooltest tpbitsUnsignedLongLong16.ddl --enable-error-stack -d /DU64BITS -M 0,16,16,16,32,16,48,16 packedbits.h5 rem Begin and End - call :tooltest tpbitsSigned.ddl -d /DS08BITS -M 0,2,2,6 packedbits.h5 - call :tooltest tpbitsUnsigned.ddl -d /DU08BITS -M 0,2,2,6 packedbits.h5 - call :tooltest tpbitsSignedInt.ddl -d /DS16BITS -M 0,2,10,6 packedbits.h5 - call :tooltest tpbitsUnsignedInt.ddl -d /DU16BITS -M 0,2,10,6 packedbits.h5 - call :tooltest tpbitsSignedLong.ddl -d /DS32BITS -M 0,2,26,6 packedbits.h5 - call :tooltest tpbitsUnsignedLong.ddl -d /DU32BITS -M 0,2,26,6 packedbits.h5 - call :tooltest tpbitsSignedLongLong.ddl -d /DS64BITS -M 0,2,58,6 packedbits.h5 - call :tooltest tpbitsUnsignedLongLong.ddl -d /DU64BITS -M 0,2,58,6 packedbits.h5 + call :tooltest tpbitsSigned.ddl --enable-error-stack -d /DS08BITS -M 0,2,2,6 packedbits.h5 + call :tooltest tpbitsUnsigned.ddl --enable-error-stack -d /DU08BITS -M 0,2,2,6 packedbits.h5 + call :tooltest tpbitsSignedInt.ddl --enable-error-stack -d /DS16BITS -M 0,2,10,6 packedbits.h5 + call :tooltest tpbitsUnsignedInt.ddl --enable-error-stack -d /DU16BITS -M 0,2,10,6 packedbits.h5 + call :tooltest tpbitsSignedLong.ddl --enable-error-stack -d /DS32BITS -M 0,2,26,6 packedbits.h5 + call :tooltest tpbitsUnsignedLong.ddl --enable-error-stack -d /DU32BITS -M 0,2,26,6 packedbits.h5 + call :tooltest tpbitsSignedLongLong.ddl --enable-error-stack -d /DS64BITS -M 0,2,58,6 packedbits.h5 + call :tooltest tpbitsUnsignedLongLong.ddl --enable-error-stack -d /DU64BITS -M 0,2,58,6 packedbits.h5 rem Overlapped packed bits. - call :tooltest tpbitsOverlapped.ddl -d /DS08BITS -M 0,1,1,1,2,1,0,3 packedbits.h5 + call :tooltest tpbitsOverlapped.ddl --enable-error-stack -d /DS08BITS -M 0,1,1,1,2,1,0,3 packedbits.h5 rem Maximum number of packed bits. - call :tooltest tpbitsMax.ddl -d /DS08BITS -M 0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5 + call :tooltest tpbitsMax.ddl --enable-error-stack -d /DS08BITS -M 0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5 rem Compound type. - call :tooltest tpbitsCompound.ddl -d /dset1 -M 0,1,1,1 tcompound.h5 + call :tooltest tpbitsCompound.ddl --enable-error-stack -d /dset1 -M 0,1,1,1 tcompound.h5 rem Array type. - call :tooltest tpbitsArray.ddl -d /Dataset1 -M 0,1,1,1 tarray1.h5 + call :tooltest tpbitsArray.ddl --enable-error-stack -d /Dataset1 -M 0,1,1,1 tarray1.h5 rem Test Error handling. rem Too many packed bits requested. Max is 8 for now. - call :tooltest tpbitsMaxExceeded.ddl -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5 + call :tooltest tpbitsMaxExceeded.ddl --enable-error-stack -d /DS08BITS -M 0,1,0,1,1,1,2,1,3,1,4,1,5,1,6,1,7,1 packedbits.h5 rem Offset too large. Max is 7 (8-1) for now. - call :tooltest tpbitsOffsetExceeded.ddl -d /DS08BITS -M 64,1 packedbits.h5 - call :tooltest tpbitsCharOffsetExceeded.ddl -d /DS08BITS -M 8,1 packedbits.h5 - call :tooltest tpbitsIntOffsetExceeded.ddl -d /DS16BITS -M 16,1 packedbits.h5 - call :tooltest tpbitsLongOffsetExceeded.ddl -d /DS32BITS -M 32,1 packedbits.h5 + call :tooltest tpbitsOffsetExceeded.ddl --enable-error-stack -d /DS08BITS -M 64,1 packedbits.h5 + call :tooltest tpbitsCharOffsetExceeded.ddl --enable-error-stack -d /DS08BITS -M 8,1 packedbits.h5 + call :tooltest tpbitsIntOffsetExceeded.ddl --enable-error-stack -d /DS16BITS -M 16,1 packedbits.h5 + call :tooltest tpbitsLongOffsetExceeded.ddl --enable-error-stack -d /DS32BITS -M 32,1 packedbits.h5 rem Bad offset, must not be negative. - call :tooltest tpbitsOffsetNegative.ddl -d /DS08BITS -M -1,1 packedbits.h5 + call :tooltest tpbitsOffsetNegative.ddl --enable-error-stack -d /DS08BITS -M -1,1 packedbits.h5 rem Bad length, must not be positive. - call :tooltest tpbitsLengthPositive.ddl -d /DS08BITS -M 4,0 packedbits.h5 + call :tooltest tpbitsLengthPositive.ddl --enable-error-stack -d /DS08BITS -M 4,0 packedbits.h5 rem Offset+Length is too large. Max is 8 for now. - call :tooltest tpbitsLengthExceeded.ddl -d /DS08BITS -M 37,28 packedbits.h5 - call :tooltest tpbitsCharLengthExceeded.ddl -d /DS08BITS -M 2,7 packedbits.h5 - call :tooltest tpbitsIntLengthExceeded.ddl -d /DS16BITS -M 10,7 packedbits.h5 - call :tooltest tpbitsLongLengthExceeded.ddl -d /DS32BITS -M 26,7 packedbits.h5 + call :tooltest tpbitsLengthExceeded.ddl --enable-error-stack -d /DS08BITS -M 37,28 packedbits.h5 + call :tooltest tpbitsCharLengthExceeded.ddl --enable-error-stack -d /DS08BITS -M 2,7 packedbits.h5 + call :tooltest tpbitsIntLengthExceeded.ddl --enable-error-stack -d /DS16BITS -M 10,7 packedbits.h5 + call :tooltest tpbitsLongLengthExceeded.ddl --enable-error-stack -d /DS32BITS -M 26,7 packedbits.h5 rem Incomplete pair of packed bits request. - call :tooltest tpbitsIncomplete.ddl -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5 + call :tooltest tpbitsIncomplete.ddl --enable-error-stack -d /DS08BITS -M 0,2,2,1,0,2,2, packedbits.h5 if %nerrors% equ 0 ( echo.All %dumper% tests passed. -- cgit v0.12