Hi, Attached is a patch for testreport.pp (part of fpcUnit) that corrects indentation of XML output listing all available test casses.
Patch needs to be applied from the root FPC 2.1.1 directory. Regards, - Graeme - -- There's no place like 127.0.0.1
Index: fcl/fpcunit/testreport.pp =================================================================== --- fcl/fpcunit/testreport.pp (revision 5023) +++ fcl/fpcunit/testreport.pp (working copy) @@ -64,6 +64,23 @@ implementation +var + uLevel: integer; // indentation counter + + +// Helper function: Return a string of spaces pIntLen long +function trSpace(pIntLen: integer): string; +var + i: integer; + sString: string; +begin + sString := ''; + for i := 1 to pIntLen do + sString := sString + ' '; + Result := sString; +end; + + {TXMLResultsWriter} procedure TXMLResultsWriter.WriteHeader; begin @@ -131,7 +148,7 @@ procedure TPlainResultsWriter.StartTest(ATest: TTest); begin - writeln('Test: ' , ATest.TestSuiteName + '.' + ATest.TestName); + write('Test: ' , ATest.TestSuiteName + '.' + ATest.TestName); end; procedure TPlainResultsWriter.EndTest(ATest: TTest); @@ -144,16 +161,19 @@ var i: integer; begin - Result := '<TestSuite name="' + ASuite.TestName + '">' + System.sLineBreak; + Result := trSpace(uLevel) + '<TestSuite name="' + ASuite.TestName + '">' + System.sLineBreak; + Inc(uLevel, 2); for i := 0 to aSuite.Tests.Count - 1 do if TTest(aSuite.Tests.Items[i]) is TTestSuite then Result := Result + TestSuiteAsXML(TTestSuite(aSuite.Tests.Items[i])) else if TTest(aSuite.Tests.Items[i]) is TTestCase then - Result := Result +'<test>' + TTestcase(aSuite.Tests.Items[i]).TestName + '</test>' + System.sLineBreak; - Result := Result + '</TestSuite>' + System.sLineBreak; + Result := Result + trSpace(uLevel) + '<test>' + TTestcase(aSuite.Tests.Items[i]).TestName + '</test>' + System.sLineBreak; + Dec(uLevel, 2); + Result := Result + trSpace(uLevel) + '</TestSuite>' + System.sLineBreak; end; + function TestSuiteAsLatex(aSuite:TTestSuite): string; var i,j: integer; @@ -315,4 +335,8 @@ Result := Result + System.sLineBreak; end; + +initialization + uLevel := 0; + end.
_______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel