apicompatanamdw/compatanalysercmd/libraryanalyser/tsrc/scripts/latestrun.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 sys
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    18
import os
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    19
import shutil
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    20
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    21
LATEST_GCCE_BIN = os.pardir+os.sep+"tsrc"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    22
LATEST_GCC_BIN = os.pardir+os.sep+"tsrc"+os.sep+"bin"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    23
LATEST_RVCT_BIN = os.environ.get('RVCT22BIN')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    24
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    25
TC_NUM = sys.argv[1]
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    26
TC_FOLDER = os.getcwd()+os.sep+"TC"+os.sep+TC_NUM
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    27
SCRIPT_DIR = TC_FOLDER+os.sep+"scripts"+os.sep
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    28
BBCRESULTS = os.pardir+os.sep+os.pardir+os.sep+"checkbc"+os.sep+"results"+os.sep+"BBCResults.xsl"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    29
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    30
if len(sys.argv) == 1:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    31
    print "Usage: latestrun testcase_name"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    32
    sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    33
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    34
if not os.path.exists(TC_FOLDER):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    35
    print "Test case directory cannot be found: " + TC_FOLDER
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    36
    sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    37
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    38
if not os.path.exists(SCRIPT_DIR+"prepare.txt"):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    39
    print "Test case directory cannot be found: " + SCRIPT_DIR + "prepare.txt"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    40
    sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    41
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    42
file = open( SCRIPT_DIR+"prepare.txt" )
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    43
BASENAME = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    44
BASEDIR = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    45
CURRNAME = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    46
CURRDIR = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    47
RESDIR = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    48
TOOLCHAIN = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    49
USELIBS = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    50
BASEDLLDIR = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    51
CURRDLLDIR = ((file.readline()).replace("\\",os.sep).replace("/",os.sep)).rstrip('\n\r ')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    52
file.close()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    53
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    54
print "Checking test case directories..."
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    55
basedirlist = BASEDIR.split(';')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    56
BASEDIRS = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    57
for d in basedirlist:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    58
	if d != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    59
		if not os.path.exists(TC_FOLDER+os.sep+d):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    60
			print "Cannot find base platform directory: " + TC_FOLDER+os.sep+d
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    61
			sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    62
		if BASEDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    63
			BASEDIRS = BASEDIRS + ";"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    64
		BASEDIRS = BASEDIRS+TC_FOLDER+os.sep+d
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    65
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    66
curdirlist = CURRDIR.split(';')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    67
CURRDIRS = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    68
for d in curdirlist:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    69
	if d != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    70
		if not os.path.exists(TC_FOLDER+os.sep+d):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    71
			print "Cannot find current platform directory: " + TC_FOLDER+os.sep+d
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    72
			sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    73
		if CURRDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    74
			CURRDIRS = CURRDIRS + ";"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    75
		CURRDIRS = CURRDIRS+TC_FOLDER+os.sep+d
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    76
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    77
basedlldirlist = BASEDLLDIR.split(';')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    78
BASEDLLDIRS = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    79
for d in basedlldirlist:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    80
	if d != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    81
		if not os.path.exists(TC_FOLDER+os.sep+d):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    82
			BASEDLLDIRS = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    83
		else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    84
			if BASEDLLDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    85
				BASEDLLDIRS = BASEDLLDIRS + ";"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    86
			BASEDLLDIRS = BASEDLLDIRS+TC_FOLDER+os.sep+d
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    87
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    88
curdlldirlist = CURRDLLDIR.split(';')
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    89
CURRDLLDIRS = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    90
for d in curdlldirlist:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    91
	if d != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    92
		if not os.path.exists(TC_FOLDER+os.sep+d):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    93
			CURRDLLDIRS = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    94
		else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    95
			if CURRDLLDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    96
				CURRDLLDIRS = CURRDLLDIRS + ";"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    97
			CURRDLLDIRS = CURRDLLDIRS+TC_FOLDER+os.sep+d
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    98
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
    99
if not os.path.exists(TC_FOLDER+os.sep+RESDIR):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   100
    print "Cannot find result directory: " + TC_FOLDER+os.sep+RESDIR
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   101
    sys.exit()    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   102
TC_BBCRESULTS =  TC_FOLDER+os.sep+RESDIR+os.sep +"BBCResults.xsl"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   103
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   104
if not os.path.exists( BBCRESULTS):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   105
    print "Cannot find BBCResults.xsl"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   106
else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   107
    shutil.copyfile(BBCRESULTS,TC_BBCRESULTS)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   108
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   109
if TOOLCHAIN == "GCCE":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   110
    LATEST_TOOLDIR = LATEST_GCCE_BIN
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   111
elif TOOLCHAIN == "GCC":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   112
    if os.name == "posix":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   113
        print "Test case not supported on Linux"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   114
        sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   115
    LATEST_TOOLDIR = LATEST_GCC_BIN 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   116
elif TOOLCHAIN == "RVCT":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   117
    LATEST_TOOLDIR = LATEST_RVCT_BIN
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   118
else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   119
	  TOOLCHAIN = "GCCE"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   120
	  LATEST_TOOLDIR ="" 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   121
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   122
print "---- Starting Library Analyser ----"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   123
os.chdir(os.pardir+os.sep+"bin")
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   124
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   125
if os.name == "posix":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   126
    LATEST_CFILT_BIN = os.getcwd()+os.sep+"cfilt"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   127
else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   128
    LATEST_CFILT_BIN = os.getcwd()+os.sep+"cfilt.exe"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   129
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   130
lib_command = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   131
if BASEDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   132
	lib_command = " -baselinelibdir " + BASEDIRS
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   133
if CURRDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   134
	lib_command = lib_command + " -currentlibdir " + CURRDIRS
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   135
	
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   136
dll_command = ""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   137
if BASEDLLDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   138
	dll_command=" -baselinedlldir " + BASEDLLDIRS;
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   139
if CURRDLLDIRS != "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   140
	dll_command = dll_command + " -currentdlldir " + CURRDLLDIRS
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   141
    
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   142
RESULTS_DIR = TC_FOLDER + os.sep + RESDIR + os.sep
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   143
if os.path.exists(RESULTS_DIR+"results.xml"):
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   144
    os.remove(RESULTS_DIR+"results.xml")
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   145
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   146
if LATEST_TOOLDIR == "":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   147
	cmd=os.getcwd()+os.sep+"la "+TOOLCHAIN+lib_command+dll_command+" -baselineversion \""+BASENAME+"\" -currentversion \""+CURRNAME+"\" -reportfile \""+TC_FOLDER+os.sep+"results"+os.sep+"results.xml\" -temp \""+os.getcwd()+os.sep+"temp\" -set \""+TC_FOLDER+os.sep+"scripts"+os.sep+"config.txt\"" 
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   148
else:
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   149
	cmd=os.getcwd()+os.sep+"la "+TOOLCHAIN+lib_command+dll_command+" -baselineversion \""+BASENAME+"\" -currentversion \""+CURRNAME+"\" -reportfile \""+TC_FOLDER+os.sep+"results"+os.sep+"results.xml\" -tools \""+LATEST_TOOLDIR+"\" -temp \""+os.getcwd()+os.sep+"temp\" -set \""+TC_FOLDER+os.sep+"scripts"+os.sep+"config.txt\""
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   150
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   151
print cmd
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   152
if USELIBS == "TRUE":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   153
    cmd = cmd + " --uselibs"
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   154
if TOOLCHAIN == "RVCT":
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   155
    cmd = cmd + " -cfilt " + LATEST_CFILT_BIN
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   156
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   157
os.system(cmd)
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   158
os.chdir(os.pardir+os.sep+"tsrc")
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   159
sys.exit()
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   160
638b9c697799 1. Licenses updated to EPL.
noe\swadi
parents:
diff changeset
   161