Habe da einen schweren Fehler in CodeCoverage:
Delphi-Quellcode:
procedure TCoverageConfiguration.ReadUnitsFile(const AUnitsFileName: string);
var
InputFile: TextFile;
UnitLine: string;
begin
VerboseOutput('Reading units from the following file: ' + AUnitsFileName);
OpenInputFileForReading(AUnitsFileName, InputFile);
try
while not Eof(InputFile) do
begin
ReadLn(InputFile, UnitLine);
// Ensures that we strip out .pas if it was added for some reason
if FStripFileExtension then
UnitLine := PathExtractFileNameNoExt(UnitLine);
AddUnitString(UnitLine);
end;
finally
CloseFile(InputFile);
end;
end;
FStripFileExtension ist True (warum auch immer).
Dann macht er aus
1. "Bla.Fasel.Kachel.Suelz" das
2. "Bla.Fasel.Kachel"
An der Stelle hat der unitname gar kein ".pas".
Andersherum CodeCoverage funktioniert nicht wenn der unitname einen Punkt enthält
Müsste die Extension in der _dcov_units.lst nicht enthalten sein?
Die Doku auf
https://github.com/DelphiCodeCoverag...EADME.markdown sagt nur:
"-uf filename Cover units listed in the file pointed to by filename. One
unit per line in the file"
Es fehlt die Angabe ob mit oder ohne Extension und Pfad.
Der Parameter -ife hilft auch nicht. (Auch ein Fehler dort.)
Habe
dort etwas ergänzt.