FreeCalypso > hg > tcs211-c139
diff gpf/BIN/mktchier.bat @ 0:509db1a7b7b8
initial import: leo2moko-r1
author | Space Falcon <falcon@ivan.Harhan.ORG> |
---|---|
date | Mon, 01 Jun 2015 03:24:05 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/gpf/BIN/mktchier.bat Mon Jun 01 03:24:05 2015 +0000 @@ -0,0 +1,168 @@ +@echo off +setlocal +rem --------------------------------------------------------------------------- +rem Project : +rem Modul : mktchier.bat +rem --------------------------------------------------------------------------- +rem Copyright 2002 Texas Instruments Berlin, AG +rem All rights reserved. +rem +rem This file is confidential and a trade secret of Texas +rem Instruments Berlin, AG +rem The receipt of or possession of this file does not convey +rem any rights to reproduce or disclose its contents or to +rem manufacture, use, or sell anything it may describe, in +rem whole, or in part, without the specific written consent of +rem Texas Instruments Berlin, AG. +rem --------------------------------------------------------------------------- +rem Purpose : Generate test case hierarchy. +rem --------------------------------------------------------------------------- +set tc_exitcode=0 +loadbtm on +@pushd +@if x%_4ver% == x goto Need4NT + +@rem Check %PROST +@iff x%PROST == x then +@echo Set the environment variable PROST to the name of the stack. +@echo e.g. set PROST=GSM or set PROST=WARP will work +goto error +@endiff + +@rem Check for gnumake and grep +set grep=%GPF%\tools\bin\grep.exe +iff NOT exist %grep% then + echo You need %grep% to generate a test hierarchy + goto error +endiff +set sed=%GPF%\tools\bin\sed.exe +iff NOT exist %sed% then + echo You need %sed% to generate a test hierarchy + goto error +endiff +rem set gawk but check it later only if it is needed +set gawk=%GPF%\tools\bin\gawk.exe + +set TC_FINALTESTS=0 +:check_options +iff "%1" == "-f" then + rem Check for several tools in %PATH + set uniq=%GPF%\tools\bin\uniq.exe + set sort=%GPF%\tools\bin\sort.exe + iff NOT exist %uniq% then + echo You need %uniq% to generate a test hierarchy for final tests + goto error + endiff + iff NOT exist %sort% then + echo You need %sort% to generate a test hierarchy for final tests + goto error + endiff + iff NOT exist %gawk% then + echo You need %gawk% to generate a test hierarchy for final tests + goto error + endiff + iff %tc_gen_only% == 1 then + echo Use of "-f" ignored because "-to" was set + else + set TC_FINALTESTS=1 + endiff + shift 1 + goto check_options +endiff + +@if %#% != 1 goto How2Use +if "%@INSTR[0,1,%1]" == "-" goto unknown_option + +set ENTI=%@LOWER[%1] +if "x%tc_bnam%" == "x" set tc_bnam=%ENTI% + +@rem Stack-Specifics +iff "x%TCDIR%" == "x" then + iff "%PROST" == "WARP" .OR. "%PROST%" == "g23net" then + set TCDIR=%BINDIR% + else + set TCDIR=%TESTROOT%\%SIDE%\TEST + endiff +endiff + +%TESTDRIVE% + +@if NOT exist %TDSDIR%\%ENTI%\*.tds goto NoTds +cd %TDSDIR%\%ENTI% +set tc_pream=%ENTI%_pream.txt +set tc_hier=%ENTI%_hier.txt +if exist %tc_hier% del /q %tc_hier% + +iff %TC_FINALTESTS% == 1 then +set tc_nonfdummy=%ENTI%_nonfdummy.txt +if exist %tc_nonfdummy% del /q %tc_nonfdummy +%grep% -hi "#include.*tds" *.tds | %sed% -e "s/#include \"\([a-zA-Z0-9]*\).*\"/\1.td_/" > %tc_nonfdummy% +%grep% -Li "#include.*tds" *.tds | %sed% -e "s/.*\\//" -e "s/tds/td_/" >> %tc_nonfdummy +%sort% < %tc_nonfdummy% | %uniq% | %gawk% -- "{ print $1 > $1 }" +del /q %tc_nonfdummy +endiff + +FOR %tcase IN (*.tds) do ( + set act_file=%tcase% + gosub print_hier +) + +goto clean_up + +:print_hier +set tcname=%@NAME[%act_file%] +if EXIST %tcname%.td_ return + +echo. >> %tc_hier% +echos %tcname% >> %tc_hier% +%grep% TITLE %act_file% | %sed% -e "s/TITLE://" >> %tc_hier% +:next_file +%grep% -hi "#include.*tds" %act_file% | %sed% -e "s/#include \"\([a-zA-Z0-9]*.*\)\"/\1/" > %tc_pream% +set file_handle=%@FILEOPEN[%tc_pream%,read] +if %file_handle == -1 return +set act_file=%@FILEREAD[%file_handle%] +set file_handle=%@FILECLOSE[%file_handle%] +iff %act_file% == **EOF** then + return +else + echos ^s^s%@NAME[%act_file%] >> %tc_hier% + %grep% TITLE %act_file% | %sed% -e "s/TITLE://" >> %tc_hier% + goto next_file +endiff + +:clean_up +echo Generated test case hierarchy in %TDSDIR%\%ENTI%\%tc_hier% +if exist %tc_pream% del /q %tc_pream% +if exist *.td_ del /q *.td_ +goto end + +:NoDoc +@echo "%TSTDOCDIR%\%ENTI%.doc does not exist" +goto error + +:NoTds +@echo "No tds-Files in %TDSDIR%\%ENTI%" +goto error + +:Need4NT +@echo "Error: 4DOS or 4NT is needed +goto error + +:unknown_option +echo Unknown Option: %1 + +:How2Use +text +mktchier : Get test case hierarchy +Usage : mktchier [-f] <TDOC> +Example : mktchier CC - creates test case hierarchy for CC + -f: consider final tests only +endtext + +:error +set tc_exitcode=1 + +:end +endlocal +popd +quit %tc_exitcode%