diff options
Diffstat (limited to 'windows/tools')
23 files changed, 3716 insertions, 3018 deletions
diff --git a/windows/tools/checktools.bat b/windows/tools/checktools.bat new file mode 100644 index 0000000..f5a5b82 --- /dev/null +++ b/windows/tools/checktools.bat @@ -0,0 +1,152 @@ +@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 hdf5 tools
+rem
+rem Created: Scott Wegner, 9/4/07
+rem Modified: Scott Wegner, 9/6/07
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem Clean any variables starting with "HDF5_TOOL_", as we use these for our
+rem tests. Also clear "HDF5_TOOL_TESTS", as we will be addding all of our tests
+rem to this variable.
+rem Set at least one variable in set beforehand to avoid error message.
+rem --SJW 9/5/07
+set hdf5_tool_=foo
+for /f "tokens=1 delims==" %%a in ('set hdf5_tool_') do set %%a=
+set hdf5_tool_tests=
+
+goto main
+
+
+rem Function to add a test to the test suite.
+rem Expects the following parameters:
+rem %1 - Name of the tool being tested
+rem %2 - Relative path of script
+:add_test
+
+ set hdf5_tool_tests=%hdf5_tool_tests% %1
+ set hdf5_tool_%1_test=%CD%\%2\%1
+
+ exit /b
+
+
+rem Run all of the tests that have been added to the suite. Print a header
+rem at the beginning of each one. Short-circuit if a test fails.
+rem Expects the following parameters:
+rem %1 - release or debug version
+rem %2 - "dll" or nothing
+:run_tests
+ for %%a in (%hdf5_tool_tests%) do (
+ echo.
+ echo.************************************
+ echo. Testing %%a ^(%1 %2^)
+ echo.************************************
+
+ rem Only add our parameters for batch scripts.
+ call !hdf5_tool_%%a_test:.bat= %1 %2!
+ rem Exit early if test fails.
+ if !errorlevel! neq 0 exit /b
+ )
+
+ rem If we get here, that means all of our tests passed.
+ echo.All tool tests passed.
+
+ exit /b
+
+
+rem This is where we add tests to the suite, and run them all at the end.
+rem Make sure only to run dll versions of tests you build dll for.
+rem Also make sure to add *.bat to batch scripts, as the above functions rely
+rem on it for sending parameters. --SJW 9/6/07
+:main
+
+ rem lib tests
+ call :add_test talign%2 talign%2\%1
+
+ rem h5dump tests
+ rem Test commented because it produces output in the wrong directory.
+ rem --SJW 9/5/07
+ rem if not "%2"=="dll" (
+ rem call :add_test h5dumptst .\testfiles\h5dumptst\%1
+ rem )
+ call :add_test testh5dump.bat .\h5dump
+ call :add_test testh5dumpxml.bat .\h5dump
+
+ rem h5diff tests
+ rem Test commented because it produces output in the wrong directory.
+ rem --SJW 9/5/07
+ rem if not "%2"=="dll" (
+ rem call :add_test h5difftst .\testfiles\h5difftst\%1
+ rem )
+ call :add_test testh5diff.bat .\h5diff
+
+ rem h5ls tests
+ call :add_test testh5ls.bat .\h5ls
+
+ rem misc tests
+ rem Test commented because we don't built it on Windows
+ rem --SJW 9/5/07
+ rem call :add_test h5stat_gentest .\testfiles\h5stat_gentest%2\%1
+ call :add_test testh5repart.bat .\h5repart
+ if not "%2"=="dll" (
+ call :add_test testh5mkgrp.bat .\h5mkgrp
+ )
+
+ rem h5import tests
+ rem Test commented because it produces output in the wrong directory.
+ rem --SJW 9/5/07
+ rem if not "%2"=="dll" (
+ rem call :add_test h5importtest .\testfiles\h5importtest\%1
+ rem )
+ call :add_test h5importtestutil.bat .\h5import
+
+ rem h5repack tests
+ call :add_test h5repack.bat .\h5repack
+ if not "%2"=="dll" (
+ call :add_test h5repacktst .\testfiles\h5repacktst\%1
+ )
+
+ rem h5jam tests
+ if not "%2"=="dll" (
+ call :add_test testh5jam.bat .\h5jam
+ )
+
+ rem h5copy tests
+ rem Test commented because we don't built it on Windows
+ rem --SJW 9/5/07
+ rem call :add_test h5stat_gentest .\testfiles\h5stat_gentest%2\%1
+ if not "%2"=="dll" (
+ call :add_test testh5copy.bat .\h5copy
+ )
+
+ rem h5stat tests
+ rem Test commented because it produces output in the wrong directory.
+ rem --SJW 9/5/07
+ rem if not "%2"=="dll" (
+ rem call :add_test h5repart_gentest .\testfiles\h5repart_gentest\%1
+ rem )
+ call :add_test testh5stat.bat .\h5stat
+
+
+ rem Run the tests, passing in which version to run
+ call :run_tests %*
+
+ popd
+ endlocal & exit /b
+
\ No newline at end of file diff --git a/windows/tools/copytest.BAT b/windows/tools/copytest.BAT deleted file mode 100644 index 2315456..0000000 --- a/windows/tools/copytest.BAT +++ /dev/null @@ -1,194 +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 is for h5repack tests
-::Usage
-:: copytest release -- release static version
-:: copytest debug -- debug static version
-:: copytest release dll -- release dll version
-:: copytest debug dll -- debug dll version
-:: Written By: MUQUN YANG
-:: Date : Oct. 19, 2006
-
-::What is actually doing?
-::Example case
-::h5copy -i ..\..\testfiles\test1.h5 -o ..\..\temptest\out.test1.h5
-::h5diff ..\..\testfiles\test1.h5 ..\..\temptest\out.test1.h5 > ..\..\temptest\temp.txt 2>&1
-::fc ..\..\temptest\temp.txt temptest\notcomp.txt
-::if %ERRORLEVEL%==0 (
-:: echo Testing h5copy test1.h5 PASSED >> ..\..\copytest%2_%1.txt
-::) else (
-:: echo Testing h5copy test1.h5 FAILED >> ..\..\copytest%2_%1.txt
-:: more temp.txt >> ..\..\copytest%2_%1.txt
-::)
-
-
-
-
-
-:: Track total number of testing errors
- set /A totalerr=0
- set /A totalskip=0
-
-::*******************************************************************
-:: Generate a new temp directory for test h5copy and reference file
-::*******************************************************************
- ::Make a temporary directory for testing h5copy
- mkdir temptest
-
- :: Reference Files
- :: After running h5copy with a input .h5 file, it will use
- :: h5diff to compare the expected .h5 file with the output
- :: .h5 file generated by h5copy. The comparison results will be
- :: one of the following two cases.
-
- :: Case 1: No difference between the expected .h5 and .h5 generated by h5copy file
- type nul > temptest\empty.txt
-
- ::Case 2: For test1.h5 and test2.h5, the output will be "Some objects
- :: are not comparable", but actually there is no difference between
-
- type nul > temptest\notcomp.txt
- echo -------------------------------->>temptest\notcomp.txt
- echo Some objects are not comparable>> temptest\notcomp.txt
- echo -------------------------------->>temptest\notcomp.txt
- echo Use -v for a list of objects.>> temptest\notcomp.txt
-
- :: Set two variables to contain the following two file names and paths
- set nodiff=..\..\temptest\empty.txt
- set notcomp=..\..\temptest\notcomp.txt
-
-::****************************************************
-:: Set the Environment Variables & Change Dir to .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
-
- :: Set file name for the test results
- set tempResults=copytest%2_%1.txt
- :: Set exe file name
- set exefile=h5copy%p2%
- :: Set a variable for the sub batch file tools\tooltest.bat
- set tooltest=..\..\tooltest
-
-
- set test0=..\..\testfiles\h5copytst.h5
- set output0=..\..\testfiles\out.h5copytst.h5
- :: Creat the file for saving the tests results
- type nul > %tempResults%
-
- :: Change to the direcotory where the .exe file is located
- cd h5copy%p2%\%p1%
-
-::*********************************************
-:: Test each function by calling TOOLTEST.BAT
-::*********************************************
-
-echo.
-echo.****************************************************
-echo. h5copy%2 %1 T E S T S
-echo.****************************************************
-
-::Basic Usage:
-::1. Set flag
-::2. Call batch file tooltest.bat followed with the expected file name
-::3. Example
-::If we want to test
-::h5copy -i ..\..\testfiles\test1.h5 -o ..\..\temptest\out.test1.h5
-::At first, we need to set the flag like
-::set flag=-i %test1% -o %output1%
-::Secondly, we call batch file tooltest.bat followed by one of reference files
-::call %tooltest% %test1% %notcomp%
-
-
-::--------------
-:: case1: simple
-::--------------v
-set flag=-i %test0% -o %output0% -v -s simple -d simple
-call %tooltest% %test0% %nodiff%
-
-
-::--------------
-:: case2: chunk
-::--------------
-set flag=-i %test0% -o %output0% -v -s chunk -d chunk
-call %tooltest% %test0% %nodiff%
-
-::--------------
-:: case3: compact
-::--------------
-set flag=-i %test0% -o %output0% -v -s compact -d compact
-call %tooltest% %test0% %nodiff%
-
-::--------------
-:: case4: compound
-::--------------
-set flag=-i %test0% -o %output0% -v -s compound -d compound
-call %tooltest% %test0% %nodiff%
-
-
-::--------------
-:: case4: compressed
-::--------------
-set flag=-i %test0% -o %output0% -v -s compressed -d compressed
-call %tooltest% %test0% %nodiff%
-
-::--------------
-:: case5: named_vl
-::--------------
-set flag=-i %test0% -o %output0% -v -s named_vl -d named_vl
-call %tooltest% %test0% %nodiff%
-
-::--------------
-:: case6: nested_vl
-::--------------
-set flag=-i %test0% -o %output0% -v -s nested_vl -d nested_vl
-call %tooltest% %test0% %nodiff%
-
-
-cd ..\..
-
-echo.
-::Tests how many tests failed and how many tests skiped
-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
-)
-
-:: remove direcotory temptest and all its contents
-rmdir /s/q temptest
-
-:: Clean environment variables
-
-for %%v in (p1 p2 tempResults exefile tooltest nodiff notcomp totalerr totalskip) do set %%v=
-for %%v in (0 1 2 3 4 5 _szip _deflate _shuffle _fletcher32 _nbit _scaleoffset _all) do (
-set test%%v=
-set output%%v=
-)
-
-
diff --git a/windows/tools/difftest.BAT b/windows/tools/difftest.BAT deleted file mode 100755 index fc42472..0000000 --- a/windows/tools/difftest.BAT +++ /dev/null @@ -1,477 +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 is for h5diff tests.
-::Usage
-:: difftest release -- release static version
-:: difftest debug -- debug static version
-:: difftest release dll -- release dll version
-:: difftest debug dll -- debug dll version
-:: Written By: Fang GUO
-:: Date : Jan. 12, 2006
-
-:: Track total number of testing errors
- set /A totalerr=0
- set /A totalskip=0
-
-::**********************************************
-:: Generate a new temp directory for test h5diff
-::**********************************************
-
-:: Make a tempory directory for difftest
- mkdir temptest
-
-::****************************************************
-:: Set the Environment Variables & Change Dir to .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
-
- :: Set up some variables for convenience
- :: tempResults will contain the tests results temporarily
- set tempResults=difftest%p2%_%p1%.txt
- :: exefile will contain the file name of the executable file
- set exefile=h5diff%p2%
- :: tooltest is the sub-batch file which will be called by tool test
- set tooltest=..\..\tooltest
- ::Handle the expected file and the actual output file
- ::ln is the total line numbers to be deleted from the actual output
- set ln=1
- ::ln_exp is the total line numbers to be deleted from the expected output
- set ln_exp=4
-
- :: NOTE1
- ::Set some variables to contain .h5 file and its path for convenience
- ::When you add new h5diff tests, check if the .h5 files is inside this for loop.
- ::For example, if you will add a new h5diff test using hdf5\tools\testfiles\file9.h5
- ::You need to add "9" after 8 or somewhere inside the ()
- ::The testing file names have been renamed. The following lines are not valid.
- :: for %%v in (1 2 3 4 5 6 7 8) do set file%%v=..\..\testfiles\file%%v.h5
- set file1=..\..\testfiles\h5diff_basic1.h5
- set file2=..\..\testfiles\h5diff_basic2.h5
- set file3=..\..\testfiles\h5diff_types.h5
- set file4=..\..\testfiles\h5diff_dtypes.h5
- set file5=..\..\testfiles\h5diff_attr1.h5
- set file6=..\..\testfiles\h5diff_attr2.h5
- set file7=..\..\testfiles\h5diff_dset1.h5
- set file8=..\..\testfiles\h5diff_dset2.h5
- set file9=..\..\testfiles\h5diff_hyper1.h5
- set file10=..\..\testfiles\h5diff_hyper2.h5
- ::Create the file to contain the tests output
- type nul > %tempResults%
-
- ::Change directory to the directory where the .exe file is located
- cd h5diff%p2%\%p1%
-
-::*********************************************
-:: Test each function by calling TOOLTEST.BAT
-::*********************************************
-::USAGE of difftest.bat
-::1. Set flag
-::2. Call batch file tooltest.bat followed with the expected file name
-::3. Example
-::If we want to test h5diff ..\..\testfiles\file1.h5 ..\..\testfiles\file2.h5 g1/dset1 g1/dset2
-::At first, we need to set the flag like
-::set flag=%file1% %file2% g1/dset1 g1/dset2
-::Secondly, we call batch file tooltest.bat by
-::call %tooltest% h5diff_12.txt
-
-echo.
-echo.****************************************************
-echo. H5diff%2 %1 T E S T S
-echo.****************************************************
-
-::--------------
-::Common usage
-::--------------
-
-::1.0
-set flag=-h
-call %tooltest% h5diff_10.txt
-
-::1.1 normal mode
-set flag=%file1% %file2%
-call %tooltest% h5diff_11.txt
-
-::1.2 normal mode with objects
-set flag=%file1% %file2% g1/dset1 g1/dset2
-call %tooltest% h5diff_12.txt
-
-::1.3 report mode
-set flag=%file1% %file2% -r
-call %tooltest% h5diff_13.txt
-
-::1.4 report mode with objects
-set flag=%file1% %file2% -r g1/dset1 g1/dset2
-call %tooltest% h5diff_14.txt
-
-::1.5 with -d
-set flag=%file1% %file2% -r -d 5 g1/dset3 g1/dset4
-call %tooltest% h5diff_15.txt
-
-::1.6.1 with -p (int)
-set flag=%file1% %file1% -v -p 0.02 g1/dset5 g1/dset6
-call %tooltest% h5diff_16_1.txt
-
-:: Commented out in unix test script (due to cross-platform errors)
-::1.6.2 with -p (unsigned long_long)
-:: set flag=%file1% %file1% -v -p 0.02 g1/dset7 g1/dset8
-:: call %tooltest% h5diff_16_2.txt
-
-::1.6.2 with -p (unsigned long_long)
-set flag=%file1% %file1% -v -p 0.02 g1/dset9 g1/dset10
-call %tooltest% h5diff_16_3.txt
-
-::1.7 verbose mode
-set flag=%file1% %file2% -v
-call %tooltest% h5diff_17.txt
-
-::1.8 quiet mode
-set flag=%file1% %file2% -q
-call %tooltest% h5diff_18.txt
-
-::---------------------
-::Not Comparable Types
-::---------------------
-
-::2.0
-set flag=%file3% %file3% -v dset g1
-call %tooltest% h5diff_20.txt
-
-::2.1
-set flag=%file3% %file3% -v dset l1
-call %tooltest% h5diff_21.txt
-
-
-::2.2
-set flag=%file3% %file3% -v dset t1
-call %tooltest% h5diff_22.txt
-
-
-::2.3
-set flag=%file3% %file3% -v g1 g1
-call %tooltest% h5diff_23.txt
-
-::2.4
-set flag=%file3% %file3% -v t1 t1
-call %tooltest% h5diff_24.txt
-
-::2.5
-set flag=%file3% %file3% -v l1 l1
-call %tooltest% h5diff_25.txt
-
-::2.6
-set flag=%file3% %file3% -v g1 g2
-call %tooltest% h5diff_26.txt
-
-::2.7
-set flag=%file3% %file3% -v t1 t2
-call %tooltest% h5diff_27.txt
-
-::2.8
-set flag=%file3% %file3% -v l1 l2
-call %tooltest% h5diff_28.txt
-
-
-
-::-------------
-:: Dataset types
-:: -------------
-
-::5.0
-set flag=%file4% %file4% -v dset0a dset0b
-call %tooltest% h5diff_50.txt
-
-
-::5.1
-set flag=%file4% %file4% -v dset1a dset1b
-call %tooltest% h5diff_51.txt
-
-
-::5.2
-set flag=%file4% %file4% -v dset2a dset2b
-call %tooltest% h5diff_52.txt
-
-
-::5.3
-set flag=%file4% %file4% -v dset3a dset4b
-call %tooltest% h5diff_53.txt
-
-
-::5.4
-set flag=%file4% %file4% -v dset4a dset4b
-call %tooltest% h5diff_54.txt
-
-
-::5.5
-set flag=%file4% %file4% -v dset5a dset5b
-call %tooltest% h5diff_55.txt
-
-
-::5.6
-set flag=%file4% %file4% -v dset6a dset6b
-call %tooltest% h5diff_56.txt
-
-
-::5.7
-set flag=%file4% %file4% -v dset7a dset7b
-call %tooltest% h5diff_57.txt
-
-
-::5.8 long_long test; different format of long_long print in Linux and IRIX
-set flag=%file7% %file8% -v refreg
-call %tooltest% h5diff_58.txt
-
-:: --------------
-:: Error messages
-:: --------------
-
-::6.0: Check if the command line number of arguments is less than 3
-set flag=%file1%
-call %tooltest% h5diff_600.txt
-
-::6.1: Check for invalid options
-set flag=%file1% %file2% -x
-call %tooltest% h5diff_601.txt
-
-:: ----
-:: -d
-:: ----
-
-::6.2: no value
-set flag=%file1% %file2% -d g1/dset3 g1/dset4
-call %tooltest% h5diff_602.txt
-
-
-::6.3: negative value
-set flag=%file1% %file2% -d -4 g1/dset3 g1/dset4
-call %tooltest% h5diff_603.txt
-
-
-::6.4: zero
-set flag=%file1% %file2% -d 0 g1/dset3 g1/dset4
-call %tooltest% h5diff_604.txt
-
-
-::6.5: non number
-set flag=%file1% %file2% -d u g1/dset3 g1/dset4
-call %tooltest% h5diff_605.txt
-
-
-::6.6: hexadecimal
-set flag=%file1% %file2% -d 0x1 g1/dset3 g1/dset4
-call %tooltest% h5diff_606.txt
-
-
-::6.7: string
-set flag=%file1% %file2% -d "1" g1/dset3 g1/dset4
-call %tooltest% h5diff_607.txt
-
-
-::6.8: repeated option
-set flag=%file1% %file2% -d 1 -d 2 g1/dset3 g1/dset4
-call %tooltest% h5diff_608.txt
-
-
-::6.9: number larger than biggest difference
-set flag=%file1% %file2% -d 200 g1/dset3 g1/dset4
-call %tooltest% h5diff_609.txt
-
-
-::6.10: number smaller than smallest difference
-set flag=%file1% %file2% -d 1 g1/dset3 g1/dset4
-call %tooltest% h5diff_610.txt
-
-::---
-::-p
-::---
-
-
-::6.11: no value
-set flag=%file1% %file2% -r -p g1/dset3 g1/dset4
-call %tooltest% h5diff_611.txt
-
-
-
-::6.12: negative value
-set flag=%file1% %file2% -p -4 g1/dset3 g1/dset4
-call %tooltest% h5diff_612.txt
-
-
-
-::6.13: zero
-set flag=%file1% %file2% -p 0 g1/dset3 g1/dset4
-call %tooltest% h5diff_613.txt
-
-
-
-::6.14: non number
-set flag=%file1% %file2% -p u g1/dset3 g1/dset4
-call %tooltest% h5diff_614.txt
-
-
-::6.15: hexadecimal
-set flag=%file1% %file2% -p 0x1 g1/dset3 g1/dset4
-call %tooltest% h5diff_615.txt
-
-
-::6.16: string
-set flag=%file1% %file2% -p "0.21" g1/dset3 g1/dset4
-call %tooltest% h5diff_616.txt
-
-
-::6.17: repeated option
-set flag=%file1% %file2% -p 0.21 -p 0.22 g1/dset3 g1/dset4
-call %tooltest% h5diff_617.txt
-
-
-::6.18: number larger than biggest difference
-set flag=%file1% %file2% -p 2 g1/dset3 g1/dset4
-call %tooltest% h5diff_618.txt
-
-
-::6.19: number smaller than smallest difference
-set flag=%file1% %file2% -p 0.005 g1/dset3 g1/dset4
-call %tooltest% h5diff_619.txt
-
-
-::---
-::-n
-::---
-
-::6.20: no value
-set flag=%file1% %file2% -n g1/dset3 g1/dset4
-call %tooltest% h5diff_620.txt
-
-
-::6.21: negative value
-set flag=%file1% %file2% -n -4 g1/dset3 g1/dset4
-call %tooltest% h5diff_621.txt
-
-
-::6.22: zero
-set flag=%file1% %file2% -n 0 g1/dset3 g1/dset4
-call %tooltest% h5diff_622.txt
-
-
-::6.23: non number
-set flag=%file1% %file2% -n u g1/dset3 g1/dset4
-call %tooltest% h5diff_623.txt
-
-
-::6.24: hexadecimal
-set flag=%file1% %file2% -n 0x1 g1/dset3 g1/dset4
-call %tooltest% h5diff_624.txt
-
-
-::6.25: string
-set flag=%file1% %file2% -n "2" g1/dset3 g1/dset4
-call %tooltest% h5diff_625.txt
-
-
-
-::6.26: repeated option
-set flag=%file1% %file2% -n 2 -n 3 g1/dset3 g1/dset4
-call %tooltest% h5diff_626.txt
-
-
-::6.27: number larger than biggest difference
-set flag=%file1% %file2% -n 200 g1/dset3 g1/dset4
-call %tooltest% h5diff_627.txt
-
-
-::6.28: number smaller than smallest difference
-set flag=%file1% %file2% -n 1 g1/dset3 g1/dset4
-call %tooltest% h5diff_628.txt
-
-
-::6.29: non valid %files
-
-set flag=file1.h6 file2.h6
-call %tooltest% h5diff_629.txt
-
-::--------------
-::7. attributes
-::--------------
-
-set flag=%file5% %file6% -v
-call %tooltest% h5diff_70.txt
-
-
-::-------------------------
-::8. all dataset datatypes
-::-------------------------
-
-set flag=%file7% %file8% -v
-call %tooltest% h5diff_80.txt
-
-
-::-----------------------------
-::9. compare a %file with itself
-::-----------------------------
-
-set flag=%file2% %file2%
-call %tooltest% h5diff_90.txt
-
-::-----------------------------
-::10. read by hyperslab, print indexes
-::-----------------------------
-
-set flag=%file9% %file10% -v
-call %tooltest% h5diff_100.txt
-
-::-----------------------------
-::11. floating point comparison
-::-----------------------------
-
-REM Not tested on Windows due to difference in formatting of scientific notation
-REM set flag=%file1% %file1% /g1/d1 g1/d2 -v
-REM call %tooltest% h5diff_101.txt
-
-REM set flag=%file1% %file1% /g1/fp1 g1/fp2 -v
-REM call %tooltest% h5diff_102.txt
-
-::Change directory to hdf5\tools
-cd ..\..
-
-::Check if any of tests failed or skiped for the time being
-echo.
-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!
-find "SKIPED" %tempResults% | more +2
-)
-
-::NOTE1 CLEAN
-::Clean up Environment Variables
-for %%i in (p1 p2 tempResults exefile tooltest ln ln_exp totalskip totalerr) do set %%i=
-for %%v in (1 2 3 4 5 6 7 8) do set file%%v=
-set flag=
-
-::Clean up Temporary Files
-rmdir /s/q temptest
-
-
diff --git a/windows/tools/dumptest.bat b/windows/tools/dumptest.bat deleted file mode 100755 index 3af0558..0000000 --- a/windows/tools/dumptest.bat +++ /dev/null @@ -1,710 +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 is for h5dump general and xml tests.
-::Usage
-:: dumptest release -- release static version
-:: dumptest debug -- debug static version
-:: dumptest release dll -- release dll version
-:: dumptest debug dll -- debug dll version
-:: Written By: Fang GUO
-:: Date : Jan. 12, 2006
-
-
-:: Track total number of testing errors
- set /A totalerr=0
- set /A totalskip=0
-
-
-::*******************************************************
-:: Generate a new temp directory for test h5dump
-::*******************************************************
- :: Make a temporary directory for h5dump test
- 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=1
- set ln_exp=4
-
- :: Save the tests output into a temporary file
- set tempResults=dumptest%2_%1.txt
- type nul > %tempResults%
-
- :: Define the .exe file based on the second parameter
- set exefile=h5dump%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\t*.h5) do set %%~ni=..\..\%%i
-
- :: Special cases: the following are not .h5 files but needed in the tests
- for %%i in (tsplit_file tmulti) do (
- set %%i=..\..\testfiles\%%i
- )
-
- :: Havn't find a way to use % inside a variable name
- set tfamily05d=..\..\testfiles\tfamily%%05d.h5
-
- :: Change the directory to dir including .exe file
- cd h5dump%p2%\%p1%
-
-::Test h5dump with different options
-
-echo.****************************************************
-echo. h5dump%2 %1 T E S T S
-echo.****************************************************
-
-::--------------------------
-::test for displaying groups
-::--------------------------
-set flag=%tgroup%
-call %tooltest% tgroup-1.ddl
-
-::---------------------------------------
-::test for displaying the selected groups
-::---------------------------------------
-set flag=--group=/g2 --group / -g /y %tgroup%
-call %tooltest% tgroup-2.ddl
-
-:: -----------------------------------------
-:: test for displaying simple space datasets
-::------------------------------------------
-set flag=%tdset%
-call %tooltest% tdset-1.ddl
-
-::--------------------------------------
-::test for displaying selected datasets
-::--------------------------------------
-set flag=-H -d dset1 -d /dset2 --dataset=dset3 %tdset%
-call %tooltest% tdset-2.ddl
-
-::------------------------------
-::test for displaying attributes
-::------------------------------
-set flag=%tattr%
-call %tooltest% tattr-1.ddl
-
-::---------------------------------------------------------------------------
-::test for displaying the selected attributes of string type and scalar space
-::---------------------------------------------------------------------------
-set flag=-a /attr1 --attribute /attr4 --attribute=/attr5 %tattr%
-call %tooltest% tattr-2.ddl
-
-::----------------------------------
-::test for header and error messages
-::----------------------------------
-set flag=--header -a /attr2 --attribute=/attr %tattr%
-call %tooltest% tattr-3.ddl
-
-::-----------------------------------------------------------------------------
-::test for displaying attributes in shared datatype (also in group and dataset)
-::-----------------------------------------------------------------------------
-set flag=%tnamed_dtype_attr%
-call %tooltest% tnamed_dtype_attr.ddl
-
-::------------------------------
-::test for displaying soft links
-::------------------------------
-set flag=%tslink%
-call %tooltest% tslink-1.ddl
-
-set flag=%tudlink%
-call %tooltest% tudlink-1.ddl
-::-------------------------------------
-::test for displaying the selected link
-::-------------------------------------
-set flag=-l slink2 %tslink%
-call %tooltest% tslink-2.ddl
-
-set flag=-l udlink2 %tudlink%
-call %tooltest% tudlink-2.ddl
-
-::--------------------
-::tests for hard links
-::--------------------
-set flag=%thlink%
-call %tooltest% thlink-1.ddl
-
-set flag=-d /g1/dset2 --dataset /dset1 --dataset=/g1/g1.1/dset3 %thlink%
-call %tooltest% thlink-2.ddl
-
-set flag=-d /g1/g1.1/dset3 --dataset /g1/dset2 --dataset=/dset1 %thlink%
-call %tooltest% thlink-3.ddl
-
-set flag=-g /g1 %thlink%
-call %tooltest% thlink-4.ddl
-
-set flag=-d /dset1 -g /g2 -d /g1/dset2 %thlink%
-call %tooltest% thlink-5.ddl
-
-::-----------------------------
-::tests for compound data types
-::-----------------------------
-set flag=%tcompound%
-call %tooltest% tcomp-1.ddl
-
-::-------------------------
-::test for named data types
-::-------------------------
-set flag=-t /type1 --datatype /type2 --datatype=/group1/type3 %tcompound%
-call %tooltest% tcomp-2.ddl
-
-::--------------------
-::test for unamed type
-::--------------------
-set flag=-t /#6632:0 -g /group2 %tcompound%
-call %tooltest% tcomp-3.ddl
-
-::----------------------------------
-::test complicated compound datatype
-::----------------------------------
-set flag=%tcompound_complex%
-call %tooltest% tcomp-4.ddl
-
-::---------------------------------
-::test for the nested compound type
-::---------------------------------
-set flag=%tnestedcomp%
-call %tooltest% tnestcomp-1.ddl
-
-::----------------
-::test for options
-::----------------
-set flag=%tall%
-call %tooltest% tall-1.ddl
-
-set flag=--header -g /g1/g1.1 -a attr2 %tall%
-call %tooltest% tall-2.ddl
-
-set flag=-d /g2/dset2.1 -l /g1/g1.2/g1.2.1/slink %tall%
-call %tooltest% tall-3.ddl
-
-::------------------------
-::test for loop detection
-::------------------------
-set flag=%tloop%
-call %tooltest% tloop-1.ddl
-
-::---------------
-::test for string
-::---------------
-set flag=%tstr%
-call %tooltest% tstr-1.ddl
-
-set flag=%tstr2%
-call %tooltest% tstr-2.ddl
-
-::-------------------------------------
-::test for file created by Lib SAF team
-::-------------------------------------
-set flag=%tsaf%
-call %tooltest% tsaf.ddl
-
-::---------------------------------------
-::test for file with variable length data
-::---------------------------------------
-set tvldtypes=..\..\testfiles\tvldtypes
-for %%v in (1 2 3 4 5) do (
-set flag=%tvldtypes%%%v.h5
-call %tooltest% tvldtypes%%v.ddl
-)
-set tvldtypes=
-
-::----------------------------------------------
-::test for file with variable length string data
-::----------------------------------------------
-set flag=%tvlstr%
-call %tooltest% tvlstr.ddl
-
-::------------------------------
-::test for files with array data
-::------------------------------
-set tarray=..\..\testfiles\tarray
-for /L %%v in (1,1,7) do (
-set flag=%tarray%%%v%.h5
-call %tooltest% tarray%%v.ddl
-)
-set tarray=
-
-::------------------------------
-::test for files with empty data
-::------------------------------
-set flag=%tempty%
-call %tooltest% tempty.ddl
-
-::---------------------------------------------
-::test for files with groups that have comments
-::---------------------------------------------
-set flag=%tgrp_comments%
-call %tooltest% tgrp_comments.ddl
-
-::---------------------------
-::test the --filedriver flag
-::---------------------------
-set flag=--filedriver=split %tsplit_file%
-call %tooltest% tsplit_file.ddl
-
-::Special: Find a way to echo environment
-set flag=--filedriver=family %tfamily05d%
-call %tooltest% tfamily.ddl
-
-set flag=--filedriver=multi %tmulti%
-call %tooltest% tmulti.ddl
-
-::----------------------------------------------------------------
-::test for files with group names which reach > 1024 bytes in size
-::----------------------------------------------------------------
-set flag=-w157 %tlarge_objname%
-call %tooltest% tlarge_objname.ddl
-
-::-------------------------------------------
-::test '-A' to suppress data but print attr's
-::-------------------------------------------
-set flag=-A %tall%
-call %tooltest% tall-2A.ddl
-
-::---------------------------------------------------------
-::test '-r' to print attributes in ASCII instead of decimal
-::---------------------------------------------------------
-set flag=-A -r %tall%
-call %tooltest% tall-2B.ddl
-
-::---------------
-::test Subsetting
-::---------------
-set flag=--dataset=/g1/g1.1/dset1.1.1 --start=1,1 --stride=2,3 --count=3,2 --block=1,1 %tall%
-call %tooltest% tall-4s.ddl
-
-set flag=-d "/g1/g1.1/dset1.1.2[0;2;10;]" %tall%
-call %tooltest% tall-5s.ddl
-
-set flag=-d "/dset1[1,1;;;]" %tdset%
-call %tooltest% tdset-3s.ddl
-
-::set flag=-d "/dset1[;3,2;4,4;1,4]" %tdset2%
-::call %tooltest% tdset2-1s.ddl
-
-::----------------------------------------------------
-::test printing characters in ASCII instead of decimal
-::----------------------------------------------------
-set flag=-r %tchar%
-call %tooltest% tchar1.ddl
-
-::---------------------
-::test failure handling
-::---------------------
-
-::1. Missing file name
-set flag=
-call %tooltest% tnofilename.ddl
-
-:: rev. 2004
-
-::---------------------
-::tests for super block
-::---------------------
-set flag=-H -B -d dset %tfcontents1%
-call %tooltest% tboot1.ddl
-
-set flag=-B %tfcontents2%
-call %tooltest% tboot2.ddl
-
-::------------------------------------
-:: test -p with a non existing dataset
-::------------------------------------
-set flag=-p -d bogus %tfcontents1%
-call %tooltest% tperror.ddl
-
-::----------------------
-::test for file contents
-::----------------------
-set flag=-n %tfcontents1%
-call %tooltest% tcontents.ddl
-
-::-------------------------
-::tests for storage layout
-::-------------------------
-
-for %%v in (compact chunked external) do (
-set flag=-H -p -d %%v %tfilters%
-call %tooltest% t%%v.ddl
-)
-
-::contiguous (tcontiguos.ddl or tcontiguous.ddl)
-set flag=-H -p -d contiguous %tfilters%
-call %tooltest% tcontiguos.ddl
-
-::-----------
-::fill values
-::-----------
-set flag=-p %tfvalues%
-call %tooltest% tfill.ddl
-
-::-----------------------------------------------
-::several datatype, with references , print path
-::-----------------------------------------------
-set flag=%tattr2%
-call %tooltest% treference.ddl
-
-::------------------------------------------
-::escape/not escape non printable characters
-::------------------------------------------
-set flag=-e %tstr3%
-call %tooltest% tstringe.ddl
-
-set flag=%tstr3%
-call %tooltest% tstring.ddl
-
-::----------------------------------
-::char data as ASCII with non escape
-::----------------------------------
-set flag=-r -d str4 %tstr3%
-call %tooltest% tstring2.ddl
-
-::-----------------------------
-::array indices print/not print
-::-----------------------------
-set flag=%taindices%
-call %tooltest% tindicesyes.ddl
-
-set flag=-y %taindices%
-call %tooltest% tindicesno.ddl
-
-
-::-----------------------------
-::array indices with subsetting
-::-----------------------------
-
-set flag=-d 1d -s 3 -c 40 %taindices%
-call %tooltest% tindicessub1.ddl
-
-set flag=-d 2d -s 1,3 -c 6,4 %taindices%
-call %tooltest% tindicessub2.ddl
-
-set flag=-d 3d -s 0,1,3 -c 2,6,4 %taindices%
-call %tooltest% tindicessub3.ddl
-
-set flag=-d 4d -s 0,0,1,3 -c 2,2,6,4 %taindices%
-call %tooltest% tindicessub4.ddl
-
-::-----------------
-::tests for filters
-::-----------------
-
-:: SZIP
-set flag=-H -p -d szip %tfilters%
-call %tooltest% tszip.ddl szip
-
-::deflate
-set flag=-H -p -d deflate %tfilters%
-call %tooltest% tdeflate.ddl zlib
-
-::shuffle
-set flag=-H -p -d shuffle %tfilters%
-call %tooltest% tshuffle.ddl
-
-::fletcher32
-set flag=-H -p -d fletcher32 %tfilters%
-call %tooltest% tfletcher32.ddl
-
-::nbit
-set flag=-H -p -d nbit %tfilters%
-call %tooltest% tnbit.ddl
-
-::scaleoffset
-set flag=-H -p -d scaleoffset %tfilters%
-call %tooltest% tscaleoffset.ddl
-
-::all
-set flag=-H -p -d all %tfilters%
-call %tooltest% tallfilters.ddl zlib szip
-
-::user defined
-set flag=-H -p -d myfilter %tfilters%
-call %tooltest% tuserfilter.ddl
-
-::test for displaying objects with very long names
-set flag=%tlonglinks%
-call %tooltest% tlonglinks.ddl
-
-::dimensions over 4GB, print boundary
-set flag=-d dset4gb -s 4294967284 -c 22 %tbigdims%
-call %tooltest% tbigdims.ddl
-
-::hyperslab read
-set flag=%thyperslab%
-call %tooltest% thyperslab.ddl
-
-::test for displaying dataset and attribute of null space
-set flag=%tnullspace%
-call %tooltest% tnullspace.ddl
-
-
-::test for long double (Some systems do not have long double)
-set flag=%tldouble%
-call %tooltest% tldouble.ddl SKIP
-
-::Test for vms
-set flag=%tvms%
-call %tooltest% tvms.ddl
-
-
-::test for binary output
-set flag=-d array -o out1.bin -b LE %tbinary%
-call %tooltest% tbin1.ddl
-
-set flag=-d float -o out2.bin -b BE %tbinary%
-call %tooltest% tbin2.ddl
-
-set flag=-d integer -o out3.bin -b MEMORY %tbinary%
-call %tooltest% tbin3.ddl
-
-
-set flag=-d double -o out4.bin -b FILE %tbinary%
-call %tooltest% tbin4.ddl
-
-::test for dataset region references
-set flag=%tdatareg%
-call %tooltest% tregref.ddl
-
-echo.
-echo.****************************************************
-echo. h5dump%2 %1 XML T E S T S
-echo.****************************************************
-
-::test XML
-set flag=--xml %tall%
-call %tooltest% tall.h5.xml
-
-set flag=--xml %tattr%
-call %tooltest% tattr.h5.xml
-
-set flag=--xml %tbitfields%
-call %tooltest% tbitfields.h5.xml
-
-set flag=--xml %tcompound%
-call %tooltest% tcompound.h5.xml
-
-set flag=--xml %tcompound2%
-call %tooltest% tcompound2.h5.xml
-
-set flag=--xml %tdatareg%
-call %tooltest% tdatareg.h5.xml
-
-set flag=--xml %tdset%
-call %tooltest% tdset.h5.xml
-
-set flag=--xml %tdset2%
-call %tooltest% tdset2.h5.xml
-
-set flag=--xml %tenum%
-call %tooltest% tenum.h5.xml
-
-set flag=--xml %tgroup%
-call %tooltest% tgroup.h5.xml
-
-set flag=--xml %thlink%
-call %tooltest% thlink.h5.xml SKIP
-
-set flag=--xml %tloop%
-call %tooltest% tloop.h5.xml
-
-set flag=--xml %tloop2%
-call %tooltest% tloop2.h5.xml
-
-set flag=--xml %tmany%
-call %tooltest% tmany.h5.xml SKIP
-
-set flag=--xml %tnestedcomp%
-call %tooltest% tnestedcomp.h5.xml
-
-set flag=--xml %tcompound_complex%
-call %tooltest% tcompound_complex.h5.xml
-
-set flag=--xml %tobjref%
-call %tooltest% tobjref.h5.xml
-
-set flag=--xml %topaque%
-call %tooltest% topaque.h5.xml
-
-set flag=--xml %tslink%
-call %tooltest% tslink.h5.xml
-
-set flag=--xml %tstr%
-call %tooltest% tstr.h5.xml
-
-set flag=--xml %tstr2%
-call %tooltest% tstr2.h5.xml
-
-set flag=--xml %tref%
-call %tooltest% tref.h5.xml
-
-set flag=--xml %tname-amp%
-call %tooltest% tname-amp.h5.xml
-
-set flag=--xml %tname-apos%
-call %tooltest% tname-apos.h5.xml
-
-set flag=--xml %tname-gt%
-call %tooltest% tname-gt.h5.xml
-
-set flag=--xml %tname-lt%
-call %tooltest% tname-lt.h5.xml
-
-set flag=--xml %tname-quot%
-call %tooltest% tname-quot.h5.xml
-
-set flag=--xml %tname-sp%
-call %tooltest% tname-sp.h5.xml
-
-set flag=--xml %tstring%
-call %tooltest% tstring.h5.xml
-
-set flag=--xml %tstring-at%
-call %tooltest% tstring-at.h5.xml
-
-set flag=--xml %tref-escapes%
-call %tooltest% tref-escapes.h5.xml
-
-set flag=--xml %tref-escapes-at%
-call %tooltest% tref-escapes-at.h5.xml
-
-set flag=--xml %tnodata%
-call %tooltest% tnodata.h5.xml
-
-set flag=--xml %tarray1%
-call %tooltest% tarray1.h5.xml
-
-set flag=--xml %tarray2%
-call %tooltest% tarray2.h5.xml
-
-set flag=--xml %tarray3%
-call %tooltest% tarray3.h5.xml
-
-set flag=--xml %tarray6%
-call %tooltest% tarray6.h5.xml
-
-set flag=--xml %tarray7%
-call %tooltest% tarray7.h5.xml
-
-set flag=--xml %tvldtypes1%
-call %tooltest% tvldtypes1.h5.xml
-
-set flag=--xml %tvldtypes2%
-call %tooltest% tvldtypes2.h5.xml
-
-set flag=--xml %tvldtypes3%
-call %tooltest% tvldtypes3.h5.xml
-
-set flag=--xml %tvldtypes4%
-call %tooltest% tvldtypes4.h5.xml
-
-set flag=--xml %tvldtypes5%
-call %tooltest% tvldtypes5.h5.xml
-
-set flag=--xml %tvlstr%
-call %tooltest% tvlstr.h5.xml
-
-set flag=--xml %tsaf%
-call %tooltest% tsaf.h5.xml
-
-set flag=--xml %tempty%
-call %tooltest% tempty.h5.xml
-
-set flag=--xml %tnamed_dtype_attr%
-call %tooltest% tnamed_dtype_attr.h5.xml
-
-
-::Test dataset and attribute of null space. Commented out:
-::wait until the XML schema is updated for null space.
-set flag=--xml tnulspace.h5
-call %tooltest% tnullspace.h5.xml SKIP
-
-::other options for xml
-
-set flag=--xml --use-dtd %tempty%
-call %tooltest% tempty-dtd.h5.xml
-
-set flag=--xml -u %tempty%
-call %tooltest% tempty-dtd-2.h5.xml
-
-set flag=--xml -X ":" %tempty%
-call %tooltest% tempty-nons.h5.xml
-
-set flag=--xml --xml-ns=":" %tempty%
-call %tooltest% tempty-nons-2.h5.xml
-
-::Some of these combinations are syntactically correct but
-::the URLs are dummies
-
-set flag=--xml -X "thing:" %tempty%
-call %tooltest% tempty-ns.h5.xml
-
-set flag=--xml --xml-ns="thing:" %tempty%
-call %tooltest% tempty-ns-2.h5.xml
-
-set flag=--xml --xml-ns=":" --xml-dtd="http://somewhere.net" %tempty%
-call %tooltest% tempty-nons-uri.h5.xml
-
-set flag=--xml --use-dtd --xml-dtd="http://somewhere.net" %tempty%
-call %tooltest% tempty-dtd-uri.h5.xml
-
-set flag=--xml -A %tall%
-call %tooltest% tall-2A.h5.xml
-
-::------------------
-::End of -xml Tests
-::------------------
-
-cd ..\..
-
-echo.
-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
-)
-
-rmdir /s/q temptest
-
-for %%i in (testfiles\t*.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=
-for %%i in (tsplit_file tmulti) do set %%i=
-set tfamily05d=
diff --git a/windows/tools/h5copy/testh5copy.bat b/windows/tools/h5copy/testh5copy.bat new file mode 100644 index 0000000..71cfabc --- /dev/null +++ b/windows/tools/h5copy/testh5copy.bat @@ -0,0 +1,308 @@ +@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 h5copy tool
+rem
+rem Created: Scott Wegner, 8/16/07
+rem Modified: Scott Wegner, 8/22/07
+rem
+
+
+rem We don't currently build DLL version of h5copy, but this test script is
+rem setup to support it if we do in the future. --SJW 8/22/07
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem The tool name
+set h5copy=h5copy%2
+rem The path of the tool binary
+set h5copy_bin=%CD%\%1\%h5copy%
+rem The h5diff tool name
+set h5diff=h5diff%2
+rem The path of the h5diff too binary
+set h5diff_bin=%CD%\..\%h5diff%\%1\%h5diff%
+rem The h5ls tool name
+set h5ls=h5ls%2
+rem Arguments to the h5ls tool
+set h5ls_args=-Svr
+rem The path of the h5ls tool binary
+set h5ls_bin=%CD%\..\%h5ls%\%1\%h5ls%
+
+set /a nerrors=0
+set verbose=yes
+
+set srcfile=h5copytst.h5
+set indir=%CD%\..\testfiles
+set outdir=%CD%\..\testfiles
+
+if not exist %outdir% mkdir %outdir%
+
+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
+ 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 Print a line-line message left justified in a field of 70 characters
+rem beginning with the word "Verifying".
+rem
+:verify
+ set verify_msg=Verifying h5diff output
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set verify_msg=!test_msg! %%~nxa
+ ) )
+ )
+ set verify_msg=%verify_msg%
+ echo.%verify_msg:~0,69% %1
+
+ exit /b
+
+rem Print a line-line message left justified in a field of 70 characters
+rem beginning with the word "Verifying".
+rem
+:verify_h5ls
+ set verifyh5ls_msg=Verifying h5ls file structure
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set verifyh5ls_msg=!test_msg! %%~nxa
+ ) )
+ )
+ set verifyh5ls_msg=%verifyh5ls_msg%
+ echo.%verifyh5ls_msg:~0,69% %1
+
+ exit /b
+
+
+
+rem Run a test and print PASS or *FAIL*. If h5copy can complete
+rem with exit status 0, consider it pass. If a test fails then increment
+rem the `nerrors' global variable.
+rem Assumed arguments:
+rem $1 is -i
+rem $2 is input file
+rem $3 is -o
+rem $4 is output file
+rem $* everything else arguments for h5copy.
+
+:tooltest
+ set runh5diff=yes
+ if "%1"=="-i" (
+ set inputfile=%2
+ ) else (
+ set runh5diff=no
+ )
+ if "%3"=="-o" (
+ set outputfile=%4
+ ) else (
+ set h5diff=no
+ )
+
+ (
+ echo.#############################
+ echo. output for %h5copy% %*
+ echo.#############################
+ %h5copy_bin% %*
+ ) > output.out
+
+ if %errorlevel% neq 0 (
+ call :testing *FAILED* %h5copy% %*
+ echo.failed result is:
+ type output.out
+ set /a nerrors=!nerrors!+1
+ ) else (
+ call :testing PASSED %h5copy% %*
+
+ rem Clean up output file
+ if not defined HDF5_NOCLEANUP (
+ del /f output.out
+ )
+ )
+
+ if %runh5diff neq no (
+ call :h5difftest %inputfile% %outputfile%
+ )
+
+ exit /b
+
+
+rem Call the h5diff tool
+rem
+:h5difftest
+ %h5diff_bin% %* -q
+ if %errorlevel% neq 0 (
+ call :verify *FAILED* %*
+ set /a nerrors=!nerrors!+1
+ ) else (
+ call :verify PASSED %*
+ )
+
+ exit /b
+
+
+rem Call the h5ls tool to verify the correct output data in the destination file
+rem
+:h5lstest
+ set expect=%indir%\%~n1.ls
+ set expect_parsed=%expect%.parsed
+ set actual=%outdir%\%~n1.out
+ set actual_parsed=%actual%.parsed
+
+ rem Stderr is included in stdout so that the diff can detect
+ rem any unexpected output from that stream too.
+ rem
+ rem Note: The modification time and storage utilization are masked off
+ rem so that the output is more portable
+ (
+ echo.#############################
+ echo.Expected output for %h5ls% %*
+ echo.#############################
+ %h5ls_bin% %h5ls_args% %*
+ ) > %actual% 2>&1
+
+ rem Windows doesn't have "sed" command, and parsing the files line-by-line
+ rem to emulate Unix takes a very long time. Instead, we simply remove lines
+ rem with "Modified" or "Storage". We also remove lines "Opened (filename)
+ rem with sec2 driver" and "Expected output for (h5ls test)", because Windows
+ rem paths differ from Linux. Do this for actual and expected otput.
+ rem If there is a better alternative in the future, we should use it instead.
+ rem --SJW 8/22/07
+ for %%a in (expect actual) do (
+ findstr /v /c:" Modified:" !%%a! > tmp.txt
+ findstr /v /c:" Storage:" tmp.txt > tmp2.txt
+ findstr /v /b /c:"Expected output for " tmp2.txt > tmp.txt
+ findstr /v /b /c:"Opened " tmp.txt > !%%a_parsed!
+ )
+ del /f tmp.txt tmp2.txt
+
+ rem Don't special case non-existing expected output as Linux does, because
+ rem we depend on it above to parse anyway. It should be an error if it
+ rem doesn't exist. --SJW 8/22/07
+rem if not exist %expect% (
+rem rem Create the expect file if it doesn't yet exist
+rem call :verify_h5ls CREATED %*
+rem copy %actual% %expect%
+rem ) else (
+ fc %expect_parsed% %actual_parsed% | find "FC: no diff" > nul
+ if %errorlevel% equ 0 (
+ call :verify_h5ls PASSED %*
+ ) else (
+ call :verify_h5ls *FAILED* %*
+ echo. Expected result ^(*.ls^) differs from actual result ^(*.out^)
+ set /a nerrors=!nerrors!+1
+ if "yes"=="%verbose%" fc %expect_parsed% %actual_parsed%
+ )
+rem )
+
+ rem Clean up output file
+ if not defined HDF5_NOCLEANUP (
+ for %%a in (%actual% %actual_parsed% %expect_parsed%) do del /f %%a
+ )
+
+ exit /b
+
+
+
+rem Copy single datasets of various forms from one group to another,
+rem adding object copied to the destination file each time
+rem
+rem Assumed arguments:
+rem <none>
+:copyobjects
+
+ set testfile=%indir%\%srcfile%
+ set fileout=%outdir%\%srcfile:.h5=.out.h5%
+
+ rem Remove any output file left over from previous test run
+ del /f %fileout% 2> nul
+
+ echo.Test copying various forms of datasets
+ call :tooltest -i %testfile% -o %fileout% -v -s simple -d simple
+ call :tooltest -i %testfile% -o %fileout% -v -s chunk -d chunk
+ call :tooltest -i %testfile% -o %fileout% -v -s compact -d compact
+ call :tooltest -i %testfile% -o %fileout% -v -s compound -d compound
+ call :tooltest -i %testfile% -o %fileout% -v -s compressed -d compressed
+ call :tooltest -i %testfile% -o %fileout% -v -s named_vl -d named_vl
+ call :tooltest -i %testfile% -o %fileout% -v -s nested_vl -d nested_vl
+
+ echo.Test copying dataset within group in source file to root of destination
+ call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets/simple -d simple_top
+
+ echo.Test copying ^& renaming dataset.
+ call :tooltest -i %testfile% -o %fileout% -v -s compound -d rename
+
+ echo.Test copying empty, 'full' ^& 'nested' groups
+ call :tooltest -i %testfile% -o %fileout% -v -s grp_empty -d grp_empty
+ call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets -d grp_dsets
+ call :tooltest -i %testfile% -o %fileout% -v -s grp_nested -d grp_nested
+
+ echo.Test copying dataset within group in source file to group in destination
+ call :tooltest -i %testfile% -o %fileout% -v -s /grp_dsets/simple -d /grp_dsets/simple_group
+
+ echo.Test copying ^& renaming group
+ call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets -d grp_rename
+
+ echo.Test copying 'full' group hierarchy into group in destination file
+ call :tooltest -i %testfile% -o %fileout% -v -s grp_dsets -d /grp_rename/grp_dsets
+
+ echo.Test copying objects into group hier. that doesn't exist yet in destination file
+ call :tooltest -i %testfile% -o %fileout% -vp -s simple -d /A/B1/simple
+ call :tooltest -i %testfile% -o %fileout% -vp -s simple -d /A/B2/simple2
+ call :tooltest -i %testfile% -o %fileout% -vp -s /grp_dsets/simple -d /C/D/simple
+ call :tooltest -i %testfile% -o %fileout% -vp -s /grp_dsets -d /E/F/grp_dsets
+ call :tooltest -i %testfile% -o %fileout% -vp -s /grp_nested -d /G/H/grp_nested
+
+ rem Verify that the file created above is correct
+ call :h5lstest %fileout%
+
+ rem Remove output file created, if the "no cleanup" environment variable is
+ rem not defined
+ if not defined HDF5_NOCLEANUP (
+ del /f %fileout%
+ )
+
+ exit /b
+
+
+rem ##############################################################################
+rem ### T H E T E S T S ###
+rem ##############################################################################
+
+:main
+ call :copyobjects
+
+ if %nerrors% equ 0 (
+ echo.All h5copy tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5diff/testh5diff.bat b/windows/tools/h5diff/testh5diff.bat new file mode 100644 index 0000000..7ffe773 --- /dev/null +++ b/windows/tools/h5diff/testh5diff.bat @@ -0,0 +1,427 @@ +@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 h5diff tool
+rem
+rem Created: Scott Wegner, 8/22/07
+rem Modified: Scott Wegner, 8/23/07
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem ############################################################################
+rem test file names
+rem ############################################################################
+
+set file1=h5diff_basic1.h5
+set file2=h5diff_basic2.h5
+set file3=h5diff_types.h5
+set file4=h5diff_dtypes.h5
+set file5=h5diff_attr1.h5
+set file6=h5diff_attr2.h5
+set file7=h5diff_dset1.h5
+set file8=h5diff_dset2.h5
+set file9=h5diff_hyper1.h5
+set file10=h5diff_hyper2.h5
+
+
+rem The tool name
+set h5diff=h5diff%2
+rem The path of the tool binary
+set h5diff_bin=%CD%\..\%h5diff%\%1\%h5diff%
+
+set /a nerrors=0
+set verbose=yes
+rem default to run h5diff tests
+set pmode=
+
+if not exist ..\testfiles mkdir ..\testfiles
+
+rem Parse options
+rem On Windows, we don't parse, because we only want to worry about
+rem debug/release and dll --SJW 9/5/07
+
+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
+ 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 Function STDOUT_FILTER isn't technically needed on Windows, because this
+rem script will never run on platforms that require it. However, include empty
+rem interface for consistency. --SJW 8/22/07
+:stdout_filter
+ exit /b
+
+
+rem Function STDERR_FILTER isn't technically needed on Windows, because this
+rem script will never run on platforms that require it. However, include empty
+rem interface for consistency. --SJW 8/22/07
+:stderr_filter
+ 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
+ set actual_sav=%actual%-sav
+ set actual_err_sav=%actual_err%-sav
+
+ rem We define %params% here because Windows `shift` command doesn't affect
+ rem the %* variable. --SJW 8/22/07
+ set params=
+ for /f "tokens=2*" %%a in ("%*") do (
+ if "%%b"=="" (
+ set params=%%a
+ ) else (
+ set params=%%a %%b
+ )
+ )
+ rem Parallel mode not actually supported, but included for consistency.
+ if defined pmode (
+ rem do nothing
+ )
+
+ rem Run test.
+ (
+ echo.#############################
+ rem Remove quotes here, because Linux 'echo' command strips them
+ echo.Expected output for 'h5diff %params:"=%'
+ echo.#############################
+ pushd ..\testfiles
+ %h5diff_bin% %params%
+ popd
+ ) > %actual% 2> %actual_err%
+ rem save actual and actual_err in case they are needed later.
+ copy /y %actual% %actual_sav% > nul
+ call :stdout_filter %actual%
+ copy /y %actual_err% %actual_err_sav% > nul
+ call :stderr_filter %actual_err%
+ type %actual_err% >> %actual%
+
+ if not exist %expect% (
+ rem Create the expect file if it doesn't yet exist.
+ call :testing CREATED %h5diff% %params%
+ copy /y %actual% %expect% > nul
+ ) else (
+ fc /w %expect% %actual% | find "FC: no diff" > nul
+ if !errorlevel! equ 0 (
+ call :testing PASSED %h5diff% %params%
+ ) else (
+ call :testing *FAILED* %h5diff% %params%
+ echo. Expected result ^(%expect%^) differs from actual result ^(%actual%^)
+ set /a nerrors=!nerrors!+1
+ if "yes"=="%verbose%" fc /w %actual% %expect%
+ )
+ )
+
+ rem Clean up output file
+ if not defined hdf5_nocleanup (
+ del /f %actual% %actual_err% %actual_sav% %actual_err_sav%
+ )
+
+ exit /b
+
+
+rem Print a "SKIP" message
+:skip
+ call :testing -SKIP- %h5diff% %*
+
+ exit /b
+
+
+:main
+rem ############################################################################
+rem ############################################################################
+rem # T H E T E S T S ###
+rem ############################################################################
+rem ############################################################################
+
+rem ############################################################################
+rem # Common usage
+rem ############################################################################
+
+
+ rem 1.0
+ call :tooltest h5diff_10.txt -h
+
+ rem 1.1 normal mode
+ call :tooltest h5diff_11.txt %file1% %file2%
+
+ rem 1.2 normal mode with objects
+ call :tooltest h5diff_12.txt %file1% %file2% g1/dset1 g1/dset2
+
+ rem 1.3 report mode
+ call :tooltest h5diff_13.txt %file1% %file2% -r
+
+ rem 1.4 report mode with objects
+ call :tooltest h5diff_14.txt %file1% %file2% -r g1/dset1 g1/dset2
+
+ rem 1.5 with -d
+ call :tooltest h5diff_15.txt %file1% %file2% -r -d 5 g1/dset3 g1/dset4
+
+ rem 1.6.1 with -p (int)
+ call :tooltest h5diff_16_1.txt %file1% %file1% -v -p 0.02 g1/dset5 g1/dset6
+
+ rem 1.6.2 with -p (unsigned long_long)
+ call :tooltest h5diff_16_2.txt %file1% %file1% -v -p 0.02 g1/dset7 g1/dset8
+
+ rem 1.6.3 with -p (double)
+ call :tooltest h5diff_16_3.txt %file1% %file1% -v -p 0.02 g1/dset9 g1/dset10
+
+ rem 1.7 verbose mode
+ call :tooltest h5diff_17.txt %file1% %file2% -v
+
+ rem 1.8 quiet mode
+ call :tooltest h5diff_18.txt %file1% %file2% -q
+
+ rem ##############################################################################
+ rem # not comparable types
+ rem ##############################################################################
+
+ rem 2.0
+ call :tooltest h5diff_20.txt %file3% %file3% -v dset g1
+
+ rem 2.1
+ call :tooltest h5diff_21.txt %file3% %file3% -v dset l1
+
+ rem 2.2
+ call :tooltest h5diff_22.txt %file3% %file3% -v dset t1
+
+ rem ##############################################################################
+ rem # compare groups, types, links (no differences and differences)
+ rem ##############################################################################
+
+ rem 2.3
+ call :tooltest h5diff_23.txt %file3% %file3% -v g1 g1
+
+ rem 2.4
+ call :tooltest h5diff_24.txt %file3% %file3% -v t1 t1
+
+ rem 2.5
+ call :tooltest h5diff_25.txt %file3% %file3% -v l1 l1
+
+ rem 2.6
+ call :tooltest h5diff_26.txt %file3% %file3% -v g1 g2
+
+ rem 2.7
+ call :tooltest h5diff_27.txt %file3% %file3% -v t1 t2
+
+ rem 2.8
+ call :tooltest h5diff_28.txt %file3% %file3% -v l1 l2
+
+
+
+ rem ##############################################################################
+ rem # Dataset datatypes
+ rem ##############################################################################
+
+ rem 5.0
+ call :tooltest h5diff_50.txt %file4% %file4% -v dset0a dset0b
+
+ rem 5.1
+ call :tooltest h5diff_51.txt %file4% %file4% -v dset1a dset1b
+
+ rem 5.2
+ call :tooltest h5diff_52.txt %file4% %file4% -v dset2a dset2b
+
+ rem 5.3
+ call :tooltest h5diff_53.txt %file4% %file4% -v dset3a dset4b
+
+ rem 5.4
+ call :tooltest h5diff_54.txt %file4% %file4% -v dset4a dset4b
+
+ rem 5.5
+ call :tooltest h5diff_55.txt %file4% %file4% -v dset5a dset5b
+
+ rem 5.6
+ call :tooltest h5diff_56.txt %file4% %file4% -v dset6a dset6b
+
+ rem 5.7
+ call :tooltest h5diff_57.txt %file4% %file4% -v dset7a dset7b
+
+ rem 5.8 (region reference)
+ call :tooltest h5diff_58.txt %file7% %file8% -v refreg
+
+ rem ##############################################################################
+ rem # Error messages
+ rem ##############################################################################
+
+
+ rem 6.0: Check if the command line number of arguments is less than 3
+ call :tooltest h5diff_600.txt %file1%
+
+ rem 6.1: Check for invalid options
+ call :tooltest h5diff_601.txt %file1% %file2% -x
+
+ rem ##############################################################################
+ rem # -d
+ rem ##############################################################################
+
+ rem 6.2: no value
+ call :tooltest h5diff_602.txt %file1% %file2% -d g1/dset3 g1/dset4
+
+ rem 6.3: negative value
+ call :tooltest h5diff_603.txt %file1% %file2% -d -4 g1/dset3 g1/dset4
+
+ rem 6.4: zero
+ call :tooltest h5diff_604.txt %file1% %file2% -d 0 g1/dset3 g1/dset4
+
+ rem 6.5: non number
+ call :tooltest h5diff_605.txt %file1% %file2% -d u g1/dset3 g1/dset4
+
+ rem 6.6: hexadecimal
+ call :tooltest h5diff_606.txt %file1% %file2% -d 0x1 g1/dset3 g1/dset4
+
+ rem 6.7: string
+ call :tooltest h5diff_607.txt %file1% %file2% -d "1" g1/dset3 g1/dset4
+
+ rem 6.8: repeated option
+ call :tooltest h5diff_608.txt %file1% %file2% -d 1 -d 2 g1/dset3 g1/dset4
+
+ rem 6.9: number larger than biggest difference
+ call :tooltest h5diff_609.txt %file1% %file2% -d 200 g1/dset3 g1/dset4
+
+ rem 6.10: number smaller than smallest difference
+ call :tooltest h5diff_610.txt %file1% %file2% -d 1 g1/dset3 g1/dset4
+
+
+ rem ##############################################################################
+ rem # -p
+ rem ##############################################################################
+
+
+ rem 6.11: no value
+ call :tooltest h5diff_611.txt %file1% %file2% -r -p g1/dset3 g1/dset4
+
+ rem 6.12: negative value
+ call :tooltest h5diff_612.txt %file1% %file2% -p -4 g1/dset3 g1/dset4
+
+ rem 6.13: zero
+ call :tooltest h5diff_613.txt %file1% %file2% -p 0 g1/dset3 g1/dset4
+
+ rem 6.14: non number
+ call :tooltest h5diff_614.txt %file1% %file2% -p u g1/dset3 g1/dset4
+
+ rem 6.15: hexadecimal
+ call :tooltest h5diff_615.txt %file1% %file2% -p 0x1 g1/dset3 g1/dset4
+
+ rem 6.16: string
+ call :tooltest h5diff_616.txt %file1% %file2% -p "0.21" g1/dset3 g1/dset4
+
+ rem 6.17: repeated option
+ call :tooltest h5diff_617.txt %file1% %file2% -p 0.21 -p 0.22 g1/dset3 g1/dset4
+
+ rem 6.18: number larger than biggest difference
+ call :tooltest h5diff_618.txt %file1% %file2% -p 2 g1/dset3 g1/dset4
+
+ rem 6.19: number smaller than smallest difference
+ call :tooltest h5diff_619.txt %file1% %file2% -p 0.005 g1/dset3 g1/dset4
+
+
+
+ rem ##############################################################################
+ rem # -n
+ rem ##############################################################################
+
+
+ rem 6.20: no value
+ call :tooltest h5diff_620.txt %file1% %file2% -n g1/dset3 g1/dset4
+
+ rem 6.21: negative value
+ call :tooltest h5diff_621.txt %file1% %file2% -n -4 g1/dset3 g1/dset4
+
+ rem 6.22: zero
+ call :tooltest h5diff_622.txt %file1% %file2% -n 0 g1/dset3 g1/dset4
+
+ rem 6.23: non number
+ call :tooltest h5diff_623.txt %file1% %file2% -n u g1/dset3 g1/dset4
+
+ rem 6.24: hexadecimal
+ call :tooltest h5diff_624.txt %file1% %file2% -n 0x1 g1/dset3 g1/dset4
+
+ rem 6.25: string
+ call :tooltest h5diff_625.txt %file1% %file2% -n "2" g1/dset3 g1/dset4
+
+ rem 6.26: repeated option
+ call :tooltest h5diff_626.txt %file1% %file2% -n 2 -n 3 g1/dset3 g1/dset4
+
+ rem 6.27: number larger than biggest difference
+ call :tooltest h5diff_627.txt %file1% %file2% -n 200 g1/dset3 g1/dset4
+
+ rem 6.28: number smaller than smallest difference
+ call :tooltest h5diff_628.txt %file1% %file2% -n 1 g1/dset3 g1/dset4
+
+ rem 6.29 non valid files
+ call :tooltest h5diff_629.txt file1.h6 file2.h6
+
+ rem ##############################################################################
+ rem 7. attributes
+ rem ##############################################################################
+ call :tooltest h5diff_70.txt %file5% %file6% -v
+
+ rem ##############################################################################
+ rem 8. all dataset datatypes
+ rem ##############################################################################
+ call :tooltest h5diff_80.txt %file7% %file8% -v
+
+ rem 9. compare a file with itself
+ call :tooltest h5diff_90.txt %file2% %file2%
+
+ rem 10. read by hyperslab, print indexes
+ call :tooltest h5diff_100.txt %file9% %file10% -v
+
+ rem 11. floating point comparison
+ rem Not tested on Windows due to difference in formatting of scientific
+ rem notation --SJW 8/23/07
+ rem call :tooltest h5diff_101.txt %file1% %file1% g1/d1 g1/d2 -v
+ rem call :tooltest h5diff_102.txt %file1% %file1% g1/fp1 g1/fp2 -v
+
+ rem ##############################################################################
+ rem # END
+ rem ##############################################################################
+
+ if %nerrors% equ 0 (
+ echo.All %h5diff% tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5dump/testh5dump.bat b/windows/tools/h5dump/testh5dump.bat new file mode 100644 index 0000000..c6cd5b5 --- /dev/null +++ b/windows/tools/h5dump/testh5dump.bat @@ -0,0 +1,530 @@ +@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/23/07
+rem Modified: Scott Wegner, 8/27/07
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+set h5pubconf=%CD%\..\..\src\h5pubconf.h
+
+rem Determine which filters are available
+rem On Windows, the function :detect_filter sets these for us
+call :detect_filter szip
+call :detect_filter deflate
+call :detect_filter shuffle
+call :detect_filter fletcher32
+call :detect_filter nbit
+call :detect_filter scaleoffset
+
+rem The tool name
+set dumper=h5dump%2
+rem The path of the tool library
+set dumper_bin=%CD%\..\%dumper%\%1\%dumper%
+set testdir=%CD%\..\testfiles
+
+rem The h5diff tool name
+set h5diff=..\h5diff%2\%1\h5diff%2
+rem The path of the h5diff tool binary
+set h5diff_bin=%CD%\%h5diff%
+
+rem The h5import tool name
+set h5import=..\h5import%2\%1\h5import%2
+rem The path of the h5import tool binary
+set h5import_bin=%CD%\%h5import%
+
+set nerrors=0
+set verbose=yes
+
+if not exist %testdir% mkdir %testdir%
+
+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
+ ) )
+ )
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 8/24/07
+ set test_msg=!test_msg:PERCENT-ZERO=%%0!
+ 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=%*
+ 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 On Linux, we synchronize the expected and actual output by removing the
+ rem 3-line header from the expected. There is no easy way to do this on
+ rem Windows, so we will instead add this header to our actual. --SJW 8/24/07
+ (
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem Also remove quotes here, because Linux 'echo' command strips them.
+ rem --SJW 8/24/07
+ set params_echo=!params:PERCENT-ZERO=%%0!
+ echo.#############################
+ echo.Expected output for 'h5dump !params_echo:"=!'
+ echo.#############################
+ pushd %CD%\..\testfiles
+ %dumper_bin% !params:PERCENT-ZERO=%%0!
+ popd
+ ) > %actual% 2> %actual_err%
+ type %actual_err% >> %actual%
+
+ if not exist %expect% (
+ call :testing *FAILED* %params%
+ echo. %expect% missing
+ set /a nerrors=!nerrors!+1
+ ) else (
+ rem On Linux, this is where we parse the actual output. On Windows, we
+ rem don't. See note above. --SJW 8/24/07
+ 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 Print a line-line message left justified in a field of 70 characters
+rem
+:print_h5diff
+ set test_msg=Running h5diff
+ 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 Call the h5diff tool
+rem
+:difftest
+ (
+ pushd %CD%\..\testfiles
+ %h5diff_bin% %* -q
+ popd
+ )
+ if %errorlevel% neq 0 (
+ call :print_h5diff *FAILED* %*
+ set /a nerrors=!nerrors!+1
+ ) else (
+ call :print_h5diff PASSED %*
+ )
+
+ exit /b
+
+
+rem Print a line-line message left justified in a field of 70 characters
+rem beginning with the word "Verifying".
+rem
+:print_h5import
+ set test_msg=Running h5import
+ 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 Call the h5import tool
+rem
+:importtest
+ rem Remove the output hdf5 file if it exists
+ set hdf5_file=%CD%\..\testfiles\%5
+ if exist %hdf5_file% (
+ del /f %hdf5_file%
+ )
+
+ (
+ pushd %CD%\..\testfiles
+ %h5import_bin% %*
+ popd
+ )
+ if %errorlevel% neq 0 (
+ call :print_h5import *FAILED* %*
+ set /a nerrors=!nerrors!+1
+ ) else (
+ call :print_h5import PASSED %*
+ )
+ exit /b
+
+
+
+rem This is a Windows-specific function that detects if the filter passed
+rem should be enabled for this test script. It searches H5pubconf.h for the
+rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1"
+rem accordingly. On other platforms, this variable is set in the Makefile.
+rem If we find a better way to test this in the future, we should use it.
+rem --SJW 9/4/07
+:detect_filter
+ findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul
+ if %errorlevel% equ 0 (
+ set use_filter_%1=yes
+ ) else (
+ set use_filter_%1=no
+ )
+
+ exit /b
+
+
+rem ############################################################################
+rem ############################################################################
+rem # T H E T E S T S ###
+rem ############################################################################
+rem ############################################################################
+:main
+
+ rem test for displaying groups
+ call :tooltest tgroup-1.ddl 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
+ rem test for displaying selected datasets
+ call :tooltest tdset-2.ddl -H -d dset1 -d /dset2 --dataset=dset3 tdset.h5
+
+ rem test for displaying attributes
+ call :tooltest tattr-1.ddl 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
+ rem test for header and error messages
+ call :tooltest tattr-3.ddl --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
+
+ rem test for displaying soft links and user-defined links
+ call :tooltest tslink-1.ddl tslink.h5
+ call :tooltest tudlink-1.ddl 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
+
+ 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
+
+ rem tests for compound data types
+ call :tooltest tcomp-1.ddl tcompound.h5
+ rem test for named data types
+ call :tooltest tcomp-2.ddl -t /type1 --datatype /type2 --datatype=/group1/type3 tcompound.h5
+ rem test for unamed type
+ call :tooltest tcomp-3.ddl -t /#6632:0 -g /group2 tcompound.h5
+ rem test complicated compound datatype
+ call :tooltest tcomp-4.ddl tcompound_complex.h5
+
+ rem test for the nested compound type
+ call :tooltest tnestcomp-1.ddl 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
+
+ rem test for loop detection
+ call :tooltest tloop-1.ddl tloop.h5
+
+ rem test for string
+ call :tooltest tstr-1.ddl tstr.h5
+ call :tooltest tstr-2.ddl tstr2.h5
+
+ rem test for file created by Lib SAF team
+ call :tooltest tsaf.ddl 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
+
+ rem test for file with variable length string data
+ call :tooltest tvlstr.ddl tvlstr.h5
+
+ rem test for files with array data
+ call :tooltest tarray1.ddl tarray1.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
+
+ rem test for files with empty data
+ call :tooltest tempty.ddl tempty.h5
+
+ rem test for files with groups that have comments
+ call :tooltest tgrp_comments.ddl tgrp_comments.h5
+
+ rem test the --filedriver flag
+ call :tooltest tsplit_file.ddl --filedriver=split tsplit_file
+ rem On Windows, we pass "PERCENT-ZERO", and let other calls replace it with
+ rem the "%0". We cannot pass "%0" directly because Windows interprets it as
+ rem the name of the script. --SJW 8/24/07
+ call :tooltest tfamily.ddl --filedriver=family tfamilyPERCENT-ZERO5d.h5
+ call :tooltest tmulti.ddl --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
+
+ rem test '-A' to suppress data but print attr's
+ call :tooltest tall-2A.ddl -A tall.h5
+
+ rem test '-r' to print attributes in ASCII instead of decimal
+ 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
+
+ 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
+
+ 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
+
+ rem test -p with a non existing dataset
+ call :tooltest tperror.ddl -p -d bogus tfcontents1.h5
+
+ rem test for file contents
+ call :tooltest tcontents.ddl -n tfcontents1.h5
+
+ rem tests for storage layout
+ rem compact
+ call :tooltest tcompact.ddl -H -p -d compact tfilters.h5
+ rem contiguous
+ call :tooltest tcontiguos.ddl -H -p -d contiguous tfilters.h5
+ rem chunked
+ call :tooltest tchunked.ddl -H -p -d chunked tfilters.h5
+ rem external
+ call :tooltest texternal.ddl -H -p -d external tfilters.h5
+
+ rem fill values
+ call :tooltest tfill.ddl -p tfvalues.h5
+
+ rem several datatype, with references , print path
+ call :tooltest treference.ddl tattr2.h5
+
+ rem escape/not escape non printable characters
+ call :tooltest tstringe.ddl -e tstr3.h5
+ call :tooltest tstring.ddl tstr3.h5
+ rem char data as ASCII with non escape
+ call :tooltest tstring2.ddl -r -d str4 tstr3.h5
+
+ rem array indices print/not print
+ call :tooltest tindicesyes.ddl taindices.h5
+ call :tooltest tindicesno.ddl -y taindices.h5
+
+ rem array indices with subsetting
+ call :tooltest tindicessub1.ddl -d 1d -s 3 -c 40 taindices.h5
+ call :tooltest tindicessub2.ddl -d 2d -s 1,3 -c 6,4 taindices.h5
+ call :tooltest tindicessub3.ddl -d 3d -s 0,1,3 -c 2,6,4 taindices.h5
+ call :tooltest tindicessub4.ddl -d 4d -s 0,0,1,3 -c 2,2,6,4 taindices.h5
+
+
+ rem tests for filters
+ rem SZIP
+ set option=-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
+ 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
+ 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
+ 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
+ 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
+ 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
+ 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" (
+ call :skip %option%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %option%
+ ) else if not "%use_filter_deflate%"=="yes" (
+ call :skip %option%
+ ) else if not "%use_filter_shuffle%"=="yes" (
+ call :skip %option%
+ ) else if not "%use_filter_nbit%"=="yes" (
+ call :skip %option%
+ ) else if not "%use_filter_scaleoffset%"=="yes" (
+ call :skip %option%
+ ) else (
+ call :tooltest tallfilters.ddl %option%
+ )
+ rem user defined
+ call :tooltest tuserfilter.ddl -H -p -d myfilter tfilters.h5
+
+ rem test for displaying objects with very long names
+ call :tooltest tlonglinks.ddl tlonglinks.h5
+
+ rem dimensions over 4GB, print boundary
+ call :tooltest tbigdims.ddl -d dset4gb -s 4294967284 -c 22 tbigdims.h5
+
+ rem hyperslab read
+ call :tooltest thyperslab.ddl thyperslab.h5
+
+
+ rem
+
+ rem test for displaying dataset and attribute of null space
+ call :tooltest tnullspace.ddl tnullspace.h5
+
+ rem test for long double (some systems do not have long double)
+ rem call :tooltest tldouble.ddl tldouble.h5
+
+ rem test for vms
+ call :tooltest tvms.ddl 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 :tooltest tbin1.ddl -d array -o out1.bin -b LE tbinary.h5
+ call :tooltest tbin2.ddl -d float -o out2.bin -b BE tbinary.h5
+
+ rem the MEMORY test can be validated with h5import/h5diff
+ call :tooltest tbin3.ddl -d integer -o out3.bin -b MEMORY tbinary.h5
+ call :importtest out3.bin -c out3.h5import -o out3.h5
+ call :difftest tbinary.h5 out3.h5 /integer /integer
+
+ call :tooltest tbin4.ddl -d double -o out4.bin -b FILE tbinary.h5
+
+ rem Clean up binary output files
+ if not defined hdf5_nocleanup (
+ for /l %%a in (1,1,4) do del /f %testdir%\out%%a.bin
+ del /f %testdir%\out3.h5
+ )
+
+
+ rem test for dataset region references
+ call :tooltest tregref.ddl tdatareg.h5
+
+
+ if %nerrors% equ 0 (
+ echo.All %dumper% tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file 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 diff --git a/windows/tools/h5import/h5importtestutil.bat b/windows/tools/h5import/h5importtestutil.bat new file mode 100644 index 0000000..5307473 --- /dev/null +++ b/windows/tools/h5import/h5importtestutil.bat @@ -0,0 +1,172 @@ +@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 HDF Utilities Test script
+rem
+rem Created: Scott Wegner, 8/27/07
+rem Modified:
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem The tool name
+set h5import=h5import%2
+rem The path of the tool binary
+set h5import_bin=%CD%\..\%h5import%\%1\%h5import%.exe
+
+rem The h5importtest tool name
+set h5importtest=..\testfiles\h5importtst\%1\h5importtst
+rem The path of the h5importtst tool binary
+set h5importtest_bin=%CD%\%h5importtest%.exe
+
+rem The h5dump tool name
+set h5dump=..\h5dump%2\%1\h5dump%2
+rem The path of the h5dump tool binary
+set h5dump_bin=%CD%\%h5dump%
+
+rem initialize errors variables
+set errors=0
+
+goto main
+
+:testing
+ set test_msg=Testing
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set test_msg=!test_msg! %%~nxa
+ ) )
+ )
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 8/24/07
+ set test_msg=!test_msg:PERCENT-ZERO=%%0!
+ echo.%test_msg:~0,69% %1
+
+ exit /b
+
+
+:tooltest
+ set err=0
+ %h5import_bin% %*
+ %h5dump_bin% %5 > log2
+
+ pushd tmp_testfiles
+ %h5dump_bin% %5 > log1
+ popd
+
+ fc /w tmp_testfiles\log1 log2 | find "FC: no diff" > nul
+ if %errorlevel% neq 0 set err=1
+ del /f log2 tmp_testfiles\log1
+ if "%err%"=="1" (
+ set /a errors=!errors!+1
+ call :testing *FAILED* %testing%
+ ) else (
+ call :testing: PASSED %testing%
+ )
+
+ exit /b
+
+
+:main
+ echo.
+ echo.==============================
+ echo.H5IMPORT tests started
+ echo.==============================
+
+ if exist %h5import_bin% (
+ if exist %h5importtest_bin% (
+ rem echo.** Testing h5import ***
+
+ del /f output.h5 log1 tx* b* *.dat 2> nul
+
+ if not exist tmp_testfiles mkdir tmp_testfiles
+ copy /y testfiles\*.h5 tmp_testfiles > nul
+
+ %h5importtest_bin%
+
+ rem On Linux, they call TESTING here, and output pass/fail from TOOLTEST.
+ rem On Windows, echo gives a carriage return, so we store the TESTING params
+ rem and call TESTING from TOOLTEST. --SJW 8/27/07
+ set testing=ASCII I32 rank 3 - Output BE
+ call :tooltest txtin32 -c %CD%\testfiles\textin32 -o test1.h5
+
+ set testing=ASCII I16 rank 3 - Output LE - CHUNKED - extended
+ call :tooltest txtin16 -c %CD%\testfiles\textin16 -o test2.h5
+
+ set testing=ASCII I8 - rank 3 - Output I16 LE-Chunked+Extended+Compressed
+ call :tooltest txtin16 -c %CD%\testfiles\textin8 -o test3.h5
+
+ set testing=ASCII UI32 - rank 3 - Output BE
+ call :tooltest %CD%\testfiles\in1 -c %CD%\testfiles\textuin32 -o test4.h5
+
+ set testing=ASCII UI16 - rank 2 - Output LE+Chunked+Compressed
+ call :tooltest %CD%\testfiles\in1 -c %CD%\testfiles\textuin16 -o test5.h5
+
+ set testing=ASCII F32 - rank 3 - Output LE
+ call :tooltest %CD%\testfiles\fp1 -c %CD%\testfiles\textfp32 -o test6.h5
+
+ set testing=ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed
+ call :tooltest %CD%\testfiles\fp2 -c %CD%\testfiles\textfp64 -o test7.h5
+
+ set testing=BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed
+ call :tooltest bfp64 -c %CD%\testfiles\conbfp64 -o test8.h5
+
+ set testing=BINARY I16 - rank 3 - Output order LE + CHUNKED + extended
+ call :tooltest bin16 -c %CD%\testfiles\conbin16 -o test9.h5
+
+ set testing=BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed
+ call :tooltest bin8 -c %CD%\testfiles\conbin8 -o test10.h5
+
+ set testing=BINARY I32 - rank 3 - Output BE + CHUNKED
+ call :tooltest bin32 -c %CD%\testfiles\conbin32 -o test11.h5
+
+ set testing=BINARY UI16 - rank 3 - Output byte BE + CHUNKED
+ call :tooltest buin16 -c %CD%\testfiles\conbuin16 -o test12.h5
+
+ set testing=BINARY UI32 - rank 3 - Output LE + CHUNKED
+ call :tooltest buin32 -c %CD%\testfiles\conbuin32 -o test13.h5
+
+ set testing=STR
+ call :tooltest %CD%\testfiles\txtstr -c %CD%\testfiles\textstr -o teststr.h5
+
+ del /f tx* b* *.dat
+ del /f test*.h5
+ rmdir /s /q tmp_testfiles
+
+ ) else (
+ echo.** h5importtest not avaiable ***
+ set /a errors=!errors!+1
+ )
+ ) else (
+ echo.** h5import not avaiable ***
+ set /a errors=!errors!+1
+ )
+
+ rem
+ rem Check error results
+ if %errors% equ 0 (
+ echo.======================================
+ echo. H5IMPORT Utilities tests have passed.
+ echo.======================================
+ ) else (
+ echo.======================================
+ echo. H5IMPORT Utilities tests encountered errors
+ echo.======================================
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5jam/testh5jam.bat b/windows/tools/h5jam/testh5jam.bat new file mode 100644 index 0000000..d3522f1 --- /dev/null +++ b/windows/tools/h5jam/testh5jam.bat @@ -0,0 +1,598 @@ +@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 h5jam tool
+rem
+rem Created: Scott Wegner, 8/27/07
+rem Modified:
+rem
+
+rem We currently don't build DLL version os h5jam / h5unjam, but the test script
+rem is setup to handle it if we ever decide to. --SJW 8/27/07
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+set h5pubconf=%CD%\..\..\src\h5pubconf.h
+
+rem Determine which filters are available
+rem On Windows, the function :detect_filter sets these for us
+call :detect_filter szip
+call :detect_filter deflate
+call :detect_filter shuffle
+call :detect_filter fletcher32
+
+rem The dumper to use
+set dumper=..\h5dump%2\%1\h5dump%2
+rem The path of the dumper binary
+set dumper_bin=%CD%\%dumper%
+
+rem Tool to test
+set jam=h5jam%2
+rem Tool to test
+set unjam=h5unjam%2
+rem The path of the jam binary
+set jam_bin=%CD%\..\%jam%\%1\%jam%
+rem The path of the unjam binary
+set unjam_bin=%CD%\..\%unjam%\%1\%unjam%
+
+rem The tellub to use
+set tellub=..\..\test\tellub%2\%1\tellub%2
+rem The path of the tellub binary
+set tellub_bin=%CD%\%tellub%
+
+rem The getub to use
+set getub=..\..\test\getub%2\%1\getub%2
+rem The path of the getub binary
+set getub_bin=%CD%\%getub%
+
+set nerrors=0
+set verbose=yes
+
+set testfiles=%CD%\..\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
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set test_msg=!test_msg! %%~nxa
+ ) )
+ )
+ rem Replace ARROW_RIGHT with the correct symbol. If it was passed directly,
+ rem our output would be incorrectly redirected. --SJW 8/27/07
+ set test_msg=!test_msg:ARROW_RIGHT=^>!
+ echo.%test_msg:~0,69% %1
+
+ exit /b
+
+
+rem Print a line-line message left justified in a field of 70 characters
+rem beginning with the word "Compare".
+rem
+:compare
+ set test_msg=Compare
+ 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 Print a "SKIP" message
+:skip
+ call :testing -SKIP- %*
+ exit /b
+
+
+rem
+rem COMPARE_FILES a.h5 b.h5
+rem Compare two files, skipping the first line. This is used to
+rem compare the output of the dumper, skipping the file name which
+rem is different.
+rem The result is stored in 'compval'.
+rem
+:compare_files
+ rem The easiest way to compare 2 files on Windows and skip the first line
+ rem is to simply filter the first line differences from the output. If the
+ rem first line is different, FC will also display the second line.
+ rem --SJW 8/27/07
+ fc %1 %2 | findstr /v /b /c:"Comparing files" | findstr /v /b /c:"*****" > cmp1
+ findstr /v /b /c:" 1: " cmp1 | findstr /v /b /c:" 2: " > cmp2
+ findstr /b /c:" " cmp2 > nul
+ if %errorlevel% neq 1 (
+ set cmpval=1
+ ) else (
+ set cmpval=0
+ )
+ del /f cmp1 cmp2
+
+ exit /b
+
+
+rem CLEANUP files
+rem Clean up named files
+:cleanup
+ if not defined hdf5_nocleanup (
+ for %%a in (%*) do (
+ del /f %%a 2> nul
+ )
+ )
+ exit /b
+
+
+rem SETUP file tocopy
+rem Clone a standard input file in the test directory
+rem
+:setup
+ copy /y %1 %2 > nul
+ exit /b
+
+
+rem
+rem CHECKFILE orig.h5 compar.h5
+rem Check that the test file is the same as an original.
+rem The two files are dumped with the dumper, and the output
+rem compared with COMPARE_FILES.
+rem If the files are the same, the test reports " PASSED",
+rem otherwise, it reports "*FAILED*"
+:checkfile
+ set expected=%~dpn2.out
+ set expected_err=%~dpn2.err
+ set actual=%~n1.out
+ set actual_err=%~n1.err
+ %dumper_bin% %1 >%expected% 2>%expected_err%
+ type %expected_err% >> %expected%
+
+ rem dump the test file
+ %dumper_bin% %2 >%actual% 2>%actual_err%
+ type %actual_err% >> %actual%
+
+ rem compare the two files (ignore line 1)
+ call :compare_files %actual% %expected%
+ if "%cmpval%"=="0" (
+ call :compare PASSED %2 to %1
+ ) else (
+ call :compare *FAILED* %2 to %1
+ echo. Expected result ^(*.ddl^) differs from actual result ^(*.out^)
+ set /a nerrors=!nerrors!+1
+ if "yes"=="%verbose%" fc %expected% %actual%
+ )
+
+ rem Clean up output files
+ if not defined hdf5_nocleanup (
+ del /f %actual% %actual_err%
+ del /f %expected% %expected_err%
+ )
+ exit /b
+
+
+rem
+rem CHECK_UB file.h5 user_block_file origfile.h5
+rem
+rem Check the user block in 'file.h5' is the same as
+rem 'user_block' (allowing for padding).
+rem
+rem If the original file had a user block before the test
+rem then 'compare.h5' is passed. The user block must be extracted
+rem and the test file compared to:
+rem cat compare_ub user_block_file.
+rem
+rem This test uses './getub' to extract the user block from
+rem 'file.h5', which is compared to the file described above.
+rem
+rem The result is set in variable 'result1'.
+rem
+:check_ub_1
+ set hfile=%1
+ set ufile=%2
+
+ rem check for third argument (the original file)
+ set origfile=
+ if not "%3"=="" (
+ set origfile="%3"
+ )
+
+ rem find the length of the user block to check
+ for /f "tokens=4" %%a in ('dir /-c %ufile% ^| findstr /v /b /c:" "') do (
+ set s1=%%a
+ )
+ if "%s1%"=="0" (
+ echo.File %ufile% is empty
+ set result1=1
+ )
+
+ rem Get the size of the original user block, if any
+ if defined origfile (
+ rem 'tellub' calls H5Fget_user_block to get the size
+ rem of the user block
+ for /f %%a in ('%tellub_bin% %origfile%') do set s2=%%a
+ if "!s2!"=="0" (
+ set size=%s1%
+ set cmpfile=%ufile%
+ ) else (
+ set cmpfile=tt2
+ set /a size=!s2!+%s1%
+ %getub_bin% -c !s2! %origfile% > !cmpfile!
+ type %ufile% >> !cmpfile!
+ )
+ ) else (
+ rem assume no user block
+ set s2=0
+ set size=%s1%
+ set cmpfile=%ufile%
+ )
+
+ rem Extract 'size' bytes from the front of 'hfile'
+ rem Compare to 'cmpfile', result is set in result1
+ set tfile=tt1
+ %getub_bin% -c %size% %hfile% > %tfile%
+ fc /w %cmpfile% %tfile% | find "FC: no diff" > nul
+ if %errorlevel% neq 0 (
+ fc /w %cmpfile% %file%
+ set result1=1
+ ) else (
+ set result1=0
+ )
+
+ rem clean up
+ del /f %tfile%
+ if not "%s2%"=="0" (
+ del /f %cmpfile%
+ )
+ exit /b
+
+
+rem CHECK_NOUB file.h5
+rem
+rem Check that 'file.h5' has no user block.
+rem Setst result2 to 1 if there is a user block (fail), 0 if none (pass)
+:check_noub
+ set hfile=%1
+ rem call `ubsize` to get the size of the user block
+ %tellub_bin% %hfile% > tmp.txt
+ if %errorlevel% neq 0 (
+ rem error
+ set result2=1
+ ) else (
+ for /f %%a in (tmp.txt) do set ubsize=%%a
+ if "!ubsize!"=="0" (
+ rem pass
+ set result2=0
+ ) else (
+ rem fail
+ set result2=1
+ )
+ )
+ del /f tmp.txt 2> nul
+
+ exit /b
+
+
+rem JAMTEST user_block file.h5 [--clobber] [ofile.h5]
+rem
+rem Test the 'jam' tool:
+rem 1. figure out the input and output, and the comparision
+rem that will be done.
+rem 2. call 'jam' with the appropriate arguments
+rem 3. check the user block is correct in the output (Check_UB)
+rem If the user block is correct, print "PASSED", else "*FAILED*"
+:jamtest
+ set ufile=%1
+ set ifile=%2
+ rem the file to test
+ set compare_test=
+ rem the comparison to test against
+ set compare_orig=
+ set cleanup=
+
+ rem sort out the arguments for the test and the check
+ set do_clobber=no
+ if "%3"=="--clobber" (
+ rem clobber overwrites and existing user block
+ set do_clobber=yes
+ set clobber=--clobber
+ set compare_orig=
+ if "%4"=="" (
+ rem output goes to infile, compare ubfile to infile
+ set ofile=
+ set compare_test=%ifile%
+ ) else (
+ rem output goes to %4, compare ofile to ubfile
+ set ofile=%4
+ set compare_test=!ofile!
+ )
+ ) else (
+ set clobber=
+ rem add user block to existing ub, if any
+ if "%3"=="" (
+ rem output goes to infile, compare ubfile to infile
+ set ofile=
+ set compare_test=%ifile%
+ copy /y %ifile% xxofile.h5 > nul
+ set compare_orig=xxofile.h5
+ set cleanup=%cleanup% !compare_orig!
+ ) else (
+ rem output goes to %4, compare ofile to ubfile
+ set ofile=%3
+ set compare_test=!ofile!
+ set compare_orig=%ifile%
+ )
+ )
+
+ rem call 'jam' with the appropriate arguments
+ if defined ofile (
+ %jam_bin% -u %ufile% -i %ifile% -o %ofile% %clobber%
+ ) else (
+ %jam_bin% -u %ufile% -i %ifile% %clobber%
+ )
+
+ call :check_ub_1 %compare_test% %ufile% %compare_orig%
+
+ if "%result1%"=="0" (
+ if defined ofile (
+ call :testing PASSED %jam% -u %ufile% -i %ifile% -o %ofile% %clobber%
+ ) else (
+ call :testing PASSED %jam% -u %ufile% -i %ifile% %clobber%
+ )
+ ) else (
+ if defined ofile (
+ call :testing *FAILED* %jam% -u %ufile% -i %ifile% -o %ofile% %clobber%
+ ) else (
+ call :testing *FAILED* %jam% -u %ufile% -i %ifile% %clobber%
+ )
+ set /a nerrors=%nerrors%+1
+ )
+ call :cleanup %cleanup%
+
+ exit /b
+
+
+rem UNJAMTEST file.h5 [- | --delete] ofile
+rem
+rem Test the 'unjam' tool
+rem
+rem ##fix the working directory here and in jamtest
+:unjamtest
+ set infile=%1
+ set ofile=%3
+ if "%2%"=="-" (
+ set uofile=uofile
+ %unjam_bin% -i %infile% -o %ofile% > !uofile!
+ ) else if "%2"=="--delete" (
+ set uofile=none
+ %unjam_bin% -i %infile% -o %ofile% --delete
+ ) else (
+ set uofile=%2
+ %unjam_bin% -i %infile% -u !uofile! -o %ofile%
+ )
+
+ set result1=0
+ set result2=0
+ set cleanup=
+ if not "%uofile%"=="none" (
+ rem sets results1
+ call :check_ub_1 %infile% %uofile%
+ call :cleanup %uofile%
+ )
+
+ rem sets result2
+ call :check_noub %ofile%
+ if "%result1% and %result2%"=="0 and 0" (
+ if "%2%"=="-" (
+ rem We use "ARROW_RIGHT" here and replace it in :testing because
+ rem Windows interprets it as a pipe. --SJW 8/27/07
+ call :testing PASSED %unjam% -i %infile% -o %ofile% ARROW_RIGHT %uofile%
+ ) else if "%2"=="--delete" (
+ call :testing PASSED %unjam% -i %infile% -o %ofile% --delete
+ ) else (
+ call :testing PASSED %unjam% -i %infile% -u %uofile% -o %ofile%
+ )
+ ) else (
+ if "%2%"=="-" (
+ rem We use "ARROW_RIGHT" here and replace it in :testing because
+ rem Windows interprets it as a pipe. --SJW 8/27/07
+ call :testing *FAILED* %unjam% -i %infile% -o %ofile% ARROW_RIGHT %uofile%
+ ) else if "%2"=="--delete" (
+ call :testing *FAILED* %unjam% -i %infile% -o %ofile% --delete
+ ) else (
+ call :testing *FAILED* %unjam% -i %infile% -u %uofile% -o %ofile%
+ )
+ set /a nerrors=%nerrors%+1
+ )
+
+ exit /b
+
+
+rem This is a Windows-specific function that detects if the filter passed
+rem should be enabled for this test script. It searches H5pubconf.h for the
+rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1"
+rem accordingly. On other platforms, this variable is set in the Makefile.
+rem If we find a better way to test this in the future, we should use it.
+rem --SJW 9/4/07
+:detect_filter
+ findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul
+ if %errorlevel% equ 0 (
+ set use_filter_%1=yes
+ ) else (
+ set use_filter_%1=no
+ )
+
+ exit /b
+
+
+rem ############################################################################
+rem ############################################################################
+rem # T H E T E S T S ###
+rem ############################################################################
+rem ############################################################################
+:main
+ call :jamtest %testfiles%\u10.txt %testfiles%\tall.h5 ta2.h5
+ call :checkfile %testfiles%\tall.h5 ta2.h5
+ call :cleanup ta2.h5
+ call :jamtest %testfiles%\u511.txt %testfiles%\tall.h5 ta3.h5
+ call :checkfile %testfiles%\tall.h5 ta3.h5
+ call :cleanup ta3.h5
+ call :jamtest %testfiles%\u512.txt %testfiles%\tall.h5 ta4.h5
+ call :checkfile %testfiles%\tall.h5 ta4.h5
+ call :cleanup ta4.h5
+ call :jamtest %testfiles%\u513.txt %testfiles%\tall.h5 ta5.h5
+ call :checkfile %testfiles%\tall.h5 ta5.h5
+ call :cleanup ta5.h5
+
+ call :setup %testfiles%\tall.h5 ta.h5
+ call :jamtest %testfiles%\u10.txt ta.h5
+ call :checkfile %testfiles%\tall.h5 ta.h5
+ call :setup %testfiles%\tall.h5 ta.h5
+ call :jamtest %testfiles%\u511.txt ta.h5
+ call :checkfile %testfiles%\tall.h5 ta.h5
+ call :setup %testfiles%\tall.h5 ta.h5
+ call :jamtest %testfiles%\u512.txt ta.h5
+ call :checkfile %testfiles%\tall.h5 ta.h5
+ call :setup %testfiles%\tall.h5 ta.h5
+ call :jamtest %testfiles%\u513.txt ta.h5
+ call :checkfile %testfiles%\tall.h5 ta.h5
+ call :cleanup ta.h5
+
+ call :jamtest %testfiles%\u10.txt %testfiles%\twithub.h5 tax2.h5
+ call :checkfile %testfiles%\tall.h5 tax2.h5
+ call :cleanup tax2.h5
+ call :jamtest %testfiles%\u511.txt %testfiles%\twithub.h5 tax3.h5
+ call :checkfile %testfiles%\tall.h5 tax3.h5
+ call :cleanup tax3.h5
+ call :jamtest %testfiles%\u512.txt %testfiles%\twithub.h5 tax4.h5
+ call :checkfile %testfiles%\tall.h5 tax4.h5
+ call :cleanup tax4.h5
+ call :jamtest %testfiles%\u513.txt %testfiles%\twithub.h5 tax5.h5
+ call :checkfile %testfiles%\tall.h5 tax5.h5
+ call :cleanup tax5.h5
+
+ call :jamtest %testfiles%\u10.txt %testfiles%\twithub513.h5 tax6.h5
+ call :checkfile %testfiles%\tall.h5 tax6.h5
+ call :cleanup tax6.h5
+ call :jamtest %testfiles%\u511.txt %testfiles%\twithub513.h5 tax7.h5
+ call :checkfile %testfiles%\tall.h5 tax7.h5
+ call :cleanup tax7.h5
+ call :jamtest %testfiles%\u512.txt %testfiles%\twithub513.h5 tax8.h5
+ call :checkfile %testfiles%\tall.h5 tax8.h5
+ call :cleanup tax8.h5
+ call :jamtest %testfiles%\u513.txt %testfiles%\twithub513.h5 tax9.h5
+ call :checkfile %testfiles%\tall.h5 tax9.h5
+ call :cleanup tax9.h5
+
+ call :jamtest %testfiles%\u10.txt %testfiles%\twithub.h5 --clobber taz2.h5
+ call :checkfile %testfiles%\tall.h5 taz2.h5
+ call :cleanup taz2.h5
+ call :jamtest %testfiles%\u511.txt %testfiles%\twithub.h5 --clobber taz3.h5
+ call :checkfile %testfiles%\tall.h5 taz3.h5
+ call :cleanup taz3.h5
+ call :jamtest %testfiles%\u512.txt %testfiles%\twithub.h5 --clobber taz4.h5
+ call :checkfile %testfiles%\tall.h5 taz4.h5
+ call :cleanup taz4.h5
+ call :jamtest %testfiles%\u513.txt %testfiles%\twithub.h5 --clobber taz5.h5
+ call :checkfile %testfiles%\tall.h5 taz5.h5
+ call :cleanup taz5.h5
+
+ call :jamtest %testfiles%\u10.txt %testfiles%\twithub513.h5 --clobber taz6.h5
+ call :checkfile %testfiles%\tall.h5 taz6.h5
+ call :cleanup taz6.h5
+ call :jamtest %testfiles%\u511.txt %testfiles%\twithub513.h5 --clobber taz7.h5
+ call :checkfile %testfiles%\tall.h5 taz7.h5
+ call :cleanup taz7.h5
+ call :jamtest %testfiles%\u512.txt %testfiles%\twithub513.h5 --clobber taz8.h5
+ call :checkfile %testfiles%\tall.h5 taz8.h5
+ call :cleanup taz8.h5
+ call :jamtest %testfiles%\u513.txt %testfiles%\twithub513.h5 --clobber taz9.h5
+ call :checkfile %testfiles%\tall.h5 taz9.h5
+ call :cleanup taz9.h5
+
+ call :setup %testfiles%\twithub.h5 tay2.h5
+ call :jamtest %testfiles%\u10.txt tay2.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay2.h5
+ call :cleanup tay2.h5
+ call :setup %testfiles%\twithub.h5 tay3.h5
+ call :jamtest %testfiles%\u511.txt tay3.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay3.h5
+ call :cleanup tay3.h5
+ call :setup %testfiles%\twithub.h5 tay4.h5
+ call :jamtest %testfiles%\u512.txt tay4.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay4.h5
+ call :cleanup tay4.h5
+ call :setup %testfiles%\twithub.h5 tay5.h5
+ call :jamtest %testfiles%\u513.txt tay5.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay5.h5
+ call :cleanup tay5.h5
+
+ call :setup %testfiles%\twithub513.h5 tay6.h5
+ call :jamtest %testfiles%\u10.txt tay6.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay6.h5
+ call :cleanup tay6.h5
+ call :setup %testfiles%\twithub513.h5 tay7.h5
+ call :jamtest %testfiles%\u511.txt tay7.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay7.h5
+ call :cleanup tay7.h5
+ call :setup %testfiles%\twithub513.h5 tay8.h5
+ call :jamtest %testfiles%\u512.txt tay8.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay8.h5
+ call :cleanup tay8.h5
+ call :setup %testfiles%\twithub513.h5 tay9.h5
+ call :jamtest %testfiles%\u513.txt tay9.h5 --clobber
+ call :checkfile %testfiles%\tall.h5 tay9.h5
+ call :cleanup tay9.h5
+
+ call :setup %testfiles%\twithub.h5 tai1.h5
+ call :unjamtest tai1.h5 o10.txt taa1.h5
+ call :checkfile %testfiles%\tall.h5 taa1.h5
+ call :cleanup taa1.h5 tai1.h5 o10.txt
+ call :setup %testfiles%\twithub513.h5 tai2.h5
+ call :unjamtest tai2.h5 o512.txt taa2.h5
+ call :checkfile %testfiles%\tall.h5 taa2.h5
+ call :cleanup taa2.h5 tai2.h5 o512.txt
+
+ call :setup %testfiles%\twithub.h5 tai3.h5
+ call :unjamtest tai3.h5 - taa3.h5
+ call :checkfile %testfiles%\tall.h5 taa3.h5
+ call :cleanup taa3.h5 tai3.h5
+ call :setup %testfiles%\twithub513.h5 tai4.h5
+ call :unjamtest tai4.h5 - taa4.h5
+ call :checkfile %testfiles%\tall.h5 taa4.h5
+ call :cleanup taa4.h5 tai4.h5
+
+ call :setup %testfiles%\twithub.h5 taj2.h5
+ call :unjamtest taj2.h5 --delete tac2.h5
+ call :checkfile %testfiles%\tall.h5 tac2.h5
+ call :cleanup tac2.h5 taj2.h5
+ call :setup %testfiles%\twithub513.h5 taj3.h5
+ call :unjamtest taj3.h5 --delete tac3.h5
+ call :checkfile %testfiles%\tall.h5 tac3.h5
+ call :cleanup tac3.h5 taj3.h5
+
+ if %nerrors% equ 0 (
+ echo.All %jam% tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5ls/testh5ls.bat b/windows/tools/h5ls/testh5ls.bat new file mode 100644 index 0000000..de03685 --- /dev/null +++ b/windows/tools/h5ls/testh5ls.bat @@ -0,0 +1,220 @@ +@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 h5ls tool
+rem
+rem Created: Scott Wegner, 8/28/07
+rem Modified:
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem The tool name
+set h5ls=h5ls%2
+rem The path of the tool binary
+set h5ls_bin=%CD%\..\%h5ls%\%1\%h5ls%
+
+rem Max. lines of output to display if test fails
+set nlines=20
+
+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 %h5ls%
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set test_msg=!test_msg! %%~nxa
+ ) )
+ )
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 8/24/07
+ set test_msg=!test_msg:PERCENT-ZERO=%%0!
+ echo.%test_msg:~0,69% %1
+
+ exit /b
+
+
+rem Run a test and print PASS or *FAIL*. For now, if h5ls can complete
+rem with exit status 0, consider it pass. If a test fails then increment
+rem the `nerrors' global variable and (if $verbose is set) display up to %nlines%
+rem lines of the actual output from the tool test. The actual output is not
+rem removed if $HDF5_NOCLEANUP has a non-zero value.
+rem Arguemnts:
+rem %1 -- actual output filename to use
+rem %2 and on -- argument for the h5ls tool
+:tooltest
+ set expect=%CD%\..\testfiles\%1
+ set expect_parsed=%expect%.parsed
+ set actual=%CD%\..\testfiles\%~n1.out
+ set actual_parsed=%actual%.parsed
+
+ 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 Stderr is included in stdout so that the diff can detect
+ rem any unexpected output from that stream too
+ (
+ echo.#############################
+ rem We strip out the parentesis here because echo on Linux does.
+ rem --SJW 8/28/07
+ echo. output for 'h5ls %params:"=%'
+ echo.#############################
+ pushd %CD%\..\testfiles
+ %h5ls_bin% %params%
+ popd
+ ) >%actual% 2>&1
+
+ set exitcode=%errorlevel%
+
+ rem Windows doesn't have "sed" command, and parsing the files line-by-line
+ rem to emulate Unix takes a very long time. Instead, we simply remove lines
+ rem with "Modified". Do this for actual and expected otput. If there is a
+ rem better alternative in the future, we should use it instead. --SJW 8/22/07
+ for %%a in (expect actual) do (
+ findstr /v /c:" Modified:" !%%a! > tmp.txt
+ move /y tmp.txt !%%a_parsed! > nul
+ )
+
+ if "%exitcode%" neq "0" (
+ call :testing *FAILED* %params%
+ set /a nerrors=!nerrors!+1
+ if "yes"=="%verbose%" (
+ echo.test returned with exit code !exitcode!
+ echo.test output: ^(up to %nlines% lines^)
+ rem Count lines echo'ed, and break out after 20. --SJW 8/28/07
+ set line=0
+ for /f "tokens=* delims=" %%a in (%actual%) do (
+ if !line! geq %nlines% goto break
+ echo.%%a
+ set /a line=!line!+1
+ )
+ :break
+ echo.***end of test output***
+ echo.
+ )
+ rem Don't special case non-existing expected output as Linux does, because
+ rem we depend on it above to parse anyway. It should be an error if it
+ rem doesn't exist. --SJW 8/28/07
+ rem ) else if not exist %expect% (
+ rem rem Create the expect file if it doesn't yet exist
+ rem call :testing CREATED %params%
+ rem copy %actual% %expect% > nul
+ ) else (
+ fc /w %expect_parsed% %actual_parsed% | find "FC: no diff" > nul
+ if !errorlevel! equ 0 (
+ call :testing PASSED %params%
+ ) else (
+ call :testing *FAILED* %params%
+ echo. Expected result differs from actual result
+ set nerrors=!nerrors!+1
+ if "yes"=="%verbose%" fc %expect_parsed% %actual_parsed%
+ )
+ )
+
+ rem Clean up output file
+ if not defined hdf5_nocleanup (
+ del /f %actual% %actual_parsed% %expected_parsed%
+ )
+
+ exit /b
+
+
+rem ############################################################################
+rem ############################################################################
+rem # T H E T E S T S ###
+rem ############################################################################
+rem ############################################################################
+:main
+
+ rem Toss in a bunch of tests. Not sure if they are the right kinds.
+ rem test the help syntax
+ call :tooltest help-1.ls -w80 -h
+ call :tooltest help-2.ls -w80 -help
+ call :tooltest help-3.ls -w80 -?
+
+ rem test simple command
+ call :tooltest tall-1.ls -w80 tall.h5
+ call :tooltest tall-2.ls -w80 -r -d tall.h5
+ call :tooltest tgroup.ls -w80 tgroup.h5
+
+ rem test for displaying groups
+ call :tooltest tgroup-1.ls -w80 -r -g tgroup.h5
+
+ rem test for displaying simple space datasets
+ call :tooltest tdset-1.ls -w80 -r -d tdset.h5
+
+ rem test for displaying soft links
+ call :tooltest tslink-1.ls -w80 -r tslink.h5
+
+ rem test for displaying external and user-defined links
+ call :tooltest textlink-1.ls -w80 -r textlink.h5
+ call :tooltest tudlink-1.ls -w80 -r tudlink.h5
+
+ rem tests for hard links
+ call :tooltest thlink-1.ls -w80 thlink.h5
+
+ rem tests for compound data types
+ call :tooltest tcomp-1.ls -w80 -r -d tcompound.h5
+
+ rem test for the nested compound type
+ call :tooltest tnestcomp-1.ls -w80 -r -d tnestedcomp.h5
+
+ rem test for loop detection
+ call :tooltest tloop-1.ls -w80 -r -d tloop.h5
+
+ rem test for string
+ call :tooltest tstr-1.ls -w80 -r -d tstr.h5
+
+ rem test test file created from lib SAF team
+ call :tooltest tsaf.ls -w80 -r -d tsaf.h5
+
+ rem test for variable length data types
+ call :tooltest tvldtypes1.ls -w80 -r -d tvldtypes1.h5
+
+ rem test for array data types
+ call :tooltest tarray1.ls -w80 -r -d tarray1.h5
+
+ rem test for empty data
+ call :tooltest tempty.ls -w80 -d tempty.h5
+
+ rem test for all dataset types written to attributes
+ rem enable -S for avoiding printing NATIVE types
+ call :tooltest tattr2.ls -w80 -v -S tattr2.h5
+
+ rem tests for error handling.
+ rem test for non-existing file
+ call :tooltest nosuchfile.ls nosuchfile.h5
+
+ if %nerrors% equ 0 (
+ echo.All h5ls tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5mkgrp/testh5mkgrp.bat b/windows/tools/h5mkgrp/testh5mkgrp.bat new file mode 100644 index 0000000..112c106 --- /dev/null +++ b/windows/tools/h5mkgrp/testh5mkgrp.bat @@ -0,0 +1,254 @@ +@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 h5mkgrp tool
+rem
+rem Created: Scott Wegner, 8/29/07
+rem Modified:
+rem
+
+rem We currently only build static version of h5mkgrp, but this batch file is
+rem setup for dll versions, in case we decide to build them in the future.
+rem --SJW 8/29/07
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem The tool name
+set h5mkgrp=h5mkgrp%2
+rem The path of the tool binary
+set h5mkgrp_bin=%CD%\..\%h5mkgrp%\%1\%h5mkgrp%
+rem The h5ls tool name
+set h5ls=h5ls%2
+rem Arguments to the h5ls tool
+set h5ls_args=-vr
+rem The path of the h5ls tool binary
+set h5ls_bin=%CD%\..\%h5ls%\%1\%h5ls%
+
+set nerrors=0
+set verbose=yes
+
+set indir=%CD%\..\testfiles
+set outdir=%CD%\..\testfiles
+
+if not exist %outdir% mkdir %outdir%
+
+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
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set test_msg=!test_msg! %%~nxa
+ ) )
+ )
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 8/24/07
+ set test_msg=!test_msg:PERCENT-ZERO=%%0!
+ echo.%test_msg:~0,69% %1
+
+ exit /b
+
+
+rem Print a line-line message left justified in a field of 70 characters
+rem beginning with the word "Verifying".
+rem
+:verify_h5ls
+ set test_msg=Verifying h5ls file structure
+ for %%a in (%*) do (
+ if %%a neq PASSED (
+ if %%a neq *FAILED* (
+ set test_msg=!test_msg! %%~nxa
+ ) )
+ )
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 8/24/07
+ set test_msg=!test_msg:PERCENT-ZERO=%%0!
+ echo.%test_msg:~0,69% %1
+
+ exit /b
+
+
+rem Run a test and print PASS or *FAIL*. If h5mkgrp can complete
+rem with exit status 0, consider it pass. If a test fails then increment
+rem the `nerrors' global variable.
+rem Assumed arguments:
+rem %* arguments for h5mkgrp.
+:tooltest
+ (
+ echo.#############################
+ echo. output for 'h5mkgrp %*'
+ echo.#############################
+ %h5mkgrp_bin% %*
+ ) > output.out
+
+ if %errorlevel% neq 0 (
+ call :testing *FAILED* %*
+ echo.failed result is:
+ type output.out
+ set nerrors=!nerrors!+1
+ ) else (
+ call :testing PASSED %*
+ )
+
+ rem Clean up output file
+ if not defined hdf5_nocleanup (
+ del /f output.out
+ )
+
+ exit /b
+
+
+rem Call the h5ls tool to verify the correct output data in the destination file
+rem
+:h5lstest
+ set expect=%indir%\%~n1.ls
+ set expect_parsed=%expect%.parsed
+ set actual=%outdir%\%~n1.out
+ set actual_parsed=%actual%.parsed
+
+ rem Stderr is included in stdout so that the diff can detect
+ rem any unexpected output from that stream too
+ (
+ echo.#############################
+ echo.Expected output from h5ls %*
+ echo.#############################
+ %h5ls_bin% %h5ls_args% %*
+ ) >%actual% 2>&1
+ rem Windows doesn't have "sed" command, and parsing the files line-by-line
+ rem to emulate Unix takes a very long time. Instead, we simply remove lines
+ rem with "Modified". Do this for actual and expected otput. If there is a
+ rem better alternative in the future, we should use it instead. --SJW 8/29/07
+ for %%a in (expect actual) do (
+ findstr /v /c:" Modified:" !%%a! > tmp.txt
+ move /y tmp.txt !%%a_parsed! > nul
+ )
+
+ rem Don't special case non-existing expected output as Linux does, because
+ rem we depend on it above to parse anyway. It should be an error if it
+ rem doesn't exist. --SJW 8/29/07
+ rem if not exist %expect% (
+ rem call :verify_h5ls CREATED %*
+ rem copy %actual% %expect%
+ rem )
+
+ fc /w %expect_parsed% %expect_parsed% | find "FC: no diff" > nul
+ if %errorlevel% equ 0 (
+ call :verify_h5ls PASSED %*
+ ) else (
+ call :verify_h5ls *FAILED* %*
+ echo. Expected result ^(*.ls^) differs from actual result ^(*.out^)
+ set /a nerrors=!nerrors!+1
+ if "%verbose%"=="yes" fc %epect% %actual%
+ )
+
+ rem Clean up output file
+ if not defined hdf5_nocleanup (
+ del /f %actual% %actual_parsed% %expect_parsed%
+ )
+
+ exit /b
+
+
+rem Single run of tool
+rem
+rem Assumed arguments:
+rem %1 is test file name
+rem %2 is h5mkgrp options
+rem %* are groups to create
+:runtest
+
+ set fileout=%outdir%\%1
+ shift
+ set h5mkgrp_args=%1
+ rem Filter out quotes
+ set h5mkgrp_args=%h5mkgrp_args:"=%
+ shift
+
+ rem Remove any output file left over from previous test run
+ del /f %fileout% 2> nul
+
+ rem On Windows, the shift command doesn't actually affect %*, so we must
+ rem manipulate a params variable. We need to be careful of how we iterate
+ rem through them, because the " " parameter is tricky on Windows.
+ rem --SJW 8/29/07
+ set params=
+ if not "%1"=="" (
+ set p_num=1
+ for %%a in (%*) do (
+ if !p_num! geq 3 (
+ set params=!params! %%a
+ )
+ set /a p_num=!p_num!+1
+ )
+ rem Remove leading space
+ set params=!params:* =!
+ )
+
+ rem Run test
+ call :tooltest %h5mkgrp_args% %fileout% %params%
+
+ rem Verify that the file created above is correct
+ call :h5lstest %fileout%
+
+ rem Remove output file created, if the "no cleanup" environment variable is
+ rem not defined.
+ rem Why do we echo FILEOUT on Linux? --SJW 8/29/07
+ rem echo.FILEOUT= %fileout%
+ if not defined hdf5_nocleanup (
+ del /f %fileout% 2> nul
+ )
+
+ exit /b
+
+
+rem ############################################################################
+rem # T H E T E S T S ###
+rem ############################################################################
+:main
+ rem Check that help & version is displayed properly
+ call :runtest h5mkgrp_help.h5 "-h"
+ call :runtest h5mkgrp_version.h5 "-V"
+
+ rem Create single group at root level
+ call :runtest h5mkgrp_single.h5 " " single
+ call :runtest h5mkgrp_single.h5 "-v" single
+ call :runtest h5mkgrp_single.h5 "-p" single
+ call :runtest h5mkgrp_single_latest.h5 "-l" latest
+
+ rem Create several groups at root level
+ call :runtest h5mkgrp_several.h5 " " one two
+ call :runtest h5mkgrp_several.h5 "-v" one two
+ call :runtest h5mkgrp_several.h5 "-p" one two
+ call :runtest h5mkgrp_several_latest.h5 "-l" one two
+
+ rem Create various nested groups
+ call :runtest h5mkgrp_nested.h5 "-p" /one/two
+ call :runtest h5mkgrp_nested_latest.h5 "-lp" /one/two
+ call :runtest h5mkgrp_nested_mult.h5 "-p" /one/two /three/four
+ call :runtest h5mkgrp_nested_mult_latest.h5 "-lp" /one/two /three/four
+
+
+ if %nerrors% equ 0 (
+ echo.All h5mkgrp tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5repack/h5repack.bat b/windows/tools/h5repack/h5repack.bat new file mode 100644 index 0000000..8d45115 --- /dev/null +++ b/windows/tools/h5repack/h5repack.bat @@ -0,0 +1,524 @@ +@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 h5repack tool
+rem
+rem Created: Scott Wegner, 8/28/07
+rem Modified:
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+set h5pubconf=%CD%\..\..\src\h5pubconf.h
+
+rem On Windows, the function :detect_filter sets these for us
+call :detect_filter szip
+call :detect_filter deflate
+call :detect_filter shuffle
+call :detect_filter fletcher32
+call :detect_filter nbit
+call :detect_filter scaleoffset
+
+rem The tool name
+set h5repack=h5repack%2
+rem The path of the tool binary
+set h5repack_bin=%CD%\..\%h5repack%\%1\%h5repack%
+
+rem The h5diff tool name
+set h5diff=..\h5diff%2\%1\h5diff%2
+rem The path of the h5diff tool binary
+set h5diff_bin=%CD%\%h5diff%
+
+rem The tool name
+set h5detectszip=testh5repack_detect_szip%2
+rem The path of the tool binary
+set h5detectszip_bin=%CD%\..\testfiles\%h5detectszip%\%1\%h5detectszip%
+
+
+set info_file=..\testfiles\info.h5repack
+
+set file0=h5repack_fill.h5
+set file1=h5repack_objs.h5
+set file2=h5repack_attr.h5
+set file3=h5repack_hlink.h5
+set file4=h5repack_layout.h5
+set file5=h5repack_early.h5
+set file7=h5repack_szip.h5
+set file8=h5repack_deflate.h5
+set file9=h5repack_shuffle.h5
+set file10=h5repack_fletcher.h5
+set file11=h5repack_filters.h5
+set file12=h5repack_nbit.h5
+set file13=h5repack_soffset.h5
+
+
+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
+ 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 Print a line-line message left justified in a field of 70 characters
+rem beginning with the word "Verifying".
+rem
+:verify
+ set test_msg=Verifying h5diff output
+ 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 Print a message that a test has been skipped (because a required filter
+rem was unavailable)
+:skip
+ call :testing -SKIP- %h5repack% %*
+ exit /b
+
+
+rem Call the h5diff tool
+rem
+:difftest
+ %h5diff_bin% %* -q
+ if %errorlevel% neq 0 (
+ call :verify *FAILED* %*
+ set /a nerrors=!nerrors!+1
+ ) else (
+ call :verify PASSED %*
+ )
+
+ exit /b
+
+
+rem Call h5repack
+rem
+:tooltest
+
+ rem Run test.
+ set infile=%CD%\..\testfiles\%1
+ rem Linux uses a $path variable here, but it is unneccessary, and will
+ rem corrupt our Windows PATH if we use it. --SJW 8/28/07
+ rem set path=%CD%
+ rem set outfile=%path%\out.%1
+ set outfile=%CD%\out.%1
+
+ rem We define %params% here because Windows `shift` command doesn't affect
+ rem the %* variable. --SJW 8/28/07
+ set params=%*
+ set params=%params: *=%
+ %h5repack_bin% -i %infile% -o %outfile% %params%
+
+ if %errorlevel% neq 0 (
+ call :testing *FAILED* %*
+ set /a nerrors=!nerrors!+1
+ ) else (
+ call :testing PASSED %*
+ call :difftest %infile% %outfile%
+ )
+ del /f %outfile%
+
+ exit /b
+
+
+rem This is a Windows-specific function that detects if the filter passed
+rem should be enabled for this test script. It searches H5pubconf.h for the
+rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1"
+rem accordingly. On other platforms, this variable is set in the Makefile.
+rem If we find a better way to test this in the future, we should use it.
+rem --SJW 9/4/07
+:detect_filter
+ findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul
+ if %errorlevel% equ 0 (
+ set use_filter_%1=yes
+ ) else (
+ set use_filter_%1=no
+ )
+
+ exit /b
+
+
+rem
+rem The tests
+rem We use the files generated by h5repacktst
+rem Each run generates "<file>.out.h5" and the tool h5diff is used to
+rem compare the input and output files
+rem
+rem the tests are the same as the program h5repacktst, but run from the CLI
+rem
+:main
+
+ rem See which filters are usable (and skip tests for filters we
+ rem don't have). Do this by searching H5pubconf.h to see which
+ rem filters are defined.
+
+ rem detect whether the encoder is present.
+ set use_filter_szip_encoder=no
+ if "%use_filter_szip%"=="yes" (
+ for /f %%a in ('%h5detectszip_bin%') do set use_filter_szip_encoder=%%a
+ )
+
+ rem copy files (these files have no filters)
+ call :tooltest %file0%
+ call :tooltest %file1%
+ call :tooltest %file2%
+ call :tooltest %file3%
+ call :tooltest %file4%
+ call :tooltest %file5%
+
+
+ rem use %file4% to write some filters (this file has no filters)
+
+ rem gzip with individual object
+ set arg=%file4% -f dset1:GZIP=1 -l dset1:CHUNK=20x10
+ if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem gzip for all
+ set arg=%file4% -f GZIP=1
+ if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem szip with individual object
+ set arg=%file4% -f dset2:SZIP=8,EC -l dset2:CHUNK=20x10
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem szip for all
+ set arg=%file4% -f SZIP=8,NN
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem shuffle with individual object
+ set arg=%file4% -f dset2:SHUF -l dset2:CHUNK=20x10
+ if not "%use_filter_shuffle%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+
+ rem shuffle for all
+ set arg=%file4% -f SHUF
+ if not "%use_filter_shuffle%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem fletcher32 with individual object
+ set arg=%file4% -f dset2:FLET -l dset2:CHUNK=20x10
+ if not "%use_filter_fletcher32%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem fletcher32 for all
+ set arg=%file4% -f FLET
+ if not "%use_filter_fletcher32%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem all filters
+ set arg=%file4% -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10
+ rem On Windows we must check each filter individually, because we don't have
+ rem -o flag like Linux. --SJW 8/28/07
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_shuffle%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_fletcher32%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem ##########################################################
+ rem the following tests assume the input files have filters
+ rem ##########################################################
+
+ rem szip copy
+ set arg=%file7%
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem szip remove
+ set arg=%file7% -f dset_szip:NONE
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem deflate copy
+ set arg=%file8%
+ if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem deflate remove
+ set arg=%file8% -f dset_deflate:NONE
+ if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem shuffle copy
+ set arg=%file9%
+ if not "%use_filter_shuffle%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem shuffle remove
+ set arg=%file9% -f dset_shuffle:NONE
+ if not "%use_filter_shuffle%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem fletcher32 copy
+ set arg=%file10%
+ if not "%use_filter_fletcher32%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem fletcher32 remove
+ set arg=%file10% -f dset_fletcher32:NONE
+ if not "%use_filter_fletcher32%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem nbit copy
+ set arg=%file12%
+ if not "%use_filter_nbit%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem nbit remove
+ set arg=%file12% -f dset_nbit:NONE
+ if not "%use_filter_nbit%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem nbit add
+ set arg=%file12% -f dset_int31:NBIT
+ if not "%use_filter_nbit%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem scaleoffset copy
+ set arg=%file13%
+ if not "%use_filter_scaleoffset%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem scaleoffset add
+ set arg=%file13% -f dset_none:SOFF=31,IN
+ if not "%use_filter_scaleoffset%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem scaleoffset remove
+ set arg=%file13% -f dset_scaleoffset:NONE
+ if not "%use_filter_scaleoffset%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem remove all filters
+ set arg=%file11% -f NONE
+ if not "%use_filter_fletcher32%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_shuffle%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_nbit%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_scaleoffset%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem filter conversions
+
+ set arg=%file8% -f dset_deflate:SZIP=8,NN
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ set arg=%file7% -f dset_szip:GZIP=1
+ if not "%use_filter_szip_encoder%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_szip%"=="yes" (
+ call :skip %arg%
+ ) else if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+
+ rem limit
+ set arg=%file4% -f GZIP=1 -m 1024
+ if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+ rem file
+ set arg=%file4% -e %info_file%
+ if not "%use_filter_deflate%"=="yes" (
+ call :skip %arg%
+ ) else (
+ call :tooltest %arg%
+ )
+
+
+ rem ########################################################
+ rem layout options (these files have no filters)
+ rem ########################################################
+
+ call :tooltest %file4% -l dset2:CHUNK=20x10
+ call :tooltest %file4% -l CHUNK=20x10
+ call :tooltest %file4% -l dset2:CONTI
+ call :tooltest %file4% -l CONTI
+ call :tooltest %file4% -l dset2:COMPA
+ call :tooltest %file4% -l COMPA
+
+
+ rem ###############################################################
+ rem layout conversions (file has no filters)
+ rem ##############################################################
+
+ set arg1=%file4% -l dset_compact:CONTI
+ set arg2=%file4% -l dset_compact:CHUNK=2x5
+ set arg3=%file4% -l dset_compact:COMPA
+ set arg4=%file4% -l dset_contiguous:COMPA
+ set arg5=%file4% -l dset_contiguous:CHUNK=3x6
+ set arg6=%file4% -l dset_contiguous:CONTI
+ set arg7=%file4% -l dset_chunk:COMPA
+ set arg8=%file4% -l dset_chunk:CONTI
+ set arg9=%file4% -l dset_chunk:CHUNK=18x13
+ call :tooltest %arg1%
+ call :tooltest %arg2%
+ call :tooltest %arg3%
+ call :tooltest %arg4%
+ call :tooltest %arg5%
+ call :tooltest %arg6%
+ call :tooltest %arg7%
+ call :tooltest %arg8%
+ call :tooltest %arg9%
+
+ rem native option
+ set arg=%file1% -n
+ call :tooltest %arg%
+
+
+ if %nerrors% equ 0 (
+ echo.All %h5repack% tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5repart/testh5repart.bat b/windows/tools/h5repart/testh5repart.bat new file mode 100644 index 0000000..70ad229 --- /dev/null +++ b/windows/tools/h5repart/testh5repart.bat @@ -0,0 +1,148 @@ +@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 h5repart tool
+rem
+rem Created: Scott Wegner, 8/29/07
+rem Modified:
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+rem The tool name
+set repart=h5repart%2
+rem The path of the tool library
+set repart_bin=%CD%\..\%repart%\%1\%repart%
+
+rem The test name
+set reparted_fam=h5reparttst
+rem The path of the test binary
+set reparted_fam_bin=%CD%\..\testfiles\%reparted_fam%\%1\%reparted_fam%
+
+set nerrors=0
+set verbose=yes
+
+if not exist ..\testfiles mkdir ..\testfiles
+
+set actual_dir=%CD%\..\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
+ ) )
+ )
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 9/4/07
+ set test_msg=!test_msg:PERCENT-ZERO=%%0!
+ 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.
+rem
+:tooltest
+ rem Run tool test.
+ (
+ rem We need to replace PERCENT-ZERO here with "%0" for the tfamily test.
+ rem --SJW 9/4/07
+ set params=%*
+ set params=!params:PERCENT-ZERO=%%0!
+ pushd %CD%\..\testfiles
+ %repart_bin% !params!
+ popd
+ )
+
+ if %errorlevel% equ 0 (
+ call :testing PASSED %repart% %*
+ ) else (
+ call :testing *FAILED* %repart% %*
+ set /a nerrors=!nerrors!+1
+ )
+
+ exit /b
+
+
+:outputtest
+ rem Run test program
+ (
+ pushd %actual_dir%
+ %reparted_fam_bin% %*
+ popd
+ )
+
+ if %errorlevel% equ 0 (
+ call :testing PASSED %reparted_fam% %*
+ ) else (
+ call :testing *FAILED* %reparted_fam% %*
+ set /a nerrors=!nerrors!+1
+ )
+
+ 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 On Windows, we pass "PERCENT-ZERO", and let other calls replace it with
+ rem the "%0". We cannot pass "%0" directly because Windows interprets it as
+ rem the name of the script. --SJW 9/4/07
+
+ rem repartition family member size to 20,000 bytes.
+ call :tooltest -m 20000 family_filePERCENT-ZERO5d.h5 %actual_dir%\fst_familyPERCENT-ZERO5d.h5
+ rem repartition family member size to 5 KB.
+ call :tooltest -m 5k family_filePERCENT-ZERO5d.h5 %actual_dir%\scd_familyPERCENT-ZERO5d.h5
+ rem convert family file to sec2 file of 20,000 bytes
+ call :tooltest -m 20000 -family_to_sec2 family_filePERCENT-ZERO5d.h5 %actual_dir%\family_to_sec2.h5
+
+ rem test the output files repartitioned above.
+ call :outputtest
+ echo.
+
+ if %nerrors% equ 0 (
+ echo.All %repart% tests passed.
+ )
+
+ rem Clean up output file
+ if not defined hdf5_nocleanup (
+ pushd %actual_dir%
+ del /f fst_family*.h5 scd_family*.h5 family_to_sec2.h5
+ popd
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/h5stat/testh5stat.bat b/windows/tools/h5stat/testh5stat.bat new file mode 100644 index 0000000..3bc6ab0 --- /dev/null +++ b/windows/tools/h5stat/testh5stat.bat @@ -0,0 +1,176 @@ +@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 h5stat tool
+rem
+rem Created: Scott Wegner, 8/28/07
+rem Modified:
+rem
+
+setlocal enabledelayedexpansion
+pushd %~dp0
+
+set h5pubconf=%CD%\..\..\src\h5pubconf.h
+
+rem Determine which filters are available
+rem On Windows, the function :detect_filter sets these for us
+call :detect_filter szip
+call :detect_filter deflate
+call :detect_filter shuffle
+call :detect_filter fletcher32
+call :detect_filter nbit
+call :detect_filter scaleoffset
+
+rem The tool name
+set stat=h5stat%2
+rem The path of the tool binary
+set stat_bin=%CD%\..\%stat%\%1\%stat%
+
+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
+ 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/28/07
+ set params=%*
+ set params=%params:* =%
+
+ rem Run test.
+ (
+ echo.#############################
+ rem Filter out quotes because they do on Linux. --SJW 8/28/07
+ echo.Expected output for 'h5stat %params:"=%'
+ echo.#############################
+ pushd %CD%\testfiles
+ %stat_bin% %params%
+ popd
+ ) > %actual% 2> %actual_err%
+ type %actual_err% >> %actual%
+
+
+ if not exist %expect% (
+ rem Create the expect file if it doesn't yet exist
+ call :testing CREATED %stat% %params%
+ copy /y %actual% %expect%
+ ) else (
+ fc /w %expect% %actual% | find "FC: no diff" > nul
+ if !errorlevel! equ 0 (
+ call :testing PASSED %stat% %params%
+ ) else (
+ call :testing *FAILED* %stat% %params%
+ echo. Expected results ^(*.ddl^) differs from actual result ^(*.out^)
+ set /a nerrors=!nerrors!+1
+ if "yes"=="%verbose%" fc %expect% %actual%
+ )
+ )
+
+ rem Clean up output file
+ if not defined hdf5_nocleanup (
+ del /f %actual% %actual_err%
+ )
+
+ exit /b
+
+
+rem This is a Windows-specific function that detects if the filter passed
+rem should be enabled for this test script. It searches H5pubconf.h for the
+rem string "#define H5_HAVE_FILTER_%1" and sets the variable "use_filter_%1"
+rem accordingly. On other platforms, this variable is set in the Makefile.
+rem If we find a better way to test this in the future, we should use it.
+rem --SJW 9/4/07
+:detect_filter
+ findstr /b /i /c:"#define H5_HAVE_FILTER_%1" %h5pubconf% > nul
+ if %errorlevel% equ 0 (
+ set use_filter_%1=yes
+ ) else (
+ set use_filter_%1=no
+ )
+
+ 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 for help flag
+ call :tooltest h5stat_help1.ddl -h
+ call :tooltest h5stat_help2.ddl --help
+
+ rem Test file with groups, compressed datasets, user-applied fileters, etc.
+ rem h5stat_filters.h5 is a copy of ../../testfiles/tfilters.h5 as of release 1.8.0-alpha4
+ call :tooltest h5stat_filters.ddl h5stat_filters.h5
+ call :tooltest h5stat_filters-file.ddl -f h5stat_filters.h5
+ call :tooltest h5stat_filters-F.ddl -F h5stat_filters.h5
+ call :tooltest h5stat_filters-d.ddl -d h5stat_filters.h5
+ call :tooltest h5stat_filters-g.ddl -g h5stat_filters.h5
+ call :tooltest h5stat_filters-dT.ddl -dT h5stat_filters.h5
+ rem h5stat_tsohm.h5 is a copy of ../../../test/tsohm.h5 generated by tsohm.c
+ rem as of release 1.8.0-alpha4
+ call :tooltest h5stat_tsohm.ddl h5stat_tsohm.h5
+ rem h5stat_newgrat.h5 is generated by h5stat_gentest.c
+ call :tooltest h5stat_newgrat.ddl h5stat_newgrat.h5
+ echo.
+
+ if %nerrors% equ 0 (
+ echo.All %stat% tests passed.
+ )
+
+ popd
+ endlocal & exit /b %nerrors%
+
\ No newline at end of file diff --git a/windows/tools/importtest.BAT b/windows/tools/importtest.BAT deleted file mode 100755 index a506594..0000000 --- a/windows/tools/importtest.BAT +++ /dev/null @@ -1,197 +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 is for h5import tests
-::Usage
-:: importtest release -- release static version
-:: importtest debug -- debug static version
-:: importtest release dll -- release dll version
-:: importtest 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 h5diff
-::**********************************************
-
-:: Make a tempory directory for difftest
- mkdir temptest
-
-:: Run h5importtst
-cd testfiles\h5importtst\%1
-h5importtst.exe
-
-cd ..\..\..\
-
-::****************************************************
-:: Set the Environment Variables & Change Dir to .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
-
- :: Set up some variables for convenience
- :: tempResults will contain the tests results temporarily
- set tempResults=importtest%2_%1.txt
- :: exefile will contain the file name of the executable file
- set exefile=h5import%p2%
- :: tooltest is the sub-batch file which will be called by tool test
- set tooltest=..\..\tooltest
- ::Handle the expected file and the actual output file
- ::ln is the total line numbers to be deleted from the actual output
- set ln=1
- ::ln_exp is the total line numbers to be deleted from the expected output
- set ln_exp=4
-
- ::Set some variables to contain .h5 file and its path for convenience
- ::Create the file to contain the tests output
- type nul > %tempResults%
-
- :: Set up Variables
- :: h5import%2 ..\..\testfiles\h5importtst\%1\txtin32 -c ..\..\h5import\testfiles\textin32 -o ..\..\temptest\act_h5\test1.h5
-
- ::Set up variables for h5import input files
- for %%i in (testfiles\h5importtst\%1\t*) do set %%~ni=..\..\testfiles\h5importtst\%p1%\%%~ni
- for %%i in (testfiles\h5importtst\%1\b*) do set %%~ni=..\..\testfiles\h5importtst\%p1%\%%~ni
-
- ::Set up variables for h5import configure files
- for %%i in (h5import\testfiles\text*) do set %%~ni=..\..\h5import\testfiles\%%~ni
- for %%i in (h5import\testfiles\txt*) do set %%~ni=..\..\h5import\testfiles\%%~ni
- for %%i in (h5import\testfiles\con*) do set %%~ni=..\..\h5import\testfiles\%%~ni
- for %%i in (in1 fp1 fp2) do ( set %%i=..\..\h5import\testfiles\%%i)
-
- ::Set up variables for h5import output files
- for %%i in (h5import\testfiles\test*) do set out.%%~ni=..\..\temptest\out.%%~ni.h5
-
- ::Change directory to the directory where the .exe file is located
- cd h5import%p2%\%p1%
-
-::*********************************************
-:: Test each function by calling TOOLTEST.BAT
-::*********************************************
-::USAGE of importtest.bat
-::1. Set flag
-::2. Call batch file tooltest.bat followed with the expected file name
-::3. Example
-
-
-echo.
-echo.****************************************************
-echo. h5import%2 %1 T E S T S
-echo.****************************************************
-
-::TESTING "ASCII I32 rank 3 - Output BE
-set flag=%txtin32% -c %textin32% -o %out.test1%
-call %tooltest% textin32 test1.h5
-
-::TESTING "ASCII I16 rank 3 - Output LE - CHUNKED - extended"
-set flag=%txtin16% -c %textin16% -o %out.test2%
-call %tooltest% textin16.txt test2.h5
-
-::TESTING "ASCII I8 - rank 3 - Output I16 LE-Chunked+Extended+Compressed "
-set flag=%txtin16% -c %textin8% -o %out.test3%
-call %tooltest% textin8.txt test3.h5
-
-::TESTING "ASCII UI32 - rank 3 - Output BE"
-set flag=%in1% -c %textuin32% -o %out.test4%
-call %tooltest% textuin32.txt test4.h5
-
-::TESTING "ASCII UI16 - rank 2 - Output LE+Chunked+Compressed "
-set flag=%in1% -c %textuin16% -o %out.test5%
-call %tooltest% textuin16.txt test5.h5
-
-::TESTING "ASCII F32 - rank 3 - Output LE "
-set flag=%fp1% -c %textfp32% -o %out.test6%
-call %tooltest% textfp32.txt test6.h5
-
-::TESTING "ASCII F64 - rank 3 - Output BE + CHUNKED+Extended+Compressed "
-set flag=%fp2% -c %textfp64% -o %out.test7%
-call %tooltest% textfp64.txt test7.h5
-
-::TESTING "BINARY F64 - rank 3 - Output LE+CHUNKED+Extended+Compressed "
-set flag=%bfp64% -c %conbfp64% -o %out.test8%
-call %tooltest% conbfp64.txt test8.h5
-
-::TESTING "BINARY I16 - rank 3 - Output order LE + CHUNKED + extended "
-set flag=%bin16% -c %conbin16% -o %out.test9%
-call %tooltest% conbin16.txt test9.h5
-
-::TESTING "BINARY I8 - rank 3 - Output I16LE + Chunked+Extended+Compressed "
-set flag=%bin8% -c %conbin8% -o %out.test10%
-call %tooltest% conbin8.txt test10.h5
-
-::TESTING "BINARY I32 - rank 3 - Output BE + CHUNKED "
-set flag=%bin32% -c %conbin32% -o %out.test11%
-call %tooltest% conbin32.txt test11.h5
-
-::TESTING "BINARY UI16 - rank 3 - Output byte BE + CHUNKED "
-set flag=%buin16% -c %conbuin16% -o %out.test12%
-call %tooltest% conbuin.txt test12.h5
-
-::TESTING "BINARY UI32 - rank 3 - Output LE + CHUNKED "
-set flag=%buin32% -c %conbuin32% -o %out.test13%
-call %tooltest% conbuin32.txt test13.h5
-
-::TESTING "STR"
-set flag=%txtstr% -c %textstr% -o %out.teststr%
-call %tooltest% textstr.txt teststr.h5
-
-::Change directory to hdf5\tools
-cd ..\..
-
-::Check if any of tests failed or skiped for the time being
-echo.
-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!
-find "SKIPED" %tempResults% | more +2
-)
-
-::Clean up Environment Variables
-for %%i in (p1 p2 tempResults exefile tooltest ln ln_exp totalskip totalerr) do set %%i=
-set flag=
-
-::Clean up the variables set for h5import input files
-for %%i in (testfiles\h5importtst\%1\t*) do set %%~ni=
-for %%i in (testfiles\h5importtst\%1\b*) do set %%~ni=
-
-::Clean up the variables set for h5import configure files
-for %%i in (h5import\testfiles\text*) do set %%~ni=
-for %%i in (h5import\testfiles\txt*) do set %%~ni=
-for %%i in (h5import\testfiles\con*) do set %%~ni=
-for %%i in (in1 fp1 fp2) do ( set %%i=..\..\h5import\testfiles\%%i)
-
-::Clean up the variables set for h5import output files
-for %%i in (h5import\testfiles\test*) do (
-set out.%%~ni=
-)
-::Clean up Temporary Files
-rmdir /s/q temptest
-
-
diff --git a/windows/tools/jamtest.bat b/windows/tools/jamtest.bat deleted file mode 100644 index effe166..0000000 --- a/windows/tools/jamtest.bat +++ /dev/null @@ -1,148 +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.
-
-@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
-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
-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
-@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 >> ..\..\%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 >> ..\..\%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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-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
-echo h5jam -u u513.txt -i tay9.h5 --clobber PASSED >> ..\..\%tempResult%
-del temp.txt
-del *.h5
-set tempResult=
-set p1=
-set p2=
-cd ../..
diff --git a/windows/tools/lstest.BAT b/windows/tools/lstest.BAT deleted file mode 100755 index b37657d..0000000 --- a/windows/tools/lstest.BAT +++ /dev/null @@ -1,175 +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 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=
-
diff --git a/windows/tools/mask.BAT b/windows/tools/mask.BAT deleted file mode 100755 index 5af2b66..0000000 --- a/windows/tools/mask.BAT +++ /dev/null @@ -1,22 +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.
-
-type nul > %2
-for /f "tokens=1,2*" %%a in (
- %1
-) do ( if %%a==Modified: (
- echo Modified: XXXX-XX-XX XX:XX:XX XXX>> %2
-) else (
- echo %%a %%b %%c>>%2
-)
-)
diff --git a/windows/tools/repacktest.BAT b/windows/tools/repacktest.BAT deleted file mode 100755 index 688da3e..0000000 --- a/windows/tools/repacktest.BAT +++ /dev/null @@ -1,523 +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 is for h5repack tests
-::Usage
-:: repacktest release -- release static version
-:: repacktest debug -- debug static version
-:: repacktest release dll -- release dll version
-:: repacktest debug dll -- debug dll version
-:: Written By: Fang GUO
-:: Date : Jan. 12, 2006
-
-::What is actually doing?
-::Example case
-::h5repack -i ..\..\testfiles\test_objs.h5 -o ..\..\temptest\out.test_objs.h5
-::h5diff ..\..\testfiles\test_objs.h5 ..\..\temptest\out.test_objs.h5 > ..\..\temptest\temp.txt 2>&1
-::fc ..\..\temptest\temp.txt temptest\notcomp.txt
-::if %ERRORLEVEL%==0 (
-:: echo Testing h5repack test_objs.h5 PASSED >> ..\..\repacktest%2_%1.txt
-::) else (
-:: echo Testing h5repack test_objs.h5 FAILED >> ..\..\repacktest%2_%1.txt
-:: more temp.txt >> ..\..\repacktest%2_%1.txt
-::)
-
-
-
- :: We will check whether the SZIP library available includes encoder or not by
- :: calling the szip encoder detecting executable file testh5repack_detect_szip(dll).exe
- :: and check the printed value.
- :: If the printed value is "yes", then the SZIP library has encoder, HDF5_SZIP_ENCODE will be set as 1.
- :: Otherwise, HDF5_SZIP_ENCODE will be set as 0, and some tests will be skipped.
-
- FOR /F "delims=" %%a in ('testfiles\testh5repack_detect_szip%2\%1\testh5repack_detect_szip%2.exe') Do Set "Output=%%a"
- if "%Output%"=="yes" (
- Set HDF5_SZIP_ENCODE=1
- ) else (
- Set HDF5_SZIP_ENCODE=0
- )
-
-:: Track total number of testing errors
- set /A totalerr=0
- set /A totalskip=0
-
-::*******************************************************************
-:: Generate a new temp directory for test h5repack and reference file
-::*******************************************************************
- ::Make a temporary directory for testing h5repack
- mkdir temptest
-
- :: Reference Files
- :: After running h5repack with a input .h5 file, it will use
- :: h5diff to compare the expected .h5 file with the output
- :: .h5 file generated by h5repack. The comparison results will be
- :: one of the following two cases.
-
- :: Case 1: No difference between the expected .h5 and .h5 generated by h5repack file
- type nul > temptest\empty.txt
-
- ::Case 2: For test_objs.h5 and test_attr.h5, the output will be "Some objects
- :: are not comparable", but actually there is no difference between
-
- type nul > temptest\notcomp.txt
- echo -------------------------------->>temptest\notcomp.txt
- echo Some objects are not comparable>> temptest\notcomp.txt
- echo -------------------------------->>temptest\notcomp.txt
- echo Use -v for a list of objects.>> temptest\notcomp.txt
-
- :: Set two variables to contain the following two file names and paths
- set nodiff=..\..\temptest\empty.txt
- set notcomp=..\..\temptest\notcomp.txt
-
-::****************************************************
-:: Set the Environment Variables & Change Dir to .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
-
- :: Set file name for the test results
- set tempResults=repacktest%2_%1.txt
- :: Set exe file name
- set exefile=h5repack%p2%
- :: Set a variable for the sub batch file tools\tooltest.bat
- set tooltest=..\..\tooltest
-
- :: Set Variables to contain the file name and path of input and output files for testing h5repack
- for %%v in (_fill _objs _attr _hlink _layout _early _szip _deflate _shuffle _fletcher _filters _nbit _soffset) do (
- set test%%v=..\..\testfiles\h5repack%%v.h5
- set output%%v=..\..\temptest\out.h5repack%%v.h5
- )
-
- :: Creat the file for saving the tests results
- type nul > %tempResults%
-
- :: Change to the direcotory where the .exe file is located
- cd h5repack%p2%\%p1%
-
-::*********************************************
-:: Test each function by calling TOOLTEST.BAT
-::*********************************************
-
-echo.
-echo.****************************************************
-echo. h5repack%2 %1 T E S T S
-echo.****************************************************
-
-:: STARTING COMMENTS
-::Basic Usage:
-::1. Set flag
-::2. Call batch file tooltest.bat followed with the expected file name
-::3. Example
-::If we want to test
-::h5repack -i ..\..\testfiles\test_objs.h5 -o ..\..\temptest\out.test_objs.h5
-::At first, we need to set the flag like
-::set flag=-i %test_objs% -o %output1%
-::Secondly, we call batch file tooltest.bat followed by one of reference files
-::call %tooltest% %test_objs% %notcomp%
-
-:: Using Filters (Zlib, SZIP)
-::1. Set flag
-::2. Call batch file tooltest.bat followed with the expected file name, zlib\szip
-::3. Example
-::If we want to test
-::h5repack -i ..\..\testfiles\test_layout.h5 -o ..\..\temptest\out.test_layout.h5 f dset2:SZIP=8,EC -l dset2:CHUNK=20x10
-
-::At first, we need to set the flag like
-::set flag=-i %test_layout% -o %output_layout% f dset2:SZIP=8,EC -l dset2:CHUNK=20x10
-
-::Secondly, we call batch file tooltest.bat followed by one of reference files and szip
-::call %tooltest% %test_layout% %nodiff% szip
-
-::Similarly, if you are using zlib, replace "szip" with "zlib" when calling %tooltest%
-::If you are using both zlib and szip, replace "szip" with "zlib szip" when calling %tooltest%
-::The order of "zlib szip" does matter.
-
-::Skip Tests
-::Put "skip" after the reference file, like the following
-::set flag=-i %test_scaleoffset% -o %output_scaleoffset% -f dset_none:SOFF=31,IN
-::call %tooltest% %test_scaleoffset% %nodiff% skip
-:: END COMMENTS
-
-::--------------
-:: test0.h5
-::--------------
-set flag=-i %test_fill% -o %output_fill%
-call %tooltest% %test_fill% %nodiff%
-
-
-::This case will be used as an example case for
-::illustration purpose inside tooltest.bat for repacktest
-::--------------
-:: test_objs.h5
-::--------------
-
-:: Actually we are doing:
-:: set flag=-i ..\..\testfiles\test_objs.h5 -o ..\..\temptest\out.test_objs.h5
-:: call ..\..\tooltest ..\..\testfiles\test_objs.h5 ..\..\temptest\notcomp.txt
-
-set flag=-i %test_objs% -o %output_objs%
-call %tooltest% %test_objs% %notcomp%
-
-
-::--------------
-:: test2.h5
-::--------------
-set flag=-i %test_attr% -o %output_attr%
-call %tooltest% %test_attr% %notcomp%
-
-::--------------
-:: test3.h5
-::--------------
-set flag=-i %test_hlink% -o %output_hlink%
-call %tooltest% %test_hlink% %nodiff%
-
-
-::--------------
-:: test_layout.h5
-::--------------
-set flag=-i %test_layout% -o %output_layout%
-call %tooltest% %test_layout% %nodiff%
-
-::--------------
-:: test_early.h5
-::--------------
-set flag=-i %test_early% -o %output_early%
-call %tooltest% %test_early% %nodiff%
-
-::****************************************************************
-:: use test_layout.h5 to write some filters (this file has no filters)
-::****************************************************************
-
-::---------------------------
-::gzip with individual object
-::---------------------------
-set flag=-i %test_layout% -o %output_layout% -f dset1:GZIP=1 -l dset1:CHUNK=20x10
-call %tooltest% %test_layout% %nodiff% zlib
-
-::-------------
-::gzip for all
-::-------------
-set flag=-i %test_layout% -o %output_layout% -f GZIP=1
-call %tooltest% %test_layout% %nodiff% zlib
-
-::--------------------------
-::szip for individual object
-::--------------------------
-set flag=-i %test_layout% -o %output_layout% f dset2:SZIP=8,EC -l dset2:CHUNK=20x10
-call %tooltest% %test_layout% %nodiff% szip
-
-::--------------
-:: szip for all
-::--------------
-set flag=-i %test_layout% -o %output_layout% -f SZIP=8,NN
-call %tooltest% %test_layout% %nodiff% szip
-
-::-------------------------------
-:: shuffle with individual object
-::-------------------------------
-set flag=-i %test_layout% -o %output_layout% -f dset2:SHUF -l dset2:CHUNK=20x10
-call %tooltest% %test_layout% %nodiff%
-
-::----------------
-:: shuffle for all
-::----------------
-set flag=-i %test_layout% -o %output_layout% -f SHUF
-call %tooltest% %test_layout% %nodiff%
-
-::-----------------------------------
-:: fletcher32 with individual object
-::-----------------------------------
-set flag=-i %test_layout% -o %output_layout% -f dset2:FLET -l dset2:CHUNK=20x10
-call %tooltest% %test_layout% %nodiff%
-
-::--------------------
-:: fletcher32 for all
-::--------------------
-set flag=-i %test_layout% -o %output_layout% -f FLET
-call %tooltest% %test_layout% %nodiff%
-
-::------------
-::all filters
-::------------
-set flag=-i %test_layout% -o %output_layout% -f dset2:SHUF -f dset2:FLET -f dset2:SZIP=8,NN -f dset2:GZIP=1 -l dset2:CHUNK=20x10
-
-:: Check whether szlib or zlib is available, if either library is not available, skip the test.
-
-if "%HDF5_EXT_SZIP%"=="" (
- call %tooltest% %test_layout% %nodiff% skip
- )else (
- if "%HDF5_EXT_ZLIB%"=="" (
- call %tooltest% %test_layout% %nodiff% skip
- ) else (
- call %tooltest% %test_layout% %nodiff%
- )
- )
-:: ***********************************************************
-:: If the filter exists,the following tests assume the input files have filters
-:: ***********************************************************
-
-::-----------
-:: szip copy
-::-----------
-set flag=-i %test_szip% -o %output_szip%
-
-::-----------
-:: The following checks whether szip library is available,
-:: If not, skip the test.
-::-----------
-if "%HDF5_EXT_SZIP%"=="" (
- call %tooltest% %test_szip% %nodiff% skip
-) else (
- call %tooltest% %test_szip% %nodiff%
-)
-
-::------------
-::szip remove
-::------------
-set flag=-i %test_szip% -o %output_szip% -f dset_szip:NONE
-
-::-----------
-:: The following checks whether szip library is available,
-:: If not, skip the test.
-::-----------
-if "%HDF5_EXT_SZIP%"=="" (
- call %tooltest% %test_szip% %nodiff% skip
-) else (
- call %tooltest% %test_szip% %nodiff%
-)
-
-::--------------
-:: deflate copy
-::--------------
-set flag=-i %test_deflate% -o %output_deflate%
-
-::-----------
-:: The following checks whether zlib library is available,
-:: If not, skip the test.
-::-----------
-if "%HDF5_EXT_ZLIB%"=="" (
- call %tooltest% %test_deflate% %nodiff% skip
-) else (
- call %tooltest% %test_deflate% %nodiff%
-)
-
-::---------------
-:: deflate remove
-::---------------
-set flag=-i %test_deflate% -o %output_deflate% -f dset_deflate:NONE
-
-::-----------
-:: The following checks whether zlib library is available,
-:: If not, skip the test.
-::-----------
-if "%HDF5_EXT_ZLIB%"=="" (
- call %tooltest% %test_deflate% %nodiff% skip
-) else (
- call %tooltest% %test_deflate% %nodiff%
-)
-
-
-::--------------
-:: shuffle copy
-::--------------
-set flag=-i %test_shuffle% -o %output_shuffle%
-call %tooltest% %test_shuffle% %nodiff%
-
-::----------------
-:: shuffle remove
-::----------------
-set flag=-i %test_shuffle% -o %output_shuffle% -f dset_shuffle:NONE
-call %tooltest% %test_shuffle% %nodiff%
-
-::-----------------
-:: fletcher32 copy
-::-----------------
-set flag=-i %test_fletcher% -o %output_fletcher%
-call %tooltest% %test_fletcher% %nodiff%
-
-::------------------
-:: fletcher32 remove
-::------------------
-set flag=-i %test_fletcher% -o %output_fletcher% -f dset_fletcher32:NONE
-call %tooltest% %test_fletcher% %nodiff%
-
-::----------
-:: nbit copy
-::----------
-set flag=-i %test_nbit% -o %output_nbit%
-call %tooltest% %test_nbit% %nodiff%
-
-::------------
-:: nbit remove
-::------------
-set flag=-i %test_nbit% -o %output_nbit% -f dset_nbit:NONE
-call %tooltest% %test_nbit% %nodiff%
-
-::---------
-:: nbit add
-::---------
-set flag=-i %test_nbit% -o %output_nbit% -f dset_int31:NBIT
-call %tooltest% %test_nbit% %nodiff%
-
-::----------------
-:: scaleoffset add
-::----------------
-set flag=-i %test_soffset% -o %output_soffset% -f dset_none:SOFF=31,IN
-call %tooltest% %test_soffset% %nodiff%
-
-::-----------------
-:: scaleoffset copy
-::-----------------
-set flag=-i %test_soffset% -o %output_soffset%
-call %tooltest% %test_soffset% %nodiff%
-
-::-------------------
-:: scaleoffset remove
-::-------------------
-set flag=-i %test_soffset% -o %output_soffset% -f dset_scaleoffset:NONE
-call %tooltest% %test_soffset% %nodiff%
-
-::--------------------
-:: remove all filters
-::--------------------
-
-::--------------------
-::-- Currently this test is very difficult to be tested on windows since the internal filters
-::-- such as fletcher32, scaleoffset, shuffle is hard to be checked in batch files.
-::-- Now only szip and deflate filters are checked. KY 2006-11-20
-
-:: Check whether szlib or zlib is available, if either library is not available, skip the test.
-set flag=-i %test_filters% -o %output_filters% -f NONE
-if "%HDF5_EXT_SZIP%"=="" (
- call %tooltest% %test_filters% %nodiff% skip
- )else (
- if "%HDF5_EXT_ZLIB%"=="" (
- call %tooltest% %test_filters% %nodiff% skip
- ) else (
- call %tooltest% %test_filters% %nodiff%
- )
- )
-
-::------------------
-::filter conversions
-::------------------
-set flag=-i %test_deflate% -o %output_deflate% -f dset_deflate:SZIP=8,NN
-call %tooltest% %test_deflate% %nodiff% zlib szip
-
-set flag=-i %test_szip% -o %output_szip% -f dset_szip:GZIP=1
-call %tooltest% %test_szip% %nodiff% zlib szip
-
-::------
-::limit
-::------
-set flag=-i %test_layout% -o %output_layout% -f GZIP=1 -m 1024
-call %tooltest% %test_layout% %nodiff% zlib
-
-::-----
-::file
-::-----
-set flag=-i %test_layout% -o %output_layout% -e ..\..\testfiles\info.h5repack
-call %tooltest% %test_layout% %nodiff% zlib
-
-echo. *********************************************
-echo layout options (these files have no filters)
-echo. *********************************************
-
-set flag=-i %test_layout% -o %output_layout% -l dset2:CHUNK=20x10
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l CHUNK=20x10
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset2:CONTI
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l CONTI
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset2:COMPA
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l COMPA
-call %tooltest% %test_layout% %nodiff%
-
-echo. *****************************************
-echo layout conversions (file has no filters)
-echo. *****************************************
-
-set flag=-i %test_layout% -o %output_layout% -l dset_compact:CONTI
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_compact:CHUNK=2x5
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_compact:COMPA
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_contiguous:COMPA
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_contiguous:CHUNK=3x6
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_contiguous:CONTI
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_chunk:COMPA
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_chunk:CHUNK=18x13
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_layout% -o %output_layout% -l dset_chunk:CONTI
-call %tooltest% %test_layout% %nodiff%
-
-set flag=-i %test_objs% -o %output_objs% -n
-call %tooltest% %test_layout% %nodiff%
-
-cd ..\..
-
-echo.
-::Tests how many tests failed and how many tests skiped
-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
-)
-
-:: remove direcotory temptest and all its contents
-rmdir /s/q temptest
-
-:: Clean environment variables
-
-for %%v in (p1 p2 tempResults exefile tooltest nodiff notcomp totalerr totalskip) do set %%v=
-for %%v in (0 1 2 3 4 5 _szip _deflate _shuffle _fletcher32 _nbit _scaleoffset _all) do (
-set test%%v=
-set output%%v=
-)
-
-
diff --git a/windows/tools/stattest.BAT b/windows/tools/stattest.BAT deleted file mode 100644 index 5844c82..0000000 --- a/windows/tools/stattest.BAT +++ /dev/null @@ -1,161 +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 is for h5stat tests. -::Usage -:: stattest release -- release static version -:: stattest debug -- debug static version -:: stattest release dll -- release dll version -:: stattest debug dll -- debug dll version -:: Written By:MuQun Yang -:: Date : Oct. 18, 2006 - -:: Track total number of testing errors - set /A totalerr=0 - set /A totalskip=0 - -::********************************************** -:: Generate a new temp directory for test h5stat -::********************************************** - -:: Make a tempory directory for stattest - mkdir temptest - -::**************************************************** -:: Set the Environment Variables & Change Dir to .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 - - :: Set up some variables for convenience - :: tempResults will contain the tests results temporarily - set tempResults=stattest%p2%_%p1%.txt - :: exefile will contain the file name of the executable file - set exefile=h5stat%p2% - :: tooltest is the sub-batch file which will be called by tool test - set tooltest=..\..\tooltest - ::Handle the expected file and the actual output file - ::ln is the total line numbers to be deleted from the actual output - set ln=1 - ::ln_exp is the total line numbers to be deleted from the expected output - set ln_exp=4 - - :: NOTE1 - ::Set some variables to contain .h5 file and its path for convenience - - set file1=..\..\h5stat\testfiles\h5stat_filters.h5 - set file2=..\..\h5stat\testfiles\h5stat_tsohm.h5 - set file3=..\..\h5stat\testfiles\h5stat_newgrat.h5 - - ::Create the file to contain the tests output - type nul > %tempResults% - - ::Change directory to the directory where the .exe file is located - cd h5stat%p2%\%p1% - -::********************************************* -:: Test each function by calling TOOLTEST.BAT -::********************************************* -::USAGE of stattest.bat -::1. Set flag -::2. Call batch file tooltest.bat followed with the expected file name -::3. Example -::If we want to test h5stat \testfiles\file1.h5 -::At first, we need to set the flag like -::set flag=%file1% -::Secondly, we call batch file tooltest.bat by -::call %tooltest% h5stat_1.txt - -echo. -echo.**************************************************** -echo. H5stat%2 %1 T E S T S -echo.**************************************************** - -::-------------- -::Common usage -::-------------- - -::1.0 help message -set flag=-h -call %tooltest% h5stat_help1.ddl - -::1.1 another way to generate "help message" -set flag=--help -call %tooltest% h5stat_help2.ddl - -::1.2 all statisical information -set flag=%file1% -call %tooltest% h5stat_filters.ddl - -::1.3 print file information -set flag=-f %file1% -call %tooltest% h5stat_filters-file.ddl - -::1.4 print file metadata information -set flag=-F %file1% -call %tooltest% h5stat_filters-F.ddl - -::1.5 print dataset information -set flag=-d %file1% -call %tooltest% h5stat_filters-d.ddl - -::1.6 print group information -set flag=-g %file1% -call %tooltest% h5stat_filters-g.ddl - -::1.7 print datatype metadata -set flag=-dT %file1% -call %tooltest% h5stat_filters-dT.ddl - -:: h5stat_tsohm.h5 is a copy of ../test/tsohm.h5 generated by tsohm.c -:: as of release 1.8.0-alpha4 -set flag=%file2% -call %tooltest% h5stat_tsohm.ddl - -:: h5stat_newgrat.h5 is generated by h5stat_gentest.c -set flag=%file3% -call %tooltest% h5stat_newgrat.ddl - -::Change directory to hdf5\tools -cd ..\.. - -::Check if any of tests failed or skiped for the time being -echo. -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! -find "SKIPED" %tempResults% | more +2 -) - -::NOTE1 CLEAN -::Clean up Environment Variables -for %%i in (p1 p2 tempResults exefile tooltest ln ln_exp totalskip totalerr file1 file2 file3) do set %%i= -set flag= - -::Clean up Temporary Files -:: rmdir /s/q temptest - - diff --git a/windows/tools/testhdf5tools.BAT b/windows/tools/testhdf5tools.BAT deleted file mode 100755 index d5e0240..0000000 --- a/windows/tools/testhdf5tools.BAT +++ /dev/null @@ -1,66 +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
-
-REM This batch file includes hdf5 tool(h5dump, h5diff, h5ls, h5import, and h5repack) testings.
-REM testhdf5tools release -- release static version
-REM testhdf5tools debug -- debug static version
-REM testhdf5tools release dll -- release dll version
-REM testhdf5tools debug dll -- debug dll version
-REM By: Xuan Bai
-REM Created: August 2, 2004
-REM Last Modified: August 2, 2004
-
-@type nul > toolstest_%1%2.txt
-@echo ***************************************************************************** >> toolstest_%1%2.txt
-@echo HDF5 Tools Tests -- %1 %2 >> toolstest_%1%2.txt
-@echo ***************************************************************************** >> toolstest_%1%2.txt
-
-call dumptest %1 %2
-@more dumptest%2_%1.txt >> toolstest_%1%2.txt
-@del dumptest%2_%1.txt
-
-
-call difftest %1 %2
-@more difftest%2_%1.txt >> toolstest_%1%2.txt
-@del difftest%2_%1.txt
-
-call lstest %1 %2
-@more lstest%2_%1.txt >> toolstest_%1%2.txt
-@del lstest%2_%1.txt
-
-call importtest %1 %2
-@more importtest%2_%1.txt >> toolstest_%1%2.txt
-@del importtest%2_%1.txt
-
-call repacktest %1 %2
-@more repacktest%2_%1.txt >> toolstest_%1%2.txt
-@del repacktest%2_%1.txt
-
-call stattest %1 %2
-@more stattest%2_%1.txt >> toolstest_%1%2.txt
-@del stattest%2_%1.txt
-
-set p2=%2
-if "%2"=="dll" (
-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
-)
-
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=
-
-
-
-
|