phoneapp/phoneringingtoneplayer/tsrc/run_auto_tests.bat
author hgs
Fri, 15 Oct 2010 12:58:46 +0300
changeset 78 baacf668fe89
permissions -rw-r--r--
201041
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
78
hgs
parents:
diff changeset
     1
rem
hgs
parents:
diff changeset
     2
rem Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
hgs
parents:
diff changeset
     3
rem All rights reserved.
hgs
parents:
diff changeset
     4
rem This component and the accompanying materials are made available
hgs
parents:
diff changeset
     5
rem under the terms of the License "Symbian Foundation License v1.0"
hgs
parents:
diff changeset
     6
rem which accompanies this distribution, and is available
hgs
parents:
diff changeset
     7
rem at the URL "http://www.symbianfoundation.org/legal/sfl-v10.html".
hgs
parents:
diff changeset
     8
rem
hgs
parents:
diff changeset
     9
rem Initial Contributors:
hgs
parents:
diff changeset
    10
rem Nokia Corporation - initial contribution.
hgs
parents:
diff changeset
    11
rem
hgs
parents:
diff changeset
    12
rem Contributors:
hgs
parents:
diff changeset
    13
rem
hgs
parents:
diff changeset
    14
rem Description:
hgs
parents:
diff changeset
    15
rem
hgs
parents:
diff changeset
    16
hgs
parents:
diff changeset
    17
@echo off
hgs
parents:
diff changeset
    18
setlocal
hgs
parents:
diff changeset
    19
goto :startup 
hgs
parents:
diff changeset
    20
hgs
parents:
diff changeset
    21
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
    22
:: function DEFAULT
hgs
parents:
diff changeset
    23
::
hgs
parents:
diff changeset
    24
:: Modify this function
hgs
parents:
diff changeset
    25
::  - TESTED_SRC can be changed to match tested code.
hgs
parents:
diff changeset
    26
::    Specifies path from testcode group directory to
hgs
parents:
diff changeset
    27
::    tested code
hgs
parents:
diff changeset
    28
::  - Add test directories to be runned
hgs
parents:
diff changeset
    29
::    ie. "call :build ut_projectdirectory" or use
hgs
parents:
diff changeset
    30
::    "for /f %%a in ('dir /b ut_*') do call :build %%a"
hgs
parents:
diff changeset
    31
::    which compiles, instruments and runs all test directories
hgs
parents:
diff changeset
    32
::    starting with "ut_".
hgs
parents:
diff changeset
    33
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
    34
:DEFAULT
hgs
parents:
diff changeset
    35
set TESTED_SRC=..\..\..\src\*
hgs
parents:
diff changeset
    36
hgs
parents:
diff changeset
    37
for /f %%a in ('dir /b ut_*') do call :build %%a
hgs
parents:
diff changeset
    38
hgs
parents:
diff changeset
    39
if [%DOMODULESTESTS%] EQU [TRUE] (
hgs
parents:
diff changeset
    40
for /f %%a in ('dir /b mt_*') do call :build %%a
hgs
parents:
diff changeset
    41
)
hgs
parents:
diff changeset
    42
hgs
parents:
diff changeset
    43
hgs
parents:
diff changeset
    44
call :finish
hgs
parents:
diff changeset
    45
goto :END
hgs
parents:
diff changeset
    46
hgs
parents:
diff changeset
    47
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
    48
:: function STARTUP
hgs
parents:
diff changeset
    49
::
hgs
parents:
diff changeset
    50
:: Initializing script
hgs
parents:
diff changeset
    51
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
    52
:STARTUP
hgs
parents:
diff changeset
    53
hgs
parents:
diff changeset
    54
set BUILDTESTS=TRUE
hgs
parents:
diff changeset
    55
set RUNTESTS=TRUE
hgs
parents:
diff changeset
    56
set REMOVETESTS=TRUE
hgs
parents:
diff changeset
    57
set INSTRUMENT=TRUE
hgs
parents:
diff changeset
    58
set REMOVEINSTRUMENT=TRUE
hgs
parents:
diff changeset
    59
set DOMODULESTESTS=TRUE
hgs
parents:
diff changeset
    60
set SBS_CALL=sbs --config winscw_udeb.test --keepgoing BUILD
hgs
parents:
diff changeset
    61
set PATH_TO_DLL=\epoc32\release\winscw\udeb
hgs
parents:
diff changeset
    62
set PATH_TO_MOVE_DLL=\epoc32\release\winscw\udeb\z\sys\bin
hgs
parents:
diff changeset
    63
set PATH_TO_COVERAGE_DATA=\coverage_data
hgs
parents:
diff changeset
    64
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
if not exist %PATH_TO_DLL%\eunitexerunner.exe  ( 
hgs
parents:
diff changeset
    67
echo EUnit not installed! 
hgs
parents:
diff changeset
    68
goto end
hgs
parents:
diff changeset
    69
)
hgs
parents:
diff changeset
    70
hgs
parents:
diff changeset
    71
if not exist %PATH_TO_COVERAGE_DATA% (
hgs
parents:
diff changeset
    72
mkdir %PATH_TO_COVERAGE_DATA%
hgs
parents:
diff changeset
    73
)
hgs
parents:
diff changeset
    74
hgs
parents:
diff changeset
    75
if [%1] EQU [] ( goto default )
hgs
parents:
diff changeset
    76
hgs
parents:
diff changeset
    77
call :%1
hgs
parents:
diff changeset
    78
call :%2
hgs
parents:
diff changeset
    79
call :%3
hgs
parents:
diff changeset
    80
call :%4
hgs
parents:
diff changeset
    81
call :%5
hgs
parents:
diff changeset
    82
echo Running tests = %RUNTESTS%
hgs
parents:
diff changeset
    83
echo Instrumenting tests = %INSTRUMENT%
hgs
parents:
diff changeset
    84
goto default
hgs
parents:
diff changeset
    85
hgs
parents:
diff changeset
    86
:/NOCLEANUP
hgs
parents:
diff changeset
    87
set REMOVEINSTRUMENT=FALSE
hgs
parents:
diff changeset
    88
set REMOVETESTS=FALSE
hgs
parents:
diff changeset
    89
goto end
hgs
parents:
diff changeset
    90
hgs
parents:
diff changeset
    91
:/NORUN
hgs
parents:
diff changeset
    92
set RUNTESTS=FALSE
hgs
parents:
diff changeset
    93
set REMOVEINSTRUMENT=FALSE
hgs
parents:
diff changeset
    94
set REMOVETESTS=FALSE
hgs
parents:
diff changeset
    95
goto end
hgs
parents:
diff changeset
    96
hgs
parents:
diff changeset
    97
:/NOINSTRUMENT
hgs
parents:
diff changeset
    98
set INSTRUMENT=FALSE
hgs
parents:
diff changeset
    99
goto end
hgs
parents:
diff changeset
   100
hgs
parents:
diff changeset
   101
:/NOBUILD
hgs
parents:
diff changeset
   102
set BUILDTESTS=FALSE
hgs
parents:
diff changeset
   103
goto end
hgs
parents:
diff changeset
   104
hgs
parents:
diff changeset
   105
:/ONLYUNITTESTS
hgs
parents:
diff changeset
   106
set DOMODULESTESTS=FALSE
hgs
parents:
diff changeset
   107
goto end
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   110
:: function FINISH
hgs
parents:
diff changeset
   111
::
hgs
parents:
diff changeset
   112
:: Finishes run_auto_tests.bat
hgs
parents:
diff changeset
   113
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   114
:FINISH
hgs
parents:
diff changeset
   115
call :move
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
if [%RUNTESTS%] EQU [TRUE] (
hgs
parents:
diff changeset
   118
call :runtests
hgs
parents:
diff changeset
   119
)
hgs
parents:
diff changeset
   120
hgs
parents:
diff changeset
   121
if [%REMOVETESTS%] EQU [TRUE] (
hgs
parents:
diff changeset
   122
call :removetests
hgs
parents:
diff changeset
   123
)
hgs
parents:
diff changeset
   124
hgs
parents:
diff changeset
   125
if [%INSTRUMENT%] EQU [TRUE] (
hgs
parents:
diff changeset
   126
call :calculatecoverage
hgs
parents:
diff changeset
   127
)
hgs
parents:
diff changeset
   128
hgs
parents:
diff changeset
   129
if [%REMOVEINSTRUMENT%] EQU [TRUE] (
hgs
parents:
diff changeset
   130
call :removecoverage
hgs
parents:
diff changeset
   131
)
hgs
parents:
diff changeset
   132
goto end
hgs
parents:
diff changeset
   133
hgs
parents:
diff changeset
   134
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   135
:: function BUILD
hgs
parents:
diff changeset
   136
::    param directory
hgs
parents:
diff changeset
   137
::
hgs
parents:
diff changeset
   138
:: builds test from given directory
hgs
parents:
diff changeset
   139
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   140
:BUILD
hgs
parents:
diff changeset
   141
setlocal
hgs
parents:
diff changeset
   142
if [%BUILDTESTS%] EQU [FALSE] ( goto end )
hgs
parents:
diff changeset
   143
echo Building %1
hgs
parents:
diff changeset
   144
if not exist %1 ( 
hgs
parents:
diff changeset
   145
echo %1 Not found! 
hgs
parents:
diff changeset
   146
goto end
hgs
parents:
diff changeset
   147
)
hgs
parents:
diff changeset
   148
hgs
parents:
diff changeset
   149
pushd .
hgs
parents:
diff changeset
   150
call cd %1\group
hgs
parents:
diff changeset
   151
call sbs --config winscw_udeb.test --keepgoing CLEAN
hgs
parents:
diff changeset
   152
if [%INSTRUMENT%] EQU [TRUE] (
hgs
parents:
diff changeset
   153
call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
hgs
parents:
diff changeset
   154
) else (
hgs
parents:
diff changeset
   155
call %SBS_CALL%
hgs
parents:
diff changeset
   156
)
hgs
parents:
diff changeset
   157
hgs
parents:
diff changeset
   158
popd
hgs
parents:
diff changeset
   159
endlocal
hgs
parents:
diff changeset
   160
goto end
hgs
parents:
diff changeset
   161
hgs
parents:
diff changeset
   162
hgs
parents:
diff changeset
   163
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   164
:: function MOVE
hgs
parents:
diff changeset
   165
::
hgs
parents:
diff changeset
   166
:: moves compiled tests to eunit directory
hgs
parents:
diff changeset
   167
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   168
:MOVE
hgs
parents:
diff changeset
   169
echo Moving tests
hgs
parents:
diff changeset
   170
call move %PATH_TO_DLL%\ut_*.dll %PATH_TO_MOVE_DLL%
hgs
parents:
diff changeset
   171
call move %PATH_TO_DLL%\mt_*.dll %PATH_TO_MOVE_DLL%
hgs
parents:
diff changeset
   172
goto end
hgs
parents:
diff changeset
   173
hgs
parents:
diff changeset
   174
hgs
parents:
diff changeset
   175
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   176
:: function RUNTESTS
hgs
parents:
diff changeset
   177
::
hgs
parents:
diff changeset
   178
:: Runs tests in eunit directory
hgs
parents:
diff changeset
   179
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   180
:RUNTESTS
hgs
parents:
diff changeset
   181
echo Running tests
hgs
parents:
diff changeset
   182
call %PATH_TO_DLL%\eunitexerunner.exe -dtextshell --
hgs
parents:
diff changeset
   183
copy \epoc32\winscw\c\shared\EUnit\Logs\EUnit_log.xml \lastrun_EUnit_log.xml
hgs
parents:
diff changeset
   184
goto end
hgs
parents:
diff changeset
   185
hgs
parents:
diff changeset
   186
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   187
:: function CALCULATECOVERAGE
hgs
parents:
diff changeset
   188
::
hgs
parents:
diff changeset
   189
:: Calculates test coverage. Generates html
hgs
parents:
diff changeset
   190
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   191
:CALCULATECOVERAGE
hgs
parents:
diff changeset
   192
echo Calculating coverage
hgs
parents:
diff changeset
   193
ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
hgs
parents:
diff changeset
   194
call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
hgs
parents:
diff changeset
   195
goto end
hgs
parents:
diff changeset
   196
hgs
parents:
diff changeset
   197
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   198
:: function REMOVETESTS
hgs
parents:
diff changeset
   199
::
hgs
parents:
diff changeset
   200
:: Removes tests from eunit directory
hgs
parents:
diff changeset
   201
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   202
:REMOVETESTS
hgs
parents:
diff changeset
   203
echo Removing Test dlls
hgs
parents:
diff changeset
   204
call sleep 3
hgs
parents:
diff changeset
   205
call del %PATH_TO_MOVE_DLL%\t_*.dll
hgs
parents:
diff changeset
   206
call del %PATH_TO_MOVE_DLL%\mt_*.dll
hgs
parents:
diff changeset
   207
call del %PATH_TO_MOVE_DLL%\ut_*.dll
hgs
parents:
diff changeset
   208
call del %PATH_TO_MOVE_DLL%\it_*.dll
hgs
parents:
diff changeset
   209
goto end
hgs
parents:
diff changeset
   210
hgs
parents:
diff changeset
   211
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   212
:: function REMOVECOVERAGE
hgs
parents:
diff changeset
   213
::
hgs
parents:
diff changeset
   214
:: Removes data from coverage directory
hgs
parents:
diff changeset
   215
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   216
:REMOVECOVERAGE
hgs
parents:
diff changeset
   217
echo Removing deleting coverage data
hgs
parents:
diff changeset
   218
call del %PATH_TO_COVERAGE_DATA%\*.sym
hgs
parents:
diff changeset
   219
call del %PATH_TO_COVERAGE_DATA%\*.dat
hgs
parents:
diff changeset
   220
call del profile.txt
hgs
parents:
diff changeset
   221
goto end
hgs
parents:
diff changeset
   222
hgs
parents:
diff changeset
   223
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   224
:: function END
hgs
parents:
diff changeset
   225
::
hgs
parents:
diff changeset
   226
:: Prints done
hgs
parents:
diff changeset
   227
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   228
:END
hgs
parents:
diff changeset
   229
echo Done!