keepalive/flextimer/test/flextimer_build.bat
author hgs
Mon, 24 May 2010 20:51:35 +0300
changeset 32 5c4486441ae6
permissions -rw-r--r--
201021
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
32
hgs
parents:
diff changeset
     1
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
     2
:: Helper for FlexTimer building and testing
hgs
parents:
diff changeset
     3
::
hgs
parents:
diff changeset
     4
:: Commands:
hgs
parents:
diff changeset
     5
::
hgs
parents:
diff changeset
     6
::  BUILD_ALL       Build component to all targets
hgs
parents:
diff changeset
     7
::  BUILD_ERROR     Inform user about failed build
hgs
parents:
diff changeset
     8
::  BUILD_OK        Inform user about passed build
hgs
parents:
diff changeset
     9
::  BUILD_TRACES    Build OST traces to targets WINSCW_UDEB and ARMV5_UDEB
hgs
parents:
diff changeset
    10
::  CHECK_EPOCROOT  Check that epocroot is set correctly
hgs
parents:
diff changeset
    11
::  CLEAN_NOLOGS    Reallyclean component, no output to screen
hgs
parents:
diff changeset
    12
::  DEL_CTC_REPORTS Delete old CTC reports
hgs
parents:
diff changeset
    13
::  GEN_CMT_REPORTS Generate CMT reports
hgs
parents:
diff changeset
    14
::  GEN_COV_REPORTS Generate and deliver Coveruty Prevent reports
hgs
parents:
diff changeset
    15
::  GEN_CS_REPORTS  Genrete CodeScanner reports
hgs
parents:
diff changeset
    16
::  GEN_CTC_REPORTS Generate CTC reports
hgs
parents:
diff changeset
    17
::  GEN_IMAGE       Make flash images
hgs
parents:
diff changeset
    18
::  GEN_SYMBOLS     Generate symbol files
hgs
parents:
diff changeset
    19
::  INSTRUMENT_CTC  Instrument CTC++ to component's WINSCW_UDEB target
hgs
parents:
diff changeset
    20
::  RUN_TESTS       Compile test component, run test application and check 
hgs
parents:
diff changeset
    21
::                  test results
hgs
parents:
diff changeset
    22
::  SCHEDULER       Execute commands from QUEUE
hgs
parents:
diff changeset
    23
::  SHOW_HELP       Show help of the script
hgs
parents:
diff changeset
    24
::  START_UP        Enable delayed environment expansion
hgs
parents:
diff changeset
    25
::  TEST_FAILED     Inform user about failed tests
hgs
parents:
diff changeset
    26
::  THE_END         Stop execution of the script
hgs
parents:
diff changeset
    27
::
hgs
parents:
diff changeset
    28
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
    29
:: Change history:
hgs
parents:
diff changeset
    30
::
hgs
parents:
diff changeset
    31
:: 1.0  01-Apr-2010     First version in SVN
hgs
parents:
diff changeset
    32
::
hgs
parents:
diff changeset
    33
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
    34
hgs
parents:
diff changeset
    35
@echo off
hgs
parents:
diff changeset
    36
setlocal
hgs
parents:
diff changeset
    37
hgs
parents:
diff changeset
    38
set VERSION=1.0 [01/04/2010 15:08:42]
hgs
parents:
diff changeset
    39
hgs
parents:
diff changeset
    40
:: The source path is one dir up from the BAT's location
hgs
parents:
diff changeset
    41
for /f %%i in ("%0") do set SOURCE_PATH=%%~dpi..
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
set MAKE_PATH=%SOURCE_PATH%\group\bld.inf
hgs
parents:
diff changeset
    44
set TEST_MAKE_PATH=%SOURCE_PATH%\test\testflextimer\group\bld.inf
hgs
parents:
diff changeset
    45
hgs
parents:
diff changeset
    46
:: Commands for the component
hgs
parents:
diff changeset
    47
set CMD_BUILD_ALL=sbs -b %MAKE_PATH%
hgs
parents:
diff changeset
    48
set CMD_BUILD_CLEAN=sbs -b %MAKE_PATH% reallyclean
hgs
parents:
diff changeset
    49
set CMD_BUILD_TRACE=sbs -b %MAKE_PATH% -c winscw_udeb.tracecompiler -c armv5_udeb.tracecompiler
hgs
parents:
diff changeset
    50
hgs
parents:
diff changeset
    51
:: Commands for test component
hgs
parents:
diff changeset
    52
set CMD_TEST_BUILD=sbs -b %TEST_MAKE_PATH% -c winscw_udeb -c armv5
hgs
parents:
diff changeset
    53
set CMD_TEST_RUN=start /wait %EPOCROOT%epoc32\release\winscw\udeb\atsinterface.exe -dtextshell -- -testmodule testflextimer
hgs
parents:
diff changeset
    54
hgs
parents:
diff changeset
    55
:: Commands and settings for CTC++
hgs
parents:
diff changeset
    56
set CTC_OUTFILE=MON
hgs
parents:
diff changeset
    57
set CTC_OUTPATH=.
hgs
parents:
diff changeset
    58
set CMD_CTC_BUILD=ctcwrap -i m -v -2comp sbs.bat -b %MAKE_PATH% -c winscw_udeb
hgs
parents:
diff changeset
    59
set CMD_CTC_CLEAN=sbs -b %MAKE_PATH% -c winscw_udeb reallyclean
hgs
parents:
diff changeset
    60
set CMD_CTC_GEN=ctcpost %CTC_OUTPATH%\%CTC_OUTFILE%.sym %CTC_OUTPATH%\%CTC_OUTFILE%.dat ^| ctc2html
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
:: Command for CMT
hgs
parents:
diff changeset
    63
set CMD_CMT_GEN=dir /s /b %SOURCE_PATH%\*.cpp %SOURCE_PATH%\*.inl ^| findstr /I /V "\\test\\" ^| cmt ^| cmt2html
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
:: Commands and settings for Coverity Prevent
hgs
parents:
diff changeset
    66
set COV_OUTPATH=coverity
hgs
parents:
diff changeset
    67
set CMD_COV_BUILD=cov-build --dir %COV_OUTPATH% sbs -b %MAKE_PATH%
hgs
parents:
diff changeset
    68
set CMD_COV_ANALYZE=cov-analyze --dir %COV_OUTPATH% --all --symbian
hgs
parents:
diff changeset
    69
set CMD_COV_DELIVER=cov-commit-defects --dir %COV_OUTPATH% --remote trwsim47 --user cadsw --password cov3rity --product flextimer --cva
hgs
parents:
diff changeset
    70
set CMD_COV_SHOW_RESULTS=start http://trwsim47:5467
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
:: Commands for iMaker
hgs
parents:
diff changeset
    73
set CMD_IMAKE_CORE=imaker vasco_ui core USE_SYMGEN=0
hgs
parents:
diff changeset
    74
set CMD_IMAKE_ROFS2=imaker vasco_ui rofs2 USE_SYMGEN=0
hgs
parents:
diff changeset
    75
set CMD_IMAKE_ROFS3=imaker vasco_ui rofs3 USE_SYMGEN=0
hgs
parents:
diff changeset
    76
set CMD_IMAKE_UDAERASE=imaker vasco_ui udaerase USE_SYMGEN=0
hgs
parents:
diff changeset
    77
set CMD_IMAKE_CORE_SYMBOLS=imaker vasco_ui romsymbol
hgs
parents:
diff changeset
    78
set CMD_IMAKE_ROFS2_SYMBOLS=imaker vasco_ui rofs2-symbol
hgs
parents:
diff changeset
    79
set CMD_IMAKE_ROFS3_SYMBOLS=imaker vasco_ui rofs3-symbol
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
:: Commands and settings for CodeScanner
hgs
parents:
diff changeset
    82
set CODESCANNER_PATH=cs_output
hgs
parents:
diff changeset
    83
set CMD_CODESCANNER=codescanner -t off
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
:: Python script for checking from test logs are tests passed
hgs
parents:
diff changeset
    86
set PY_ALL_TESTS_PASSED=^
hgs
parents:
diff changeset
    87
import re,sys;^
hgs
parents:
diff changeset
    88
file = open('%EPOCROOT%/epoc32/winscw/c/logs/testframework/testreport.txt');^
hgs
parents:
diff changeset
    89
txt = '\n'.join(file);^
hgs
parents:
diff changeset
    90
reg1 = re.search('^\s*(?:Passed cases\: (\d+))$', txt, re.MULTILINE);^
hgs
parents:
diff changeset
    91
reg2 = re.search('^\s*(?:Total cases\: (\d+))$', txt, re.MULTILINE);^
hgs
parents:
diff changeset
    92
sys.exit(0 if reg1.group(1)==reg2.group(1) else 1)
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
:: Python script for parsing test result summary from test logs
hgs
parents:
diff changeset
    95
set PY_PARSE_TEST_RESULTS=^
hgs
parents:
diff changeset
    96
import re;^
hgs
parents:
diff changeset
    97
file = open('%EPOCROOT%/epoc32/winscw/c/logs/testframework/testreport.txt');^
hgs
parents:
diff changeset
    98
txt = '\n'.join(file);^
hgs
parents:
diff changeset
    99
reg = re.findall('^\s*(.*cases\: \d+)$', txt, re.MULTILINE);^
hgs
parents:
diff changeset
   100
print '\n'.join(reg);^
hgs
parents:
diff changeset
   101
file.close()
hgs
parents:
diff changeset
   102
hgs
parents:
diff changeset
   103
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   104
:: Parse input
hgs
parents:
diff changeset
   105
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   106
hgs
parents:
diff changeset
   107
if not "%1"=="__INITIALIZED__" (
hgs
parents:
diff changeset
   108
    goto START_UP
hgs
parents:
diff changeset
   109
hgs
parents:
diff changeset
   110
) else (
hgs
parents:
diff changeset
   111
hgs
parents:
diff changeset
   112
    if "%2"=="" (
hgs
parents:
diff changeset
   113
        set QUEUE=CHECK_EPOCROOT CLEAN_NOLOGS BUILD_ALL BUILD_TRACES RUN_TESTS GEN_CMT_REPORTS GEN_CS_REPORTS
hgs
parents:
diff changeset
   114
        goto SCHEDULER
hgs
parents:
diff changeset
   115
hgs
parents:
diff changeset
   116
    ) else if /i "%2"=="build" (
hgs
parents:
diff changeset
   117
        set QUEUE=CHECK_EPOCROOT CLEAN_NOLOGS BUILD_ALL BUILD_TRACES
hgs
parents:
diff changeset
   118
        goto SCHEDULER
hgs
parents:
diff changeset
   119
hgs
parents:
diff changeset
   120
    ) else if /i "%2"=="ctc" (
hgs
parents:
diff changeset
   121
        rem - atsinterface does not work with CTC instrumentation, use consoleui instead
hgs
parents:
diff changeset
   122
        rem - NOTE Emulator has to be closed manually
hgs
parents:
diff changeset
   123
        set CMD_TEST_RUN=start /wait %EPOCROOT%epoc32\release\winscw\udeb\consoleui.exe -dtextshell -- -testmodule testflextimer -run all
hgs
parents:
diff changeset
   124
        set QUEUE=CHECK_EPOCROOT INSTRUMENT_CTC DEL_CTC_REPORTS RUN_TESTS GEN_CTC_REPORTS
hgs
parents:
diff changeset
   125
        goto SCHEDULER
hgs
parents:
diff changeset
   126
hgs
parents:
diff changeset
   127
    ) else if /i "%2"=="cov" (
hgs
parents:
diff changeset
   128
        set QUEUE=CHECK_EPOCROOT CLEAN_NOLOGS GEN_COV_REPORTS
hgs
parents:
diff changeset
   129
        goto SCHEDULER
hgs
parents:
diff changeset
   130
hgs
parents:
diff changeset
   131
    ) else if /i "%2"=="image" (
hgs
parents:
diff changeset
   132
        set QUEUE=CHECK_EPOCROOT GEN_IMAGE GEN_SYMBOLS
hgs
parents:
diff changeset
   133
        goto SCHEDULER
hgs
parents:
diff changeset
   134
hgs
parents:
diff changeset
   135
    ) else if /i "%2"=="test" (
hgs
parents:
diff changeset
   136
        set QUEUE=CHECK_EPOCROOT GEN_CMT_REPORTS GEN_CS_REPORTS
hgs
parents:
diff changeset
   137
        goto SCHEDULER
hgs
parents:
diff changeset
   138
hgs
parents:
diff changeset
   139
    ) else if /i "%2"=="help" goto SHOW_HELP
hgs
parents:
diff changeset
   140
)
hgs
parents:
diff changeset
   141
hgs
parents:
diff changeset
   142
echo Illegal parameter %2
hgs
parents:
diff changeset
   143
hgs
parents:
diff changeset
   144
goto SHOW_HELP
hgs
parents:
diff changeset
   145
hgs
parents:
diff changeset
   146
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   147
:START_UP
hgs
parents:
diff changeset
   148
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   149
:: Start a command shell with delayed environment expansion
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
cmd.exe /V:ON /C %0 __INITIALIZED__ %1
hgs
parents:
diff changeset
   152
hgs
parents:
diff changeset
   153
goto THE_END
hgs
parents:
diff changeset
   154
hgs
parents:
diff changeset
   155
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   156
:SCHEDULER
hgs
parents:
diff changeset
   157
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   158
:: Run the build commands. Eat commands from QUEUE one by one
hgs
parents:
diff changeset
   159
hgs
parents:
diff changeset
   160
for /f "tokens=1*" %%i in ( "!QUEUE!" ) do (
hgs
parents:
diff changeset
   161
    set QUEUE=%%j
hgs
parents:
diff changeset
   162
    rem echo ====================================================================
hgs
parents:
diff changeset
   163
    rem echo %%i
hgs
parents:
diff changeset
   164
    rem echo ====================================================================
hgs
parents:
diff changeset
   165
    goto %%i
hgs
parents:
diff changeset
   166
)
hgs
parents:
diff changeset
   167
hgs
parents:
diff changeset
   168
goto BUILD_OK
hgs
parents:
diff changeset
   169
hgs
parents:
diff changeset
   170
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   171
:BUILD_ALL
hgs
parents:
diff changeset
   172
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   173
hgs
parents:
diff changeset
   174
call %CMD_BUILD_ALL%
hgs
parents:
diff changeset
   175
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   176
hgs
parents:
diff changeset
   177
goto SCHEDULER
hgs
parents:
diff changeset
   178
hgs
parents:
diff changeset
   179
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   180
:BUILD_TRACES
hgs
parents:
diff changeset
   181
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   182
hgs
parents:
diff changeset
   183
call %CMD_BUILD_TRACE%
hgs
parents:
diff changeset
   184
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
goto SCHEDULER
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   189
:CLEAN_NOLOGS
hgs
parents:
diff changeset
   190
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   191
:: Reallyclean FlexTimer component without showing compilation logs on screen
hgs
parents:
diff changeset
   192
hgs
parents:
diff changeset
   193
call %CMD_BUILD_CLEAN% > NUL 2>&1
hgs
parents:
diff changeset
   194
hgs
parents:
diff changeset
   195
goto SCHEDULER
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   198
:INSTRUMENT_CTC
hgs
parents:
diff changeset
   199
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   200
:: Instrument FlexTimer WINSCW UDEB with CTC++
hgs
parents:
diff changeset
   201
hgs
parents:
diff changeset
   202
:: Remove old CTC symbols
hgs
parents:
diff changeset
   203
del %CTC_OUTPATH%\%CTC_OUTFILE%.sym > NUL 2>&1
hgs
parents:
diff changeset
   204
hgs
parents:
diff changeset
   205
:: Clean old compilation
hgs
parents:
diff changeset
   206
call %CMD_CTC_CLEAN% > NUL 2>&1
hgs
parents:
diff changeset
   207
hgs
parents:
diff changeset
   208
:: Instrument the code
hgs
parents:
diff changeset
   209
call %CMD_CTC_BUILD%
hgs
parents:
diff changeset
   210
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   211
hgs
parents:
diff changeset
   212
goto SCHEDULER
hgs
parents:
diff changeset
   213
hgs
parents:
diff changeset
   214
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   215
:DEL_CTC_REPORTS
hgs
parents:
diff changeset
   216
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   217
:: Delete CTC generated test reports. SYM-file is deleted before 
hgs
parents:
diff changeset
   218
:: instrumenting CTC.
hgs
parents:
diff changeset
   219
hgs
parents:
diff changeset
   220
del %CTC_OUTPATH%\%CTC_OUTFILE%.dat > NUL 2>&1
hgs
parents:
diff changeset
   221
rmdir /q /s %CTC_OUTPATH%\CTCHTML > NUL 2>&1
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
goto SCHEDULER
hgs
parents:
diff changeset
   224
hgs
parents:
diff changeset
   225
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   226
:RUN_TESTS
hgs
parents:
diff changeset
   227
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   228
hgs
parents:
diff changeset
   229
:: Compile test component
hgs
parents:
diff changeset
   230
call %CMD_TEST_BUILD%
hgs
parents:
diff changeset
   231
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   232
hgs
parents:
diff changeset
   233
echo Testing...
hgs
parents:
diff changeset
   234
hgs
parents:
diff changeset
   235
:: Run test application
hgs
parents:
diff changeset
   236
%CMD_TEST_RUN%
hgs
parents:
diff changeset
   237
if not "%errorlevel%"=="0" goto TEST_FAILED
hgs
parents:
diff changeset
   238
hgs
parents:
diff changeset
   239
:: Verify test results
hgs
parents:
diff changeset
   240
call python -c "%PY_ALL_TESTS_PASSED%"
hgs
parents:
diff changeset
   241
if not "%errorlevel%"=="0" goto TEST_FAILED
hgs
parents:
diff changeset
   242
hgs
parents:
diff changeset
   243
goto SCHEDULER
hgs
parents:
diff changeset
   244
hgs
parents:
diff changeset
   245
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   246
:GEN_CTC_REPORTS
hgs
parents:
diff changeset
   247
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   248
hgs
parents:
diff changeset
   249
:: Generate CTC++ reports
hgs
parents:
diff changeset
   250
call %CMD_CTC_GEN% 
hgs
parents:
diff changeset
   251
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   252
hgs
parents:
diff changeset
   253
goto SCHEDULER
hgs
parents:
diff changeset
   254
hgs
parents:
diff changeset
   255
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   256
:GEN_CMT_REPORTS
hgs
parents:
diff changeset
   257
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   258
hgs
parents:
diff changeset
   259
call %CMD_CMT_GEN%
hgs
parents:
diff changeset
   260
hgs
parents:
diff changeset
   261
goto SCHEDULER
hgs
parents:
diff changeset
   262
hgs
parents:
diff changeset
   263
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   264
:GEN_COV_REPORTS
hgs
parents:
diff changeset
   265
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   266
hgs
parents:
diff changeset
   267
:: Delete the old results
hgs
parents:
diff changeset
   268
rmdir /q /s %COV_OUTPATH% > NUL 2>&1
hgs
parents:
diff changeset
   269
hgs
parents:
diff changeset
   270
:: Build with Coverity Prevent
hgs
parents:
diff changeset
   271
call %CMD_COV_BUILD%
hgs
parents:
diff changeset
   272
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   273
hgs
parents:
diff changeset
   274
:: Analyze the code
hgs
parents:
diff changeset
   275
call %CMD_COV_ANALYZE%
hgs
parents:
diff changeset
   276
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   277
hgs
parents:
diff changeset
   278
:: Deliver the results
hgs
parents:
diff changeset
   279
call %CMD_COV_DELIVER%
hgs
parents:
diff changeset
   280
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   281
hgs
parents:
diff changeset
   282
:: Open the results
hgs
parents:
diff changeset
   283
%CMD_COV_SHOW_RESULTS%
hgs
parents:
diff changeset
   284
hgs
parents:
diff changeset
   285
goto SCHEDULER
hgs
parents:
diff changeset
   286
hgs
parents:
diff changeset
   287
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   288
:GEN_CS_REPORTS
hgs
parents:
diff changeset
   289
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   290
hgs
parents:
diff changeset
   291
set __CODESCANNER_LAST_DIR=
hgs
parents:
diff changeset
   292
set __CODESCANNER_PARAMETERS=
hgs
parents:
diff changeset
   293
hgs
parents:
diff changeset
   294
:: Find all inc and src -directories that are not in codescanner results nor
hgs
parents:
diff changeset
   295
:: test code. Add '-i' parameter to every directory except the last one. (As
hgs
parents:
diff changeset
   296
:: codescanner -h states.)
hgs
parents:
diff changeset
   297
hgs
parents:
diff changeset
   298
for /f "usebackq" %%i in (`dir /s /b %SOURCE_PATH%\src %SOURCE_PATH%\inc ^| findstr /V "\\test\\ \\%CODESCANNER_PATH%\\"`) do (
hgs
parents:
diff changeset
   299
    if defined __CODESCANNER_LAST_DIR set __CODESCANNER_PARAMETERS=!__CODESCANNER_PARAMETERS! -i !__CODESCANNER_LAST_DIR!
hgs
parents:
diff changeset
   300
    set __CODESCANNER_LAST_DIR=%%i
hgs
parents:
diff changeset
   301
)
hgs
parents:
diff changeset
   302
hgs
parents:
diff changeset
   303
%CMD_CODESCANNER% %__CODESCANNER_PARAMETERS% %__CODESCANNER_LAST_DIR% %CODESCANNER_PATH%
hgs
parents:
diff changeset
   304
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   305
hgs
parents:
diff changeset
   306
:: Open the results
hgs
parents:
diff changeset
   307
start %CODESCANNER_PATH%\problemIndex.html
hgs
parents:
diff changeset
   308
hgs
parents:
diff changeset
   309
goto SCHEDULER
hgs
parents:
diff changeset
   310
hgs
parents:
diff changeset
   311
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   312
:CHECK_EPOCROOT
hgs
parents:
diff changeset
   313
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   314
hgs
parents:
diff changeset
   315
:: Check that the given parameter is a root dir.
hgs
parents:
diff changeset
   316
for /f %%i in ("%EPOCROOT%") do (
hgs
parents:
diff changeset
   317
    if /i not "%EPOCROOT%"=="%%~di\" (
hgs
parents:
diff changeset
   318
        echo EPOCROOT is invalid: %EPOCROOT%
hgs
parents:
diff changeset
   319
        echo It should be a root of certain drive letter e.g. T:\
hgs
parents:
diff changeset
   320
        goto BUILD_ERROR
hgs
parents:
diff changeset
   321
    )
hgs
parents:
diff changeset
   322
)
hgs
parents:
diff changeset
   323
hgs
parents:
diff changeset
   324
goto SCHEDULER
hgs
parents:
diff changeset
   325
hgs
parents:
diff changeset
   326
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   327
:GEN_IMAGE
hgs
parents:
diff changeset
   328
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   329
hgs
parents:
diff changeset
   330
:: Go to the SDK drive
hgs
parents:
diff changeset
   331
for /f %%i in ("%EPOCROOT%") do %%~di
hgs
parents:
diff changeset
   332
hgs
parents:
diff changeset
   333
:: Make image
hgs
parents:
diff changeset
   334
call %CMD_IMAKE_CORE%
hgs
parents:
diff changeset
   335
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   336
hgs
parents:
diff changeset
   337
call %CMD_IMAKE_ROFS2%
hgs
parents:
diff changeset
   338
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   339
hgs
parents:
diff changeset
   340
call %CMD_IMAKE_ROFS3%
hgs
parents:
diff changeset
   341
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   342
hgs
parents:
diff changeset
   343
call %CMD_IMAKE_UDAERASE%
hgs
parents:
diff changeset
   344
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   345
hgs
parents:
diff changeset
   346
echo.
hgs
parents:
diff changeset
   347
echo ======================================================================
hgs
parents:
diff changeset
   348
echo IMAGES ARE READY
hgs
parents:
diff changeset
   349
echo ======================================================================
hgs
parents:
diff changeset
   350
echo.
hgs
parents:
diff changeset
   351
hgs
parents:
diff changeset
   352
goto SCHEDULER
hgs
parents:
diff changeset
   353
hgs
parents:
diff changeset
   354
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   355
:GEN_SYMBOLS
hgs
parents:
diff changeset
   356
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   357
hgs
parents:
diff changeset
   358
:: Go to the SDK drive
hgs
parents:
diff changeset
   359
for /f %%i in ("%EPOCROOT%") do %%~di
hgs
parents:
diff changeset
   360
hgs
parents:
diff changeset
   361
:: Generate symbols
hgs
parents:
diff changeset
   362
call %CMD_IMAKE_CORE_SYMBOLS%
hgs
parents:
diff changeset
   363
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   364
hgs
parents:
diff changeset
   365
call %CMD_IMAKE_ROFS2_SYMBOLS%
hgs
parents:
diff changeset
   366
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   367
hgs
parents:
diff changeset
   368
call %CMD_IMAKE_ROFS3_SYMBOLS%
hgs
parents:
diff changeset
   369
if not "%errorlevel%"=="0" goto BUILD_ERROR
hgs
parents:
diff changeset
   370
hgs
parents:
diff changeset
   371
goto SCHEDULER
hgs
parents:
diff changeset
   372
hgs
parents:
diff changeset
   373
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   374
:BUILD_ERROR
hgs
parents:
diff changeset
   375
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   376
hgs
parents:
diff changeset
   377
echo.
hgs
parents:
diff changeset
   378
echo Build failed
hgs
parents:
diff changeset
   379
echo.
hgs
parents:
diff changeset
   380
hgs
parents:
diff changeset
   381
goto THE_END
hgs
parents:
diff changeset
   382
hgs
parents:
diff changeset
   383
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   384
:BUILD_OK
hgs
parents:
diff changeset
   385
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   386
hgs
parents:
diff changeset
   387
echo.
hgs
parents:
diff changeset
   388
echo Build OK
hgs
parents:
diff changeset
   389
echo.
hgs
parents:
diff changeset
   390
hgs
parents:
diff changeset
   391
goto THE_END
hgs
parents:
diff changeset
   392
hgs
parents:
diff changeset
   393
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   394
:TEST_FAILED
hgs
parents:
diff changeset
   395
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   396
hgs
parents:
diff changeset
   397
echo.
hgs
parents:
diff changeset
   398
echo Testing failed
hgs
parents:
diff changeset
   399
echo.
hgs
parents:
diff changeset
   400
hgs
parents:
diff changeset
   401
call python -c "%PY_PARSE_TEST_RESULTS%"
hgs
parents:
diff changeset
   402
hgs
parents:
diff changeset
   403
goto THE_END
hgs
parents:
diff changeset
   404
hgs
parents:
diff changeset
   405
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   406
:SHOW_HELP
hgs
parents:
diff changeset
   407
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   408
echo.
hgs
parents:
diff changeset
   409
echo A script for building and testing FlexTimer. Version %VERSION%
hgs
parents:
diff changeset
   410
echo.
hgs
parents:
diff changeset
   411
echo Usage:
hgs
parents:
diff changeset
   412
echo    flextimer_build ^<option^>
hgs
parents:
diff changeset
   413
echo.
hgs
parents:
diff changeset
   414
echo Options:
hgs
parents:
diff changeset
   415
echo.
hgs
parents:
diff changeset
   416
echo    ^<none^>  Build component (with traces), build test component and run
hgs
parents:
diff changeset
   417
echo            tests, generate static analysis
hgs
parents:
diff changeset
   418
echo.
hgs
parents:
diff changeset
   419
echo    build   Rebuild component (with traces)
hgs
parents:
diff changeset
   420
echo.
hgs
parents:
diff changeset
   421
echo    cov     Generate and deliver Coverity Prevent report
hgs
parents:
diff changeset
   422
echo.
hgs
parents:
diff changeset
   423
echo    ctc     Instrument CTC++, build test component and run tests, 
hgs
parents:
diff changeset
   424
echo            generate test coverity reports
hgs
parents:
diff changeset
   425
echo.
hgs
parents:
diff changeset
   426
echo    image   Create CORE and ROFS1, ROFS2, ROFS3 and UDAERASE flash images
hgs
parents:
diff changeset
   427
echo.
hgs
parents:
diff changeset
   428
echo    help    Show this help
hgs
parents:
diff changeset
   429
echo.
hgs
parents:
diff changeset
   430
hgs
parents:
diff changeset
   431
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   432
:THE_END
hgs
parents:
diff changeset
   433
::---------------------------------------------------------------------------
hgs
parents:
diff changeset
   434
endlocal