mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-17 15:39:30 +02:00
test: store test runs in database
git-svn-id: trunk@16072 -
This commit is contained in:
parent
985be0ddf3
commit
691dd09934
@ -21,9 +21,10 @@ Function GetTestID(Name : string) : Integer;
|
|||||||
Function GetOSID(Name : String) : Integer;
|
Function GetOSID(Name : String) : Integer;
|
||||||
Function GetCPUID(Name : String) : Integer;
|
Function GetCPUID(Name : String) : Integer;
|
||||||
Function GetCategoryID(Name : String) : Integer;
|
Function GetCategoryID(Name : String) : Integer;
|
||||||
Function GetVersionID(Name : String) : Integer;
|
Function GetFPCVersionID(Name : String) : Integer;
|
||||||
Function GetRunID(OSID, CPUID, VERSIONID : Integer; Date : TDateTime) : Integer;
|
Function GetLAZVersionID(Name : String) : Integer;
|
||||||
Function AddRun(OSID, CPUID, VERSIONID, CATEGORYID : Integer; Date : TDateTime) : Integer;
|
Function GetRunID(OSID, CPUID, FPCVERSIONID, LazVersionID : Integer; Date : TDateTime) : Integer;
|
||||||
|
Function AddRun(OSID, CPUID, FPCVERSIONID, LazVersionID : Integer; Date : TDateTime) : Integer;
|
||||||
Function AddTest(Name : String; AddSource : Boolean) : Integer;
|
Function AddTest(Name : String; AddSource : Boolean) : Integer;
|
||||||
Function UpdateTest(ID : Integer; Info : TConfig; Source : String) : Boolean;
|
Function UpdateTest(ID : Integer; Info : TConfig; Source : String) : Boolean;
|
||||||
Function AddTestResult(TestID,RunID,TestRes : Integer;
|
Function AddTestResult(TestID,RunID,TestRes : Integer;
|
||||||
@ -191,15 +192,6 @@ begin
|
|||||||
Result:=IDQuery(Format(SFromName,[Name]));
|
Result:=IDQuery(Format(SFromName,[Name]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function GetVersionID(Name : String) : Integer;
|
|
||||||
|
|
||||||
Const
|
|
||||||
SFromName = 'SELECT TV_ID FROM TESTVERSION WHERE (TV_VERSION="%s")';
|
|
||||||
|
|
||||||
begin
|
|
||||||
Result:=IDQuery(Format(SFromName,[Name]));
|
|
||||||
end;
|
|
||||||
|
|
||||||
Function GetCPUID(Name : String) : Integer;
|
Function GetCPUID(Name : String) : Integer;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
@ -218,25 +210,44 @@ begin
|
|||||||
Result:=IDQuery(Format(SFromName,[Name]));
|
Result:=IDQuery(Format(SFromName,[Name]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function GetRunID(OSID, CPUID, VERSIONID : Integer; Date : TDateTime) : Integer;
|
function GetFPCVersionID(Name: String): Integer;
|
||||||
|
|
||||||
|
Const
|
||||||
|
SFromName = 'SELECT TFV_ID FROM TESTFPCVERSION WHERE (TFV_VERSION="%s")';
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:=IDQuery(Format(SFromName,[Name]));
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function GetLAZVersionID(Name: String): Integer;
|
||||||
|
Const
|
||||||
|
SFromName = 'SELECT TLV_ID FROM TESTLAZVERSION WHERE (TLV_VERSION="%s")';
|
||||||
|
|
||||||
|
begin
|
||||||
|
Result:=IDQuery(Format(SFromName,[Name]));
|
||||||
|
end;
|
||||||
|
|
||||||
|
|
||||||
|
function GetRunID(OSID, CPUID, FPCVERSIONID, LazVersionID: Integer;
|
||||||
|
Date: TDateTime): Integer;
|
||||||
Const
|
Const
|
||||||
SFromIDS = 'SELECT TU_ID FROM TESTRUN WHERE '+
|
SFromIDS = 'SELECT TU_ID FROM TESTRUN WHERE '+
|
||||||
' (TU_OS_FK=%d) '+
|
' (TU_OS_FK=%d) '+
|
||||||
' AND (TU_CPU_FK=%d) '+
|
' AND (TU_CPU_FK=%d) '+
|
||||||
' AND (TU_VERSION_FK=%d) '+
|
' AND (TU_FPC_VERSION_FK=%d) '+
|
||||||
|
' AND (TU_LAZ_VERSION_FK=%d) '+
|
||||||
' AND (TU_DATE="%s")';
|
' AND (TU_DATE="%s")';
|
||||||
|
|
||||||
begin
|
begin
|
||||||
Result:=IDQuery(Format(SFromIDS,[OSID,CPUID,VERSIONID,SQLDate(Date)]));
|
Result:=IDQuery(Format(SFromIDS,[OSID,CPUID,FPCVERSIONID,LazVersionID,SQLDate(Date)]));
|
||||||
end;
|
end;
|
||||||
|
|
||||||
Function AddRun(OSID, CPUID, VERSIONID, CATEGORYID : Integer; Date : TDateTime) : Integer;
|
Function AddRun(OSID, CPUID, FPCVERSIONID, LazVersionID : Integer; Date : TDateTime) : Integer;
|
||||||
|
|
||||||
Const
|
Const
|
||||||
SInsertRun = 'INSERT INTO TESTRUN '+
|
SInsertRun = 'INSERT INTO TESTRUN '+
|
||||||
'(TU_OS_FK,TU_CPU_FK,TU_VERSION_FK,TU_CATEGORY_FK,TU_DATE)'+
|
'(TU_OS_FK,TU_CPU_FK,TU_FPC_VERSION_FK,TU_LAZ_VERSION_FK,TU_DATE)'+
|
||||||
' VALUES '+
|
' VALUES '+
|
||||||
'(%d,%d,%d,%d,"%s")';
|
'(%d,%d,%d,%d,"%s")';
|
||||||
|
|
||||||
@ -244,7 +255,7 @@ Var
|
|||||||
Res : TQueryResult;
|
Res : TQueryResult;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
If RunQuery(Format(SInsertRun,[OSID,CPUID,VERSIONID,CATEGORYID,SQLDate(Date)]),Res) then
|
If RunQuery(Format(SInsertRun,[OSID,CPUID,FPCVERSIONID,LazVersionID,SQLDate(Date)]),Res) then
|
||||||
Result:=mysql_insert_id(@connection)
|
Result:=mysql_insert_id(@connection)
|
||||||
else
|
else
|
||||||
Result:=-1;
|
Result:=-1;
|
||||||
|
@ -4,14 +4,13 @@
|
|||||||
<PathDelim Value="\"/>
|
<PathDelim Value="\"/>
|
||||||
<Version Value="6"/>
|
<Version Value="6"/>
|
||||||
<General>
|
<General>
|
||||||
|
<SessionStorage Value="InProjectDir"/>
|
||||||
<MainUnit Value="0"/>
|
<MainUnit Value="0"/>
|
||||||
|
<IconPath Value="./"/>
|
||||||
<TargetFileExt Value=".exe"/>
|
<TargetFileExt Value=".exe"/>
|
||||||
<ActiveEditorIndexAtStart Value="2"/>
|
|
||||||
</General>
|
</General>
|
||||||
<VersionInfo>
|
<VersionInfo>
|
||||||
<ProjectVersion Value=""/>
|
<ProjectVersion Value=""/>
|
||||||
<Language Value=""/>
|
|
||||||
<CharSet Value=""/>
|
|
||||||
</VersionInfo>
|
</VersionInfo>
|
||||||
<PublishOptions>
|
<PublishOptions>
|
||||||
<Version Value="2"/>
|
<Version Value="2"/>
|
||||||
@ -25,46 +24,13 @@
|
|||||||
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
<LaunchingApplication PathPlusParams="/usr/X11R6/bin/xterm -T 'Lazarus Run Output' -e $(LazarusDir)/tools/runwait.sh $(TargetCmdLine)"/>
|
||||||
</local>
|
</local>
|
||||||
</RunParams>
|
</RunParams>
|
||||||
<Units Count="3">
|
<Units Count="1">
|
||||||
<Unit0>
|
<Unit0>
|
||||||
<Filename Value="importtestresults.pp"/>
|
<Filename Value="importtestresults.pp"/>
|
||||||
<IsPartOfProject Value="True"/>
|
<IsPartOfProject Value="True"/>
|
||||||
<UnitName Value="importtestresuls"/>
|
<UnitName Value="importtestresults"/>
|
||||||
<CursorPos X="25" Y="20"/>
|
|
||||||
<TopLine Value="7"/>
|
|
||||||
<EditorIndex Value="0"/>
|
|
||||||
<UsageCount Value="20"/>
|
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit0>
|
</Unit0>
|
||||||
<Unit1>
|
|
||||||
<Filename Value="teststr.pp"/>
|
|
||||||
<UnitName Value="teststr"/>
|
|
||||||
<CursorPos X="45" Y="37"/>
|
|
||||||
<TopLine Value="8"/>
|
|
||||||
<EditorIndex Value="1"/>
|
|
||||||
<UsageCount Value="10"/>
|
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit1>
|
|
||||||
<Unit2>
|
|
||||||
<Filename Value="testu.pp"/>
|
|
||||||
<UnitName Value="testu"/>
|
|
||||||
<CursorPos X="1" Y="37"/>
|
|
||||||
<TopLine Value="37"/>
|
|
||||||
<EditorIndex Value="2"/>
|
|
||||||
<UsageCount Value="10"/>
|
|
||||||
<Loaded Value="True"/>
|
|
||||||
</Unit2>
|
|
||||||
</Units>
|
</Units>
|
||||||
<JumpHistory Count="2" HistoryIndex="1">
|
|
||||||
<Position1>
|
|
||||||
<Filename Value="teststr.pp"/>
|
|
||||||
<Caret Line="1" Column="1" TopLine="1"/>
|
|
||||||
</Position1>
|
|
||||||
<Position2>
|
|
||||||
<Filename Value="testu.pp"/>
|
|
||||||
<Caret Line="1" Column="1" TopLine="1"/>
|
|
||||||
</Position2>
|
|
||||||
</JumpHistory>
|
|
||||||
</ProjectOptions>
|
</ProjectOptions>
|
||||||
<CompilerOptions>
|
<CompilerOptions>
|
||||||
<Version Value="5"/>
|
<Version Value="5"/>
|
||||||
@ -73,65 +39,9 @@
|
|||||||
<Generate Value="Faster"/>
|
<Generate Value="Faster"/>
|
||||||
</CodeGeneration>
|
</CodeGeneration>
|
||||||
<Other>
|
<Other>
|
||||||
|
<CustomOptions Value="
|
||||||
|
"/>
|
||||||
<CompilerPath Value="$(CompPath)"/>
|
<CompilerPath Value="$(CompPath)"/>
|
||||||
</Other>
|
</Other>
|
||||||
</CompilerOptions>
|
</CompilerOptions>
|
||||||
<Debugging>
|
|
||||||
<BreakPoints Count="11">
|
|
||||||
<Item1>
|
|
||||||
<Source Value="..\..\ide\compileroptions.pp"/>
|
|
||||||
<InitialEnabled Value="False"/>
|
|
||||||
<Line Value="1695"/>
|
|
||||||
</Item1>
|
|
||||||
<Item2>
|
|
||||||
<Source Value="..\..\ide\ideprocs.pp"/>
|
|
||||||
<Line Value="1396"/>
|
|
||||||
</Item2>
|
|
||||||
<Item3>
|
|
||||||
<Source Value="..\..\ide\compileroptionsdlg.pp"/>
|
|
||||||
<Line Value="1656"/>
|
|
||||||
</Item3>
|
|
||||||
<Item4>
|
|
||||||
<Source Value="..\..\lcl\include\fileutil.inc"/>
|
|
||||||
<InitialEnabled Value="False"/>
|
|
||||||
<Line Value="210"/>
|
|
||||||
</Item4>
|
|
||||||
<Item5>
|
|
||||||
<Source Value="..\..\ide\condef.pas"/>
|
|
||||||
<Line Value="148"/>
|
|
||||||
</Item5>
|
|
||||||
<Item6>
|
|
||||||
<Source Value="..\..\lcl\include\treeview.inc"/>
|
|
||||||
<Line Value="3949"/>
|
|
||||||
</Item6>
|
|
||||||
<Item7>
|
|
||||||
<Source Value="..\..\components\synedit\synedit.pp"/>
|
|
||||||
<Line Value="6322"/>
|
|
||||||
</Item7>
|
|
||||||
<Item8>
|
|
||||||
<Source Value="..\..\components\synedit\synedit.pp"/>
|
|
||||||
<Line Value="2189"/>
|
|
||||||
</Item8>
|
|
||||||
<Item9>
|
|
||||||
<Source Value="..\..\ide\editoroptions.pp"/>
|
|
||||||
<Line Value="3621"/>
|
|
||||||
</Item9>
|
|
||||||
<Item10>
|
|
||||||
<Source Value="..\..\ide\main.pp"/>
|
|
||||||
<Line Value="3257"/>
|
|
||||||
</Item10>
|
|
||||||
<Item11>
|
|
||||||
<Source Value="..\..\ide\main.pp"/>
|
|
||||||
<Line Value="3256"/>
|
|
||||||
</Item11>
|
|
||||||
</BreakPoints>
|
|
||||||
<Watches Count="2">
|
|
||||||
<Item1>
|
|
||||||
<Expression Value="MainUnitInfo.FSource.FSource"/>
|
|
||||||
</Item1>
|
|
||||||
<Item2>
|
|
||||||
<Expression Value="FOnCompare"/>
|
|
||||||
</Item2>
|
|
||||||
</Watches>
|
|
||||||
</Debugging>
|
|
||||||
</CONFIG>
|
</CONFIG>
|
||||||
|
@ -20,7 +20,8 @@
|
|||||||
program importtestresults;
|
program importtestresults;
|
||||||
|
|
||||||
uses
|
uses
|
||||||
sysutils,teststr,testu,tresults,dbtests;
|
sysutils,teststr,testu,tresults,dbtests,
|
||||||
|
dom, XMLRead;
|
||||||
|
|
||||||
|
|
||||||
Var
|
Var
|
||||||
@ -68,8 +69,8 @@ TConfigOpt = (
|
|||||||
coLogFile,
|
coLogFile,
|
||||||
coOS,
|
coOS,
|
||||||
coCPU,
|
coCPU,
|
||||||
coCategory,
|
coWidgetset,
|
||||||
coVersion,
|
coFPCVersion,
|
||||||
coDate,
|
coDate,
|
||||||
coSubmitter,
|
coSubmitter,
|
||||||
coMachine,
|
coMachine,
|
||||||
@ -90,8 +91,7 @@ ConfigStrings : Array [TConfigOpt] of string = (
|
|||||||
'os',
|
'os',
|
||||||
'cpu',
|
'cpu',
|
||||||
'widgetset',
|
'widgetset',
|
||||||
'category',
|
'fpcversion',
|
||||||
'version',
|
|
||||||
'date',
|
'date',
|
||||||
'submitter',
|
'submitter',
|
||||||
'machine',
|
'machine',
|
||||||
@ -102,13 +102,13 @@ ConfigStrings : Array [TConfigOpt] of string = (
|
|||||||
);
|
);
|
||||||
|
|
||||||
ConfigOpts : Array[TConfigOpt] of char
|
ConfigOpts : Array[TConfigOpt] of char
|
||||||
= ('d','h','u','p','l','o','c','w','a','v','t','s','m','C','S','r','V');
|
= ('d','h','u','p','l','o','c','w', 'v','t','s','m','C','S','r','V');
|
||||||
|
|
||||||
Var
|
Var
|
||||||
TestOS,
|
TestOS,
|
||||||
TestCPU,
|
TestCPU,
|
||||||
TestVersion,
|
TestFPCVersion,
|
||||||
TestCategory,
|
TestLazVersion,
|
||||||
DatabaseName,
|
DatabaseName,
|
||||||
HostName,
|
HostName,
|
||||||
UserName,
|
UserName,
|
||||||
@ -131,8 +131,7 @@ begin
|
|||||||
coLogFile : ResultsFileName:=Value;
|
coLogFile : ResultsFileName:=Value;
|
||||||
coOS : TestOS:=Value;
|
coOS : TestOS:=Value;
|
||||||
coCPU : TestCPU:=Value;
|
coCPU : TestCPU:=Value;
|
||||||
coCategory : TestCategory:=Value;
|
coFPCVersion : TestFPCVersion:=Value;
|
||||||
coVersion : TestVersion:=Value;
|
|
||||||
coDate :
|
coDate :
|
||||||
begin
|
begin
|
||||||
{ Formated like YYYYMMDDhhmm }
|
{ Formated like YYYYMMDDhhmm }
|
||||||
@ -273,36 +272,58 @@ begin
|
|||||||
end;
|
end;
|
||||||
|
|
||||||
Var
|
Var
|
||||||
|
Doc: TXMLDocument;
|
||||||
TestCPUID : Integer;
|
TestCPUID : Integer;
|
||||||
TestOSID : Integer;
|
TestOSID : Integer;
|
||||||
TestVersionID : Integer;
|
TestFPCVersionID : Integer;
|
||||||
TestCategoryID : Integer;
|
TestLazVersionID : Integer;
|
||||||
TestRunID : Integer;
|
TestRunID : Integer;
|
||||||
|
|
||||||
Procedure GetIDs;
|
Procedure GetIDs;
|
||||||
|
var
|
||||||
|
EnvNode: TDOMElement;
|
||||||
|
|
||||||
|
function GetEnvValue(const Name: string): string;
|
||||||
|
var
|
||||||
|
Node: TDomNode;
|
||||||
|
begin
|
||||||
|
Node := EnvNode.FindNode(Name);
|
||||||
|
if not assigned(Node) then
|
||||||
|
Verbose(V_Error,'No environment element for '+Name);
|
||||||
|
Result := Node.TextContent;
|
||||||
|
Verbose(V_Debug,format('Environment: retrieved %s=%s', [Name, Result]));
|
||||||
|
end;
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
EnvNode := Doc.FirstChild.FindNode('Environment') as TDomElement;
|
||||||
|
if not Assigned(EnvNode) then
|
||||||
|
Verbose(V_Error,'No environment element');
|
||||||
|
TestCPU := GetEnvValue('CPU');
|
||||||
TestCPUID := GetCPUId(TestCPU);
|
TestCPUID := GetCPUId(TestCPU);
|
||||||
If TestCPUID=-1 then
|
If TestCPUID=-1 then
|
||||||
Verbose(V_Error,'NO ID for CPU "'+TestCPU+'" found.');
|
Verbose(V_Error,'NO ID for CPU "'+TestCPU+'" found.');
|
||||||
|
|
||||||
|
TestOS := GetEnvValue('OS');
|
||||||
TestOSID := GetOSID(TestOS);
|
TestOSID := GetOSID(TestOS);
|
||||||
If TestOSID=-1 then
|
If TestOSID=-1 then
|
||||||
Verbose(V_Error,'NO ID for OS "'+TestOS+'" found.');
|
Verbose(V_Error,'NO ID for OS "'+TestOS+'" found.');
|
||||||
TestCategoryID := GetCategoryID(TestCategory);
|
|
||||||
If TestCategoryID=-1 then
|
TestFPCVersion := GetEnvValue('FPCVersion');
|
||||||
begin
|
TestFPCVersionID := GetFPCVersionID(TestFPCVersion);
|
||||||
// Verbose(V_Error,'NO ID for Category "'+TestCategory+'" found.');
|
If TestFPCVersionID=-1 then
|
||||||
TestCategoryID:=1;
|
Verbose(V_Error,'NO ID for fpc version "'+TestFPCVersion+'" found.');
|
||||||
end;
|
|
||||||
TestVersionID := GetVersionID(TestVersion);
|
TestLazVersion := GetEnvValue('LazVersion');
|
||||||
If TestVersionID=-1 then
|
TestLazVersionID := GetLazVersionID(TestLazVersion);
|
||||||
Verbose(V_Error,'NO ID for version "'+TestVersion+'" found.');
|
If TestLazVersionID=-1 then
|
||||||
|
Verbose(V_Error,'NO ID for fpc version "'+TestLazVersion+'" found.');
|
||||||
|
|
||||||
If (Round(TestDate)=0) then
|
If (Round(TestDate)=0) then
|
||||||
Testdate:=Now;
|
Testdate:=Now;
|
||||||
TestRunID:=GetRunID(TestOSID,TestCPUID,TestVersionID,TestDate);
|
TestRunID:=GetRunID(TestOSID,TestCPUID,TestFPCVersionID,TestLazVersionID, TestDate);
|
||||||
If (TestRunID=-1) then
|
If (TestRunID=-1) then
|
||||||
begin
|
begin
|
||||||
TestRunID:=AddRun(TestOSID,TestCPUID,TestVersionID,TestCategoryID,TestDate);
|
TestRunID:=AddRun(TestOSID,TestCPUID,TestFPCVersionID,TestLazVersionID,TestDate);
|
||||||
If TestRUnID=-1 then
|
If TestRUnID=-1 then
|
||||||
Verbose(V_Error,'Could not insert new testrun record!');
|
Verbose(V_Error,'Could not insert new testrun record!');
|
||||||
end
|
end
|
||||||
@ -376,8 +397,17 @@ begin
|
|||||||
close(logfile);
|
close(logfile);
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure ProcessResultsFile;
|
procedure ProcessResultsFile(FN: String);
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
Verbose(V_Debug,'Start ProcessResultsFile');
|
||||||
|
if not FileExists(FN) then
|
||||||
|
Verbose(V_Error,'Results file "'+ResultsFileName+'" does not exist.');
|
||||||
|
|
||||||
|
ReadXMLFile(Doc, FN);
|
||||||
|
GetIDs;
|
||||||
|
Doc.Free;
|
||||||
|
Verbose(V_Debug,'End ProcessResultsFile');
|
||||||
end;
|
end;
|
||||||
|
|
||||||
procedure UpdateTestRun;
|
procedure UpdateTestRun;
|
||||||
@ -389,21 +419,22 @@ procedure UpdateTestRun;
|
|||||||
|
|
||||||
begin
|
begin
|
||||||
qry:='UPDATE TESTRUN SET ';
|
qry:='UPDATE TESTRUN SET ';
|
||||||
for i:=low(TTestStatus) to high(TTestStatus) do
|
//for i:=low(TTestStatus) to high(TTestStatus) do
|
||||||
qry:=qry+format('%s=%d, ',[SQLField[i],StatusCount[i]]);
|
//qry:=qry+format('%s=%d, ',[SQLField[i],StatusCount[i]]);
|
||||||
qry:=qry+format('TU_SUBMITTER="%s", TU_MACHINE="%s", TU_COMMENT="%s", TU_DATE="%s"',[Submitter,Machine,Comment,SqlDate(TestDate)]);
|
qry:=qry+format('TU_SUBMITTER="%s", TU_MACHINE="%s", TU_COMMENT="%s", TU_DATE="%s"',
|
||||||
|
[Submitter,Machine,Comment,SqlDate(TestDate)]);
|
||||||
qry:=qry+' WHERE TU_ID='+format('%d',[TestRunID]);
|
qry:=qry+' WHERE TU_ID='+format('%d',[TestRunID]);
|
||||||
RunQuery(Qry,res)
|
RunQuery(Qry,res)
|
||||||
end;
|
end;
|
||||||
|
|
||||||
|
|
||||||
begin
|
begin
|
||||||
|
DoVerbose := true;
|
||||||
ProcessConfigFile('dbdigest.cfg');
|
ProcessConfigFile('dbdigest.cfg');
|
||||||
ProcessCommandLine;
|
ProcessCommandLine;
|
||||||
If ResultsFileName<>'' then
|
If ResultsFileName<>'' then
|
||||||
begin
|
begin
|
||||||
ConnectToDatabase(DatabaseName,HostName,UserName,Password);
|
ConnectToDatabase(DatabaseName,HostName,UserName,Password);
|
||||||
GetIDs;
|
|
||||||
ProcessResultsFile(ResultsFileName);
|
ProcessResultsFile(ResultsFileName);
|
||||||
UpdateTestRun;
|
UpdateTestRun;
|
||||||
end
|
end
|
||||||
|
Loading…
Reference in New Issue
Block a user