summaryrefslogtreecommitdiffstats
path: root/windows/tools/h5dump/testh5dumpxml.bat
diff options
context:
space:
mode:
Diffstat (limited to 'windows/tools/h5dump/testh5dumpxml.bat')
-rw-r--r--windows/tools/h5dump/testh5dumpxml.bat207
1 files changed, 207 insertions, 0 deletions
diff --git a/windows/tools/h5dump/testh5dumpxml.bat b/windows/tools/h5dump/testh5dumpxml.bat
new file mode 100644
index 0000000..1cfde06
--- /dev/null
+++ b/windows/tools/h5dump/testh5dumpxml.bat
@@ -0,0 +1,207 @@
+@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 h5dump tool
+rem
+rem Created: Scott Wegner, 8/27/07
+rem Modified:
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem set h5_lone_colon=%h5_lone_colon%
+
+rem The tool name
+set dumper=h5dump%2
+rem The path of the tool library
+set dumper_bin=%CD%\..\%dumper%\%1\%dumper%
+
+set nerrors=0
+set verbose=yes
+
+if not exist ..\testfiles mkdir ..\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
+ ) )
+ )
+ set test_msg=!test_msg!
+ 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 and (if $verbose is set) display the
+rem difference between the actual output and the expected output. The
+rem expected output is given as the first argument to this function and
+rem the actual output file is calculated by replacing the `.ddl' with
+rem `.out'. The actual output is not removed if HDF5_NOCLEANUP has a
+rem non-zero value.
+rem
+:tooltest
+ set expect=%CD%\..\testfiles\%1
+ set actual=%CD%\..\testfiles\%~n1.out
+ set actual_err=%CD%\..\testfiles\%~n1.err
+
+ rem We define %params% here because Windows `shift` command doesn't affect
+ rem the %* variable. --SJW 8/23/07
+ set params=%*
+ set params=%params:* =%
+
+ rem Run test.
+
+ (
+ rem Remove quotes here, because Linux 'echo' command strips them.
+ rem --SJW 8/24/07
+ echo.#############################
+ echo.Expected output for 'h5dump !params:"=!'
+ echo.#############################
+ pushd %CD%\..\testfiles
+ %dumper_bin% !params!
+ popd
+ ) > %actual% 2> %actual_err%
+ type %actual_err% >> %actual%
+
+ if not exist %expect% (
+ call :testing CREATED %params%
+ copy %actual% %expect% > nul
+ ) else (
+ fc /w %expect% %actual% | find "FC: no diff" > 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%
+ )
+ )
+
+ 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- %*
+ exit /b
+
+
+rem ############################################################################
+rem ############################################################################
+rem # T H E T E S T S ###
+rem ############################################################################
+rem ############################################################################
+:main
+
+ rem test XML
+ call :tooltest tall.h5.xml --xml tall.h5
+ call :tooltest tattr.h5.xml --xml tattr.h5
+ call :tooltest tbitfields.h5.xml --xml tbitfields.h5
+ call :tooltest tcompound.h5.xml --xml tcompound.h5
+ call :tooltest tcompound2.h5.xml --xml tcompound2.h5
+ call :tooltest tdatareg.h5.xml --xml tdatareg.h5
+ call :tooltest tdset.h5.xml --xml tdset.h5
+ call :tooltest tdset2.h5.xml --xml tdset2.h5
+ call :tooltest tenum.h5.xml --xml tenum.h5
+ call :tooltest tgroup.h5.xml --xml tgroup.h5
+ call :tooltest thlink.h5.xml --xml thlink.h5
+ call :tooltest tloop.h5.xml --xml tloop.h5
+ call :tooltest tloop2.h5.xml --xml tloop2.h5
+ call :tooltest tmany.h5.xml --xml tmany.h5
+ call :tooltest tnestedcomp.h5.xml --xml tnestedcomp.h5
+ call :tooltest tcompound_complex.h5.xml --xml tcompound_complex.h5
+ call :tooltest tobjref.h5.xml --xml tobjref.h5
+ call :tooltest topaque.h5.xml --xml topaque.h5
+ call :tooltest tslink.h5.xml --xml tslink.h5
+ call :tooltest tudlink.h5.xml --xml tudlink.h5
+ call :tooltest textlink.h5.xml --xml textlink.h5
+ call :tooltest tstr.h5.xml --xml tstr.h5
+ call :tooltest tstr2.h5.xml --xml tstr2.h5
+ call :tooltest tref.h5.xml --xml tref.h5
+ call :tooltest tname-amp.h5.xml --xml tname-amp.h5
+ call :tooltest tname-apos.h5.xml --xml tname-apos.h5
+ call :tooltest tname-gt.h5.xml --xml tname-gt.h5
+ call :tooltest tname-lt.h5.xml --xml tname-lt.h5
+ call :tooltest tname-quot.h5.xml --xml tname-quot.h5
+ call :tooltest tname-sp.h5.xml --xml tname-sp.h5
+ call :tooltest tstring.h5.xml --xml tstring.h5
+ call :tooltest tstring-at.h5.xml --xml tstring-at.h5
+ call :tooltest tref-escapes.h5.xml --xml tref-escapes.h5
+ call :tooltest tref-escapes-at.h5.xml --xml tref-escapes-at.h5
+ call :tooltest tnodata.h5.xml --xml tnodata.h5
+ call :tooltest tarray1.h5.xml --xml tarray1.h5
+ call :tooltest tarray2.h5.xml --xml tarray2.h5
+ call :tooltest tarray3.h5.xml --xml tarray3.h5
+ call :tooltest tarray6.h5.xml --xml tarray6.h5
+ call :tooltest tarray7.h5.xml --xml tarray7.h5
+ call :tooltest tvldtypes1.h5.xml --xml tvldtypes1.h5
+ call :tooltest tvldtypes2.h5.xml --xml tvldtypes2.h5
+ call :tooltest tvldtypes3.h5.xml --xml tvldtypes3.h5
+ call :tooltest tvldtypes4.h5.xml --xml tvldtypes4.h5
+ call :tooltest tvldtypes5.h5.xml --xml tvldtypes5.h5
+ call :tooltest tvlstr.h5.xml --xml tvlstr.h5
+ call :tooltest tsaf.h5.xml --xml tsaf.h5
+ call :tooltest tempty.h5.xml --xml tempty.h5
+ call :tooltest tnamed_dtype_attr.h5.xml --xml tnamed_dtype_attr.h5
+ rem Test dataset and attribute of null space. Commented out:
+ rem wait until the XML schema is updated for null space.
+ rem call :tooltest tnullspace.h5.xml --xml tnulspace.h5
+
+ rem other options for xml
+
+ call :tooltest tempty-dtd.h5.xml --xml --use-dtd tempty.h5
+ call :tooltest tempty-dtd-2.h5.xml --xml -u tempty.h5
+
+ rem The lone colon here confuses some systems (Cray X1). Skip
+ rem it if configure detects that this is a problem.
+ if not "X$H5_LONE_COLON"=="Xno" (
+ call :tooltest tempty-nons.h5.xml --xml -X ":" tempty.h5
+ ) else (
+ call :skip tempty-nons.h5.xml --xml -X ":" tempty.h5
+ )
+
+ call :tooltest tempty-nons-2.h5.xml --xml --xml-ns=":" tempty.h5
+
+ rem Some of these combinations are syntactically correct but
+ rem the URLs are dummies
+ call :tooltest tempty-ns.h5.xml --xml -X "thing:" tempty.h5
+ call :tooltest tempty-ns-2.h5.xml --xml --xml-ns="thing:" tempty.h5
+ call :tooltest tempty-nons-uri.h5.xml --xml --xml-ns=":" --xml-dtd="http://somewhere.net" tempty.h5
+ call :tooltest tempty-dtd-uri.h5.xml --xml --use-dtd --xml-dtd="http://somewhere.net" tempty.h5
+
+ call :tooltest tall-2A.h5.xml --xml -A tall.h5
+
+
+ if %nerrors% equ 0 (
+ echo.All %dumper% tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+ \ No newline at end of file