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