AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Code coverage

Ein Thema von TurboMagic · begonnen am 9. Nov 2022 · letzter Beitrag vom 23. Nov 2022
Antwort Antwort
Seite 1 von 2  1 2      
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#1

AW: Code coverage

  Alt 18. Nov 2022, 06:17
Nutzt nichts wenn man den nicht sieht ...
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.855 Beiträge
 
Delphi 12 Athens
 
#2

AW: Code coverage

  Alt 18. Nov 2022, 07:13
Nutzt nichts wenn man den nicht sieht ...
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
Angehängte Grafiken
Dateityp: png Github.PNG (30,5 KB, 12x aufgerufen)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Code coverage

  Alt 18. Nov 2022, 10:11
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.
Angehängte Grafiken
Dateityp: png Unbenannt.PNG (55,4 KB, 12x aufgerufen)

Geändert von freimatz (18. Nov 2022 um 10:13 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Code coverage

  Alt 18. Nov 2022, 13:17
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.

Geändert von freimatz (18. Nov 2022 um 13:36 Uhr)
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: Code coverage

  Alt 18. Nov 2022, 14:04
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.

Geändert von freimatz (18. Nov 2022 um 14:21 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.202 Beiträge
 
Delphi 12 Athens
 
#6

AW: Code coverage

  Alt 18. Nov 2022, 14:26
Zitat:
..
kommt drauf an, was das aktuelle Verzeichnis ist.

Besser verwende man die entsprechende $(Variable) dafür.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Code coverage

  Alt 18. Nov 2022, 14:35
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.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Code coverage

  Alt 21. Nov 2022, 14:37
Habe da einen schweren Fehler in CodeCoverage:
...
Der Parameter -ife hilft auch nicht. (Auch ein Fehler dort.)
Habe dort etwas ergänzt.
Dort kam die Meldung ich solle mal versuchen den Parameter -ife vor den -uf zu tun. Ich habe den mal so in der Batch ganz an Anfang gestellt. Nun scheint das zumindest besser zu sein. Ich gebe dort Bescheid.
Du TurboMagic hast im Wizard "optional Parameter" eingebaut, damit man zusätzliche Optionen eingeeben kann? Diese kommen jedoch hinten ran.

BTW wegen WebView2Loader.dll, ich will in das Firmen-Delphi nicht weiteres einfach so installieren. Es wäre schön wenn es auch ohne ginge - zumal ich das HTML gar nicht im Wizard ansehen will.
  Mit Zitat antworten Zitat
freimatz

Registriert seit: 20. Mai 2010
1.385 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Code coverage

  Alt 21. Nov 2022, 15:19
So, weitere Meldung: von etlichen Dateien die mich interessieren habe ich nun ordentliche Reports (nicht zu verwechseln mit ordentlicher Testabdeckung )
Du warst ja auch schon fleißig "drüben". Super! Danke für deine Mühe.
Ich würde nun als nächstes mal versuchen beim Schreiben des nächstes unit-tests für die aktuelle Sache mal unter realen Bedingungen das zu benutzen, dass ich auf 100% komme.

2. Das was ich im Wizard tun kann sollte aber auch nicht vernachlässigt werden, da es CodeCoverage leichter benutzbar macht. Über je mehr Kinderkrankheiten ich weiß, desto mehr kann ich beheben versuchen. Ich fange mal gleich mit der Überprüfung und dem Erzeugen der Pfade an.
Ganz sicher. Aber nicht nur "leichter", sondern in meinem Fall war der Wizard überhaupt erst die Möglichkeit eine config zu machen, die für unsere Projekte funktioniert.

Geändert von freimatz (21. Nov 2022 um 15:25 Uhr)
  Mit Zitat antworten Zitat
TurboMagic

Registriert seit: 28. Feb 2016
Ort: Nordost Baden-Württemberg
2.855 Beiträge
 
Delphi 12 Athens
 
#10

AW: Code coverage

  Alt 21. Nov 2022, 18:56
Habe da einen schweren Fehler in CodeCoverage:
...
Der Parameter -ife hilft auch nicht. (Auch ein Fehler dort.)
Habe dort etwas ergänzt.
Dort kam die Meldung ich solle mal versuchen den Parameter -ife vor den -uf zu tun. Ich habe den mal so in der Batch ganz an Anfang gestellt. Nun scheint das zumindest besser zu sein. Ich gebe dort Bescheid.
Du TurboMagic hast im Wizard "optional Parameter" eingebaut, damit man zusätzliche Optionen eingeeben kann? Diese kommen jedoch hinten ran.

BTW wegen WebView2Loader.dll, ich will in das Firmen-Delphi nicht weiteres einfach so installieren. Es wäre schön wenn es auch ohne ginge - zumal ich das HTML gar nicht im Wizard ansehen will.
Ja, die werden derzeit hinten angehängt.
Ich vermute, dass das so ein Fall ist von "egal wie man's macht gibt's immer jemand dem das nicht passt".
Zur WebView2.dll: ich hatte ja gefragt, ob man den Aufruf im Build Ereignis mittels if Exists oder sowas flexibel
machen kann, damit die nur dann kopiert wird, wenn sie existiert. Leider noch keine Hinweise bekommen, wie man das
am besten macht.

Also: wie muss ich den Copy Aufruf "copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" $(OUTPUTDIR)" abändern, damit er
nur dann ausgeführt wird, wenn es die $(BDS)\Redist\win32\WebView2Loader.dll wirklich dort gibt?

Grüße
TurboMagic
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:03 Uhr.
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