Delphi-PRAXiS
Seite 6 von 8   « Erste     456 78      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   Code coverage (https://www.delphipraxis.net/211833-code-coverage.html)

TurboMagic 17. Nov 2022 18:47

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1514934)
Ich sehe dort nur zwei branches: master und wiki :gruebel:

Hm? Einen Wiki Branch hab' ich beim CodeCoverage gar nicht.
Aber: man kann den Entwiclungszweig auch direkt aufrufen:
https://github.com/MHumm/delphi-code...ee/development

Grüße
TurboMagic

TurboMagic 17. Nov 2022 20:17

AW: Code coverage
 
Mit Grüßen vom "Nachtkrapp" (wer's nicht weiß: in mindestens einigen Süddeutschen Gegenden ein
Synonym für Raben, die Kinder abholen die nachts nicht rechtzeitig ins Bett gehen) gibt's einen
neuen Commit.

Dieser enthält folgende Verbesserungen:
  • Der Pfad zur ini-Datei wird vor dem Speichern dieser falls nötig erzeugt
  • Speicherlecks im Code zum Hinzufügen zum Tools Menü der IDE beseitigt
  • Einen neuen Kommandozeilenparameter /UNINSTALL hinzugefügt. Dieser löscht die ini-Datei, deren Verzeichnis und
    sowohl die Registry Schlüssel zur Integration ins IDE Tools Menü und einen wo sich das Programm merkt welche IDE
    Versionen es auf diesem PC schon kennt, damit die Nachfrage ob es ins Tools Menü integriert werden soll nur bei
    noch unbekannten Konfigurationen/Versionen kommt.

Damit sollte ich zumindst ein paar der von Sherlock identifizierten Probleme beseitigt haben.

freimatz 18. Nov 2022 06:17

AW: Code coverage
 
Nutzt nichts wenn man den nicht sieht ... :stupid:

TurboMagic 18. Nov 2022 07:13

AW: Code coverage
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von freimatz (Beitrag 1514945)
Nutzt nichts wenn man den nicht sieht ... :stupid:

1. Habe das eben ml von einem anderen PC aus aufgerufen, auf dem ich nicht in GitHub angemeldet bin.
Siehe Anhang! Kann das also nicht nachvollziehen.

2. Habe gestern auch den Master Branch auf diesen Stand aktualisiert.

Grüße
TurboMagic

freimatz 18. Nov 2022 10:11

AW: Code coverage
 
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir so. Allerdings fehlt das "plus". Ich habe auf den Link in deinem ersten Beitrag geklickt. Ok weiter unten im Text ist noch ein Link. Bei dem habe ich nun development.

freimatz 18. Nov 2022 13:17

AW: Code coverage
 
Habe nun das neueste geladen. (Revision: 9b3242bda87c795790a6b6b7f9cab8ef30ab77a0 / Date: 17.11.2022 21:08:28)

Ese ist nicht dabei? Also dproj geladen und versucht zu compilieren. Folgende Meldung kam:
Code:
[Exec Error] The command "copy /Y "c:\devtools\embarcadero\studio\22.0\Redist\win32\WebView2Loader.dll" ..\Binaries\Win32\Debug\
" exited with code 1.
Eine Datei "WebView2Loader.dll" gibt es nicht dort.
Habe eine andere Datei "WebView2Loader.dll" dorthin kopiert und die exe selbst gestartet.
Das scheint auch zu funktionieren und ich gehe mal wieder an mein erstes Testprojekt. Nach ein bischen "rummachen" habe ich nun ein Projekt (dccp) mit 76 Sourcedateien. Dazu gibts aber nur 20 HTML-Dateien.
Die "Delphi-Code-Coverage-Debug.log". Darin gibt es jede Menge "Module ... skipped" - warum steht da nicht drin. Es sind alles Module=units die ich gerne hätte.

Ich versuche mal ein anderes Testprojekt.
- Script und Report Ordner sollten angelegt werden wenn sie nicht schon existieren
- Es kam kurz eine Fehlermeldung "Failure running the batch file. Failure code: 1" beim Ausführen der Batch. Danach hängt der Wizard mit der "Sanduhr" und muss und kann beendet werden. Ich mache in die Batch mal ein "Pause" dazu. Nun sehe ich "Der Befehl ""..\..\Coverage_x64.exe"" ist entweder falsch geschrieben oder konnte nicht gefunden werden."
Wenn ich den absoluten Pfad zu der CodeCoverage_x64.exe eintrage startet er zumindest mal. Als Ergebnis aber nur 6 HTML-Dateien bei über 100 Sourcedateien. Auch hier wieder fast alle skipped

Zum Wizard hätte ich noch einige Fehlermeldungen und Unschönheiten. Wenn aber nicht mal das eigentliche Coverage funktioniert ist das für mich zweitrangig.

freimatz 18. Nov 2022 14:04

AW: Code coverage
 
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 :cyclops:

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.

himitsu 18. Nov 2022 14:26

AW: Code coverage
 
Zitat:

..
kommt drauf an, was das aktuelle Verzeichnis ist.

Besser verwende man die entsprechende $(Variable) dafür.

freimatz 18. Nov 2022 14:35

AW: Code coverage
 
Es wird da keine Variable dafür geben. Habe inzwischen gesehen, dass man den Eintrag für Coverage_x64.exe selber machen kann. Andererseits sollte der default schon auch immer passen.

himitsu 18. Nov 2022 14:42

AW: Code coverage
 
"immer" ist bei relativen Pfaden immer so eine unsichere Sache. :angle:

Eigene Varialbnen in die Umgebungsvariablen (z.B. Tools>Optionen>Environment)


k.A. was $(DIR) ist (grade erst gesehn),

aber $(PROJECTPATH), $(INPUTPATH) und $(OUTPUTPATH)

geht auch rückwärts $(OUTPUTPATH)\..\..\irgendwo, bzw. eigentlich $(OUTPUTPATH)..\..\irgendwo (weil meistens "XyzPath" mit \ und "XyzDir" ohne)


Alle Zeitangaben in WEZ +1. Es ist jetzt 08:20 Uhr.
Seite 6 von 8   « Erste     456 78      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz