From 40824e9a688c3e6112e06c2264d8e5e1a4e47736 Mon Sep 17 00:00:00 2001 From: Geoff McLane Date: Wed, 13 May 2015 12:40:46 +0200 Subject: [PATCH] and also use @ to suppress command output --- test/onetesta.cmd | 116 +++++++++++++++++++++++++++------------------- 1 file changed, 69 insertions(+), 47 deletions(-) diff --git a/test/onetesta.cmd b/test/onetesta.cmd index a61a41d..c213a9e 100755 --- a/test/onetesta.cmd +++ b/test/onetesta.cmd @@ -1,68 +1,90 @@ -@echo off +@setlocal +@REM echo off -REM execute a single test case of the accessibility test suite -REM -REM (c) 2006 (W3C) MIT, ERCIM, Keio University -REM See tidy.c for the copyright notice. -REM -REM -REM +@REM execute a single test case of the accessibility test suite +@REM +@REM (c) 2006 (W3C) MIT, ERCIM, Keio University +@REM See tidy.c for the copyright notice. +@REM +@REM +@REM +@echo Testing %1 %2 %3 +@set TESTNO=%1 +@set TESTEXPECTED=%2 +@set ACCESSLEVEL=%3 +@if "%1x" == "x" goto NOTEST +@if "%2x" == "x" goto NOEXPECT +@if "%3x" == "x" goto NOLEVEL +@if "%TIDYLOG%x" == "x" goto NOLOG -echo Testing %1 %2 %3 -set TESTNO=%1 -set TESTEXPECTED=%2 -set ACCESSLEVEL=%3 +@set INFILES=%TIDYINPUT%\%1.*ml +@set CFGFILE=%TIDYINPUT%\cfg_%1.txt -set INFILES=%TIDYINPUT%\%1.*ml -set CFGFILE=%TIDYINPUT%\cfg_%1.txt +@set TIDYFILE=%TIDYOUT%\out_%1.html +@set MSGFILE=%TIDYout%\msg_%1.txt -set TIDYFILE=%TIDYOUT%\out_%1.html -set MSGFILE=%TIDYout%\msg_%1.txt +@set HTML_TIDY= -set HTML_TIDY= +@REM If no test specific config file, use default. +@if NOT exist %CFGFILE% @set CFGFILE=%TIDYINPUT%\cfg_default.txt -REM If no test specific config file, use default. -if NOT exist %CFGFILE% set CFGFILE=%TIDYINPUT%\cfg_default.txt +@REM Get specific input file name +@for %%F in ( %INFILES% ) do @set INFILE=%%F -REM Get specific input file name -for %%F in ( %INFILES% ) do set INFILE=%%F - -if EXIST %INFILE% goto DOIT +@if EXIST %INFILE% goto DOIT @echo ERROR: Can NOT locate [%INFILE%] ... aborting test ... -@echo ======================================= >> ACCERR.TXT -@echo Testing %1 %2 %3 >> ACCERR.TXT -@echo ERROR: Can NOT locate [%INFILE%] ... aborting test ... >> ACCERR.TXT +@echo ======================================= >> %TIDYLOG% +@echo Testing %1 %2 %3 >> %TIDYLOG% +@echo ERROR: Can NOT locate [%INFILE%] ... aborting test ... >> %TIDYLOG% @goto done :DOIT -REM Remove any pre-existing test outputs -if exist %MSGFILE% del %MSGFILE% -if exist %TIDYFILE% del %TIDYFILE% +@REM Remove any pre-existing test outputs +@if exist %MSGFILE% del %MSGFILE% +@if exist %TIDYFILE% del %TIDYFILE% -REM this has to all one line ... -%TIDY% -f %MSGFILE% --accessibility-check %ACCESSLEVEL% -config %CFGFILE% --gnu-emacs yes --tidy-mark no -o %TIDYFILE% %INFILE% +@REM this has to all one line ... +@%TIDY% -f %MSGFILE% --accessibility-check %ACCESSLEVEL% -config %CFGFILE% --gnu-emacs yes --tidy-mark no -o %TIDYFILE% %INFILE% @REM output the FIND count to the a result file -find /c "%TESTEXPECTED%" %MSGFILE% > tempres.txt +@find /c "%TESTEXPECTED%" %MSGFILE% > tempres.txt @REM load the find count, token 3, into variable RESULT -for /F "tokens=3" %%i in (tempres.txt) do set RESULT=%%i +@for /F "tokens=3" %%i in (tempres.txt) do @set RESULT=%%i @REM test the RESULT variable ... -if "%RESULT%." == "0." goto Err -if "%RESULT%." == "1." goto done +@if "%RESULT%." == "0." goto Err +@if "%RESULT%." == "1." goto done @REM echo note - test '%TESTEXPECTED%' found %RESULT% times in file '%INFILE%' -goto done +@goto done :Err -echo FAILED --- test '%TESTEXPECTED%' not detected in file '%INFILE%' -type %MSGFILE% -echo FAILED --- test '%TESTEXPECTED%' not detected in above -set FAILEDACC=%FAILEDACC% %1 -REM append results to the ACCERR.TXT file -echo ======================================= >> ACCERR.TXT -echo %TIDY% -f %MSGFILE% --accessibility-check %ACCESSLEVEL% -config %CFGFILE% --gnu-emacs yes --tidy-mark no -o %TIDYFILE% %INFILE% >> ACCERR.TXT -echo FAILED --- test '%TESTEXPECTED%' not detected in file '%MSGFILE%', as follows - >> ACCERR.TXT -type %MSGFILE% >> ACCERR.TXT -echo FAILED --- test '%TESTEXPECTED%' not detected in above >> ACCERR.TXT -goto done +@echo FAILED --- test '%TESTEXPECTED%' not detected in file '%INFILE%' +@type %MSGFILE% +@echo FAILED --- test '%TESTEXPECTED%' not detected in above +@set FAILEDACC=%FAILEDACC% %1 +@REM append results to the ACCERR.TXT file +@echo ======================================= >> %TIDYLOG% +@echo %TIDY% -f %MSGFILE% --accessibility-check %ACCESSLEVEL% -config %CFGFILE% --gnu-emacs yes --tidy-mark no -o %TIDYFILE% %INFILE% >> %TIDYLOG% +@echo FAILED --- test '%TESTEXPECTED%' not detected in file '%MSGFILE%', as follows - >> %TIDYLOG% +@type %MSGFILE% >> %TIDYLOG% +@echo FAILED --- test '%TESTEXPECTED%' not detected in above >> %TIDYLOG% +@goto done + +:NOTEST +@echo Error: NO test number given as the first command! +:NOEXPECT +@echo Error: NO expected result given as the second command! +:NOLEVEL +@echo Error: NO accesslevel given as the thrid command! +@goto HELP + +:NOLOG +@echo. +@echo Error: TIDYLOG NOT set in the environment!!! This is set in acctest.cmd +:HELP +@echo The file acctest.cmd should be used to run this cmd... +@echo Use Ctrl+c to abort, to fix... +@pause +@goto NOLOG :done +@endlocal