phoneengine/phonemodel/tsrc/run_auto_tests_qt.bat
author hgs
Mon, 04 Oct 2010 16:06:10 +0300
changeset 76 cfea66083b62
parent 65 2a5d4ab426d3
permissions -rw-r--r--
201039
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
65
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 "Eclipse Public 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.eclipse.org/legal/epl-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\*.cpp
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
if [%DOMODULESTESTS%] EQU [TRUE] (
hgs
parents:
diff changeset
    39
for /f %%a in ('dir /b mt_*') do call :build %%a
hgs
parents:
diff changeset
    40
)
hgs
parents:
diff changeset
    41
hgs
parents:
diff changeset
    42
call :finish
hgs
parents:
diff changeset
    43
goto :END
hgs
parents:
diff changeset
    44
hgs
parents:
diff changeset
    45
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
    46
:: function STARTUP
hgs
parents:
diff changeset
    47
::
hgs
parents:
diff changeset
    48
:: Initializing script
hgs
parents:
diff changeset
    49
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
    50
:STARTUP
hgs
parents:
diff changeset
    51
hgs
parents:
diff changeset
    52
set BUILDTESTS=TRUE
hgs
parents:
diff changeset
    53
set RUNTESTS=TRUE
hgs
parents:
diff changeset
    54
set INSTRUMENT=TRUE
hgs
parents:
diff changeset
    55
set REMOVEINSTRUMENT=TRUE
hgs
parents:
diff changeset
    56
set DOMODULESTESTS=TRUE
hgs
parents:
diff changeset
    57
set SBS_CALL=sbs --config winscw_udeb --keepgoing BUILD
hgs
parents:
diff changeset
    58
set PATH_TO_DLL=\epoc32\release\winscw\udeb
hgs
parents:
diff changeset
    59
set PATH_TO_COVERAGE_DATA=\coverage_data
hgs
parents:
diff changeset
    60
set PATH_TO_RESULT=\test_result
hgs
parents:
diff changeset
    61
hgs
parents:
diff changeset
    62
if not exist %PATH_TO_COVERAGE_DATA% (
hgs
parents:
diff changeset
    63
mkdir %PATH_TO_COVERAGE_DATA%
hgs
parents:
diff changeset
    64
)
hgs
parents:
diff changeset
    65
hgs
parents:
diff changeset
    66
if not exist %PATH_TO_RESULT% (
hgs
parents:
diff changeset
    67
mkdir %PATH_TO_RESULT%
hgs
parents:
diff changeset
    68
)
hgs
parents:
diff changeset
    69
hgs
parents:
diff changeset
    70
if [%1] EQU [] ( goto default )
hgs
parents:
diff changeset
    71
hgs
parents:
diff changeset
    72
call :%1
hgs
parents:
diff changeset
    73
call :%2
hgs
parents:
diff changeset
    74
call :%3
hgs
parents:
diff changeset
    75
call :%4
hgs
parents:
diff changeset
    76
call :%5
hgs
parents:
diff changeset
    77
echo Running tests = %RUNTESTS%
hgs
parents:
diff changeset
    78
echo Instrumenting tests = %INSTRUMENT%
hgs
parents:
diff changeset
    79
goto default
hgs
parents:
diff changeset
    80
hgs
parents:
diff changeset
    81
:/NOCLEANUP
hgs
parents:
diff changeset
    82
set REMOVEINSTRUMENT=FALSE
hgs
parents:
diff changeset
    83
goto end
hgs
parents:
diff changeset
    84
hgs
parents:
diff changeset
    85
:/NORUN
hgs
parents:
diff changeset
    86
set RUNTESTS=FALSE
hgs
parents:
diff changeset
    87
set REMOVEINSTRUMENT=FALSE
hgs
parents:
diff changeset
    88
goto end
hgs
parents:
diff changeset
    89
hgs
parents:
diff changeset
    90
:/NOINSTRUMENT
hgs
parents:
diff changeset
    91
set INSTRUMENT=FALSE
hgs
parents:
diff changeset
    92
goto end
hgs
parents:
diff changeset
    93
hgs
parents:
diff changeset
    94
:/NOBUILD
hgs
parents:
diff changeset
    95
set BUILDTESTS=FALSE
hgs
parents:
diff changeset
    96
goto end
hgs
parents:
diff changeset
    97
hgs
parents:
diff changeset
    98
:/ONLYUNITTESTS
hgs
parents:
diff changeset
    99
set DOMODULESTESTS=FALSE
hgs
parents:
diff changeset
   100
goto end
hgs
parents:
diff changeset
   101
hgs
parents:
diff changeset
   102
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   103
:: function FINISH
hgs
parents:
diff changeset
   104
::
hgs
parents:
diff changeset
   105
:: Finishes run_auto_tests.bat
hgs
parents:
diff changeset
   106
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   107
:FINISH
hgs
parents:
diff changeset
   108
hgs
parents:
diff changeset
   109
if [%RUNTESTS%] EQU [TRUE] (
hgs
parents:
diff changeset
   110
call :runtests
hgs
parents:
diff changeset
   111
)
hgs
parents:
diff changeset
   112
hgs
parents:
diff changeset
   113
if [%INSTRUMENT%] EQU [TRUE] (
hgs
parents:
diff changeset
   114
call :calculatecoverage
hgs
parents:
diff changeset
   115
)
hgs
parents:
diff changeset
   116
hgs
parents:
diff changeset
   117
if [%REMOVEINSTRUMENT%] EQU [TRUE] (
hgs
parents:
diff changeset
   118
call :removecoverage
hgs
parents:
diff changeset
   119
)
hgs
parents:
diff changeset
   120
goto end
hgs
parents:
diff changeset
   121
hgs
parents:
diff changeset
   122
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   123
:: function BUILD
hgs
parents:
diff changeset
   124
::    param directory
hgs
parents:
diff changeset
   125
::
hgs
parents:
diff changeset
   126
:: builds test from given directory
hgs
parents:
diff changeset
   127
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   128
:BUILD
hgs
parents:
diff changeset
   129
setlocal
hgs
parents:
diff changeset
   130
if [%BUILDTESTS%] EQU [FALSE] ( goto end )
hgs
parents:
diff changeset
   131
echo Building %1
hgs
parents:
diff changeset
   132
if not exist %1 ( 
hgs
parents:
diff changeset
   133
echo %1 Not found! 
hgs
parents:
diff changeset
   134
goto end
hgs
parents:
diff changeset
   135
)
hgs
parents:
diff changeset
   136
hgs
parents:
diff changeset
   137
pushd .
hgs
parents:
diff changeset
   138
call cd %1
hgs
parents:
diff changeset
   139
call qmake
hgs
parents:
diff changeset
   140
call sbs --config winscw_udeb --keepgoing CLEAN
hgs
parents:
diff changeset
   141
if [%INSTRUMENT%] EQU [TRUE] (
76
hgs
parents: 65
diff changeset
   142
call ctcwrap -n %PATH_TO_COVERAGE_DATA%\%1 -i d -C "EXCLUDE=*" -C "NO_EXCLUDE=%TESTED_SRC%" "%SBS_CALL%"
65
hgs
parents:
diff changeset
   143
) else (
hgs
parents:
diff changeset
   144
call %SBS_CALL%
hgs
parents:
diff changeset
   145
)
hgs
parents:
diff changeset
   146
hgs
parents:
diff changeset
   147
popd
hgs
parents:
diff changeset
   148
endlocal
hgs
parents:
diff changeset
   149
goto end
hgs
parents:
diff changeset
   150
hgs
parents:
diff changeset
   151
hgs
parents:
diff changeset
   152
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   153
:: function RUNTESTS
hgs
parents:
diff changeset
   154
::
hgs
parents:
diff changeset
   155
:: NOTE! Function assumes that test binary is named according to test directory.
hgs
parents:
diff changeset
   156
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   157
:RUNTESTS
hgs
parents:
diff changeset
   158
echo Running tests
hgs
parents:
diff changeset
   159
for /f %%a in ('dir /b ut_*') do (
hgs
parents:
diff changeset
   160
    call %PATH_TO_DLL%\%%a.exe -dtextshell --
hgs
parents:
diff changeset
   161
    move \epoc32\winscw\c\data\%%a.log %PATH_TO_RESULT%\%%a.log
hgs
parents:
diff changeset
   162
)
hgs
parents:
diff changeset
   163
goto end
hgs
parents:
diff changeset
   164
hgs
parents:
diff changeset
   165
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   166
:: function CALCULATECOVERAGE
hgs
parents:
diff changeset
   167
::
hgs
parents:
diff changeset
   168
:: Calculates test coverage. Generates html
hgs
parents:
diff changeset
   169
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   170
:CALCULATECOVERAGE
hgs
parents:
diff changeset
   171
echo Calculating coverage
hgs
parents:
diff changeset
   172
ctcpost %PATH_TO_COVERAGE_DATA%\*.sym -p - | ctcmerge -i - -o profile.txt
hgs
parents:
diff changeset
   173
call ctc2html -t 70 -i profile.txt -o \coverage_result -nsb
hgs
parents:
diff changeset
   174
goto end
hgs
parents:
diff changeset
   175
hgs
parents:
diff changeset
   176
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   177
:: function REMOVECOVERAGE
hgs
parents:
diff changeset
   178
::
hgs
parents:
diff changeset
   179
:: Removes data from coverage directory
hgs
parents:
diff changeset
   180
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   181
:REMOVECOVERAGE
hgs
parents:
diff changeset
   182
echo Removing deleting coverage data
hgs
parents:
diff changeset
   183
call del %PATH_TO_COVERAGE_DATA%\*.sym
hgs
parents:
diff changeset
   184
call del %PATH_TO_COVERAGE_DATA%\*.dat
hgs
parents:
diff changeset
   185
call del profile.txt
hgs
parents:
diff changeset
   186
goto end
hgs
parents:
diff changeset
   187
hgs
parents:
diff changeset
   188
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   189
:: function END
hgs
parents:
diff changeset
   190
::
hgs
parents:
diff changeset
   191
:: Prints done
hgs
parents:
diff changeset
   192
::::::::::::::::::::::::::::::::::::::::::::::::::::::
hgs
parents:
diff changeset
   193
:END
hgs
parents:
diff changeset
   194
echo Done!