apicompatanamdw/compatanalysercmd/checkbc/tsrc/testcheckbc.py
author noe\swadi
Tue, 12 Jan 2010 14:52:39 +0530
changeset 0 638b9c697799
permissions -rw-r--r--
1. Licenses updated to EPL. 2. New components test cases added to BC Drivers 3. Some minor fixes and few feature additions to CA.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     1
#
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     2
# Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     3
# All rights reserved.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     4
# This component and the accompanying materials are made available
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     5
# under the terms of "Eclipse Public License v1.0"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     6
# which accompanies this distribution, and is available
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     7
# at the URL "http://www.eclipse.org/legal/epl-v10.html".
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     8
#
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
     9
# Initial Contributors:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    10
# Nokia Corporation - initial contribution.
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    11
#
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    12
# Contributors:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    13
#
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    14
# Description:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    15
#
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    16
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    17
import os
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    18
import time
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    19
import sys
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    20
import inspect
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    21
import testcases
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    22
import shutil
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    23
import platform
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    24
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    25
if os.name == 'nt':
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    26
    path = os.path.dirname(sys.argv[0])
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    27
else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    28
    path = os.getcwd()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    29
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    30
TC_DIR = path
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    31
TEMP_DIR = TC_DIR + os.sep + 'temp'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    32
TOOLS_DIR = TC_DIR + os.sep + os.pardir + os.sep + os.pardir
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    33
EXEC_DIR = TC_DIR + os.sep + os.pardir + os.sep + "bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    34
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    35
time_taken = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    36
total_time_taken = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    37
totalCount = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    38
timeval = time.strftime("%a %b %d, %Y at %H:%M:%S", time.localtime())
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    39
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    40
if os.environ.get('RVCT22BIN') is None:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    41
    print 'Environment Variable RVCT22BIN must be set before starting the test harness'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    42
    sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    43
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    44
report_file = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    45
passed = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    46
failed = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    47
ostr = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    48
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    49
def UpdateTimeTaken(tm):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    50
    global time_taken, total_time_taken
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    51
    time_taken = tm
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    52
    total_time_taken += tm
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    53
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    54
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    55
def write(key, res):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    56
    global passed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    57
    global failed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    58
    global totalCount
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    59
    global ostr
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    60
    totalCount = totalCount + 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    61
    ostr = ostr+"  <testcase classname=\"BCFilter\" name=\""+key+"\" time=\""+str(round(time_taken,3))+"\">\n"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    62
    if res[2] == 'PASSED':
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    63
        passed = passed + 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    64
    else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    65
        failed = failed + 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    66
        ostr = ostr+"    <failure message=\"Failed\" type=\"Failed\">Failed</failure>\n"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    67
    ostr = ostr+"    <expresults>"+res[0]+"</expresults>\n"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    68
    ostr = ostr+"    <actresults>"+res[1]+"</actresults>\n"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    69
    ostr = ostr+"  </testcase>\n"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    70
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    71
class registry:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    72
    _register = {}
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    73
    items = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    74
    cur_item = -1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    75
    keys = []
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    76
    def __init__(self):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    77
        pass
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    78
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    79
    def __iter__(self):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    80
        return self
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    81
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    82
    def __getitem__(self, item):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    83
        return self._register[item]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    84
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    85
    def next(self):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    86
        if self.cur_item >= (self.items-1):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    87
            self.cur_item = -1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    88
            raise StopIteration
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    89
        else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    90
            self.cur_item = self.cur_item + 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    91
            return tuple([ self.keys[self.cur_item],self._register[self.keys[self.cur_item]] ])
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    92
        
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    93
    def register(self, key, val):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    94
        self._register[key] = val
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    95
        self.items = self.items + 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    96
        self.keys.append(key)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    97
        
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    98
    def deregister(self, key):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    99
        if self._register.has_key(key):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   100
            self._register.pop(key)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   101
            self.items = self.items - 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   102
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   103
    def next_entry(self):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   104
        if self.cur_item < (self.items-1):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   105
            self.cur_item = self.cur_item + 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   106
            return tuple([ self.keys[self.cur_item],self._register[self.keys[self.cur_item]] ])
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   107
        else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   108
            return tuple()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   109
        
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   110
    def prev_entry(self):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   111
        if self.cur_item != -1:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   112
            self.cur_item = self.cur_item - 1
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   113
            return tuple([ self.keys[self.cur_item], self._register[self.keys[self.cur_item]] ])
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   114
        else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   115
            return tuple()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   116
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   117
    def count():
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   118
        return self.items
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   119
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   120
def setUp(key):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   121
    print '\n---------------------------------------------------------------'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   122
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   123
def tearDown():
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   124
    print '\n---------------------------------------------------------------'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   125
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   126
def testAll(db):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   127
    global ostr
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   128
    result = 0
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   129
    os.chdir(TC_DIR)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   130
    for key, value in db:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   131
        print '\n---------------------------------------------------------------'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   132
        stime = time.clock()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   133
        res = value()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   134
        etime = time.clock()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   135
        print '\n---------------------------------------------------------------'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   136
        UpdateTimeTaken(etime-stime)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   137
        write(key, res)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   138
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   139
def register_tc(db):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   140
    index = 3
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   141
    if 'c' == sys.argv[2]:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   142
        index = 4 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   143
    if len(sys.argv) > index:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   144
        cases = []
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   145
        file = open( sys.argv[index] )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   146
        for line in file:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   147
            cases.append(line.rstrip('\r\n').lower())
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   148
        file.close()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   149
    for key,value in inspect.getmembers(testcases):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   150
        if inspect.isfunction(value) and key.split('_')[0] == 'test':
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   151
            if len(sys.argv) > index:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   152
                if key in cases:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   153
                    db.register(key, value)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   154
            else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   155
                db.register(key, value)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   156
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   157
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   158
def open_results():
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   159
    if os.path.exists(REPORT) and os.name == 'nt':
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   160
        cmd = "start " + REPORT
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   161
        os.system(cmd)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   162
    return
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   163
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   164
def write_header(file):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   165
    global failed
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   166
    global totalCount
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   167
    global total_time_taken
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   168
    file.write('<?xml version="1.0" encoding="UTF-8" standalone="no" ?>\n')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   169
    file.write('<?xml-stylesheet type="text/xsl" href="checkbctestresults.xsl"?>\n')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   170
    file.write("<testsuite errors=\"0\" failures=\""+str(failed)+"\" hostname=\""+platform.node()+"\" name=\"BCFilter\" tests=\""+str(totalCount)+"\" time=\""+str(round(total_time_taken,3))+"\" timestamp=\""+str(timeval)+"\">\n")
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   171
    file.write("<properties>\n</properties>\n")
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   172
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   173
def write_footer(file, db):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   174
    global ostr
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   175
    file.write(ostr)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   176
    file.write("</testsuite>\n")
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   177
    file.close()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   178
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   179
def copy_toolset():
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   180
    dir = os.getcwd()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   181
    changed_TOOL_DIR = TOOLS_DIR;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   182
    HA=""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   183
    BCF=""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   184
    LA=""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   185
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   186
    file = open( sys.argv[1] )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   187
    cases = file.readlines()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   188
    file.close()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   189
    for tc in cases:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   190
        temp = tc.find('checkbc')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   191
        if(temp!=-1):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   192
            if(tc.split('=')[1].split(';')[0]== 'trunk'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   193
                changed_TOOL_DIR = changed_TOOL_DIR+ os.sep + os.pardir
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   194
            elif(tc.split('=')[1].split(';')[0]!= 'bin'):	
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   195
                changed_TOOL_DIR = changed_TOOL_DIR+ os.sep + os.pardir+ os.sep + os.pardir
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   196
                
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   197
    for tc in cases:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   198
        temp = tc.find('ha')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   199
        if(temp != -1):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   200
            haDir = tc.split('=')[1].split(';')[0]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   201
            if(haDir == 'trunk'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   202
                HA = changed_TOOL_DIR+os.sep+"headeranalyser"+os.sep+"trunk"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   203
            elif(haDir != 'bin'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   204
                HA = changed_TOOL_DIR+os.sep+"headeranalyser"+os.sep+"tags"+os.sep+haDir+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   205
            else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   206
                HA = changed_TOOL_DIR+os.sep+"headeranalyser"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   207
                
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   208
    for tc in cases:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   209
        temp = tc.find('bcf')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   210
        if(temp != -1):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   211
            bcDir = tc.split('=')[1].split(';')[0]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   212
            if(bcDir == 'trunk'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   213
                BCF = changed_TOOL_DIR+os.sep+"bcfilter"+os.sep+"trunk"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   214
            elif(bcDir != 'bin'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   215
                BCF = changed_TOOL_DIR+os.sep+"bcfilter"+os.sep+"tags"+os.sep+bcDir+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   216
            else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   217
                BCF = changed_TOOL_DIR+os.sep+"bcfilter"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   218
                
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   219
    for tc in cases:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   220
        temp = tc.find('la')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   221
        if(temp != -1):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   222
            laDir = tc.split('=')[1].split(';')[0]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   223
            if(laDir == 'trunk'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   224
                LA = changed_TOOL_DIR+os.sep+"libraryanalyser"+os.sep+"trunk"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   225
            elif(laDir != 'bin'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   226
                LA = changed_TOOL_DIR+os.sep+"libraryanalyser"+os.sep+"tags"+os.sep+laDir+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   227
            else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   228
                LA = changed_TOOL_DIR+os.sep+"ordinalchecker"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   229
                
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   230
    os.chdir( TC_DIR + os.sep + os.pardir )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   231
    if not os.path.exists(EXEC_DIR):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   232
        os.makedirs(EXEC_DIR)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   233
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   234
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   235
    copy(HA+os.sep+"forced_9.4.h" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   236
    copy(HA+os.sep+"forced_9.4v2.h" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   237
    copy(HA+os.sep+"forced_mobileruntime.h" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   238
    copy(HA+os.sep+"forced_kernel.h" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   239
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   240
    if os.name == 'nt':
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   241
        copy(BCF+os.sep+"bcfilter.exe" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   242
        copy(BCF+os.sep+"libxerces-c2_7_0.dll" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   243
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   244
        copy(HA+os.sep+"ha.exe" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   245
        copy(HA+os.sep+"ha_gccxml_cc1plus.exe" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   246
        copy(HA+os.sep+"boost_thread-gcc-mt-1_33_1.dll" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   247
        copy(HA+os.sep+"mingwm10.dll" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   248
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   249
        copy(LA+os.sep+"la.exe" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   250
        copy(LA+os.sep+"cfilt.exe" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   251
    else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   252
        copy(BCF+os.sep+"bcfilter" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   253
        copy(BCF+os.sep+"libxerces-c2_7_0.dll" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   254
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   255
        copy(HA+os.sep+"ha" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   256
        copy(HA+os.sep+"ha_gccxml_cc1plus" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   257
        copy(HA+os.sep+"boost_thread-gcc-mt-1_33_1.dll" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   258
        copy(HA+os.sep+"mingwm10.dll" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   259
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   260
        copy(LA+os.sep+"la" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   261
        copy(LA+os.sep+"cfilt" ,"bin"+os.sep )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   262
    os.chdir(dir)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   263
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   264
def copy(src, dst):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   265
    try:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   266
        shutil.copy(src, dst )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   267
    except IOError, e:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   268
        print e
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   269
        shutil.rmtree(EXEC_DIR)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   270
        sys.exit(1)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   271
        
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   272
if __name__ == '__main__':
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   273
    #Check for proper python version and then continue execution
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   274
    if not "2.4" <= platform.python_version() < "3.0":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   275
        python_error()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   276
    lst = []
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   277
    db = registry()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   278
    if len(sys.argv) < 3:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   279
        print "Usage: TestCheckBC.py <toolPathFile> [c] <outputfile> [<testcasefile>]"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   280
        print "<toolPathFile> - Text file with info regarding which path to be taken for each component."
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   281
        print "                 These can be either bin / trunk / tag number"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   282
        print "                 - bin, if it is for S60 Release"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   283
        print "                 - trunk, if executable should be taken from trunk "
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   284
        print "                 - tag number, specify the tag no from which executable should be taken"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   285
        print "[c] - Optional parameter to Copy binaries, if not already existing."
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   286
        print "<outputfile> - report filename eg: report.xml"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   287
        print "[<testcasefile>] - Optional parameter. Text file with list of test cases mentioned, those to be executed."
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   288
        sys.exit(1)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   289
    if not os.path.exists(TEMP_DIR):        
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   290
        os.makedirs(TEMP_DIR)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   291
    if not os.path.exists(TEMP_DIR + os.sep + 'results'):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   292
        os.makedirs(TEMP_DIR + os.sep + 'results')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   293
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   294
    if 'c' == sys.argv[2]:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   295
        copy_toolset()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   296
        if(len(sys.argv)== 3):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   297
            print '---------files copied--------'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   298
            sys.exit(0)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   299
        REPORT = TC_DIR + os.sep + 'reports' + os.sep + sys.argv[3]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   300
    else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   301
        if not os.path.exists(EXEC_DIR):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   302
            copy_toolset()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   303
            print 'Toolset not found. New copy created'
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   304
        REPORT = TC_DIR + os.sep + 'reports' + os.sep + sys.argv[2]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   305
    	
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   306
    register_tc(db)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   307
    report_file = open(REPORT, 'w')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   308
    testAll(db)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   309
    write_header(report_file)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   310
    write_footer(report_file, db)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   311
    shutil.rmtree(TEMP_DIR) 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   312
    open_results()