mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-12-16 01:10:40 +01:00
fpts2junit: prevent double entries in junit xml (in test log are double entries, one for compiles, one for runs)
This commit is contained in:
parent
4ac5f5e433
commit
5350ac7d65
@ -24,7 +24,7 @@ uses
|
||||
DOM, XMLWrite;
|
||||
|
||||
const
|
||||
MAX_XML_CHARS = 1000;
|
||||
MAX_XML_CHARS = 10000;
|
||||
LOG_SHORT = 'log';
|
||||
LOG_LONG = 'longlog';
|
||||
|
||||
@ -74,6 +74,7 @@ var
|
||||
className: String;
|
||||
caseName: String;
|
||||
i: Integer;
|
||||
lastname: string;
|
||||
begin
|
||||
logShort:=TStringList.Create;
|
||||
logLong:=TStringList.Create;
|
||||
@ -101,7 +102,7 @@ begin
|
||||
error:=0;
|
||||
skipped:=0;
|
||||
success:=0;
|
||||
|
||||
lastname := '';
|
||||
rootNode:=junitXML.CreateElement('testsuite');
|
||||
junitXML.AppendChild(rootNode);
|
||||
|
||||
@ -120,13 +121,17 @@ begin
|
||||
className:=AnsiLeftStr(tmpString,RPos(DirectorySeparator,tmpString)-1);
|
||||
caseName:=ExtractWord(WordCount(tmpString,[DirectorySeparator]),tmpString,[DirectorySeparator]);
|
||||
|
||||
// create testcase node
|
||||
caseNode:=junitXML.CreateElement('testcase');
|
||||
if pos('../', classname) = 1 then
|
||||
Delete(classname, 1, 3);
|
||||
TDOMElement(caseNode).SetAttribute('classname',WideString(className));
|
||||
TDOMElement(caseNode).SetAttribute('name',WideString(caseName));
|
||||
rootNode.AppendChild(caseNode);
|
||||
if LastName <> (classname + '.' + casename) then
|
||||
begin
|
||||
LastName := classname + '.' + casename;
|
||||
// create testcase node
|
||||
caseNode:=junitXML.CreateElement('testcase');
|
||||
if pos('../', classname) = 1 then
|
||||
Delete(classname, 1, 3);
|
||||
TDOMElement(caseNode).SetAttribute('classname',WideString(className));
|
||||
TDOMElement(caseNode).SetAttribute('name',WideString(caseName));
|
||||
rootNode.AppendChild(caseNode);
|
||||
end;
|
||||
|
||||
if AnsiStartsText(PATTERN_FAILED, tmpLine) then
|
||||
begin
|
||||
|
||||
Loading…
Reference in New Issue
Block a user