Delphi-PRAXiS
Seite 2 von 2     12   

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 16. Nov 2022 19:19

AW: Code coverage
 
So, letztes Update für heute:
im Development Branch ist jetzt eine Fassung bei der man kontrollieren kann, ob die Logmeldungen in eine Text Datei gehen (so war's bisher immer automatisch) und/oder per OutputDebugString ausgegeben werden.

AUßerdem gibt's dort noch eine Option mit der man den Exit Code der aufgerufenen Anwendung durchreichen kann.

TurboMagic 17. Nov 2022 08:20

AW: Code coverage
 
Hallo,

neues update im Development Branch:
  • Enabeld Status des Weiter Buttons wird jetzt bei Nutzung der linken Navigationsleiste aktualisiert
  • Neue Option um dem aufgerufenen Unit Test Programm beliebige Kommandozeilenparameter übergeben zu können
  • Neue Option um das Arbeitsverzeichnis beim Aufruf des Unit Test Programms auf das Verzeichnis, in dem dieses liegt, zu setzen
  • Vereinfachung des Hinzufügens neuer Optionen durch weitgehendes Umstellens des Ladens dieser auf RTTI/Attribute

Grüße
TurboMagic

TurboMagic 17. Nov 2022 09:38

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1514875)
Nein, bei uns muss man die gleich machen wenn man die Behebung in Test geben will. Dafür wäre die Coverage dann auch gut. :-)
Nice wäre auch etwas das prüft ob alle seit dem letzten master geändreten Zeilen abgedeckt sind. Aber erst muss das überhaupt mal tun.

Vermutlich bist du noch beim Release.
Ich hab' jedenfalls im Commit von eben deinen Save/Save as Wunsch aufgenommen und die Buttontexte auf diesem
Bildschirm etwas verbessert. Passt das so?

Außerdem hab' ich auf dem "Unit test executable" Bildschirm ein paasr Texte zwischenzeitlich auch geändert.
Ist das so jetzt besser verständlich?

Grüße
TurboMagic

freimatz 17. Nov 2022 12:48

AW: Code coverage
 
Hallo,
ab und zu sind lange build-Zeiten auch mal praktisch ;-)
Kann zwischendurch mal hier weiter schauen.
Erstmal ein fettes Dankeschön für Eure Mühe.

Habe die neue Version geholt und nun die git-Variante benutzt. Ich bin nun auf f12eea00fd9e3 vom 16.10.2022 17:07:08
Aber die ist doch wohl veraltet? :shock:

TurboMagic 17. Nov 2022 13:42

AW: Code coverage
 
Ähm ja, die ist veraltet. Die neueste aus dem Entwicklungszweig ist fd57652 und ca. 3 Stunden alt.

Grüße
TurboMagic

TurboMagic 17. Nov 2022 14:25

AW: Code coverage
 
Naja, es gibt schon wieder einen Commit: a7c4b8c
Aber jetzt ist erst Mal Pause.

Was kam diesmal nheues hinzu?
- Kontextmenü in der Liste zuletzt benutzer Projekte zum Löschen nicht mehr vorhandener Projektdateien aus der Liste

Sherlock 17. Nov 2022 14:53

AW: Code coverage
 
Wie funktioniert denn dieses GitHub? Da ist die letzte Änderung vier Tage alt und nicht wenige Stunden (Stand 17.11.22). Wie kommt man an die neuesten Änderungen...gegen Mitgliedsbeitrag :lol:?

Ah! Branches, der Master Branch wird nach außen getragen, der Entwicklungszweig kann aber aktueller sein.


Sherlock

freimatz 17. Nov 2022 15:16

AW: Code coverage
 
Ich sehe dort nur zwei branches: master und wiki :gruebel:

Sherlock 17. Nov 2022 15:27

AW: Code coverage
 
Beobachtungen während und nach der Installation - vielmehr Compilation:
1. Ein Buildereignis möchte gerne eine WebView2.dll aus meiner Delphi Installation in den Erzeugungsordner kopieren. Diese Datei hat mein Delphi nicht.
2. Beim Beenden des Plugins wird ein Memoryleak Dialog angezeigt.
3. Ein Versuch eine ini-Datei zu beschreiben schlägt fehl, vermutlich, weil es den Ordner nicht gibt, in dem die Datei liegen soll:
Zitat:

---------------------------
Delphicodecoveragewizard
---------------------------
In C:\Users\Public\Documents\DelphiCodeCoverageWizard \DelphiCodeCoverageWizard.ini kann nicht geschrieben werden.
---------------------------
OK
---------------------------
4. Ich verwende Testinsight. Wie bringe ich dem Tool das bei? Ich sehe nur ein Fenster mit "Sanduhr" Kreis, das ich beenden muß. Parallel erhalte ich:
Zitat:

[Window Title]
Fehler

[Content]
Failure running the batch file.
Failure code: 1

[OK]
5. Wie deinstalliert man das Ding eigentlich wieder, sauber und vollständig? Nicht, daß ich etwas dagegen hätte, aber...die Information ist zumindest nützlich.

Sherlock

TurboMagic 17. Nov 2022 18:46

AW: Code coverage
 
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,

ich versuche mal deine Fragen zu beantworten:
  1. GitHub: ist eine Variante der Git Versionsverwaltung im Netz
  2. In Git kann man mehrere Branches haben (keine Ahnung wie weit du über Versionsverwaltung bescheid weißt)
  3. Oben links ist ein Dropdown (ComboBox) zur Auswahl des angezeigten Branches, siehe Github.png im Anhang
  4. Ich habe da zwei: master und development, die sollten auch bei euch sichtbar sein, falls nicht melden
  5. Die Entwicklung läuft erstmal im Developmentbranch ab, bis ich denke es wird mal wieder Zeit das in den Master Branch zu mergen
  6. Wenn ich dann finde, dass das nächste Release fertig ist, setze ich einen Tag und erstelle daraus ein Release.
  7. Dieses ist dann wie in GitHub2.png gezeigt auf der rechten Seite unter Releases zu finden.
  8. Alles was gerade da in Entwicklung ist, ist für die V2.0 als nächstes Release geplant.
  9. Hm, bin mir noch nicht ganz sicher warum es bei dir keine WebView2.dll gibt, evtl. bist du auf 10.4.0 oder 10.4.1 und
    die neue WebView Komponente wurde erst in 10.4.2 eingeführt? Muss ich mal recherchieren. Die Fehlermeldung kommt dann in
    der Ausgabe der IDE?
  10. Das mit der Ini-Datei schaue ich mir gleich mal an, evtl. muss da noch der Ordner erzeugt werden. Den Absturz sollte ich auch abfangen.
  11. Mit TestInsight kannst du das bisher nicht verknüpfen. Die Frage ist auch wie oft man Test Coverage ausführen will. Ist ja
    laufzeittechnisch nicht ganz "kostenfrei" (aber jetzt auch nicht gerade die riesenbremse)
  12. Failure running the batch file. Oha. Der Wizard erstellt ja eine Batch-Datei im Skript Ausgabeordner. Kannst du die mal manuell
    von der Kommandozeile aus starten, damit wir dort evtl. weitere Infos angezeigt bekommen?
  13. Deinstallation: noch nicht wirklich umgesetzt aber auch nicht wirklich kompliziert: wenn du's inhs Tools Menü hast eintragen lassen,
    dann dort mittels Tools/Tools konfigurieren rausnehmen, diesen Registry Schlüssel löschen: Computer\HKEY_CURRENT_USER\SOFTWARE\DelphiCodeCove rageWizard
    und dann den ordner löschen, der den Wizard enthält

Danke auch mal fürs Testen! Ich hoffe, dass ich das die nächsten Tage noch etwas runder hin bekomme...

Grüße
TurboMagic

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)

TurboMagic 18. Nov 2022 19:52

AW: Code coverage
 
Hallo,

ja, die Sache hat noch zwei seiten:

1. CodeCovderage.exe: da komme ich heute nicht mehr dazu deine Anmerkungen anzuschauen,
aber diese klingen nach einem Bug der zu untersuchen ist. Und ja, ohne dass dieses Tool
sauber funktioniert bekommen wir keine ganz saubere Lösung hat.

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.

Grüße
TurboMagic

TurboMagic 18. Nov 2022 20:57

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1515003)
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.

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.

Ok, das mit den Pfaden für die Batch und lst Dateien sowie dem Report Ausgabepfad hab' ich jetzt so gelöst, dass diese beim Speichern ggf. erzeugt werden, siehe Development Branch. Zur WebView2Loader.dll: falls die in einer Standard Delphi Installation nicht vorhanden ist, kann man die unter EdgeView2SDK in GetIt nachinstallieren. Falls das also nötig sein sollte, müssen wir das in der Readme erwähnen. Kann man den Fehler beim Kopieren durch ein Voranstellen
von "if exist $(BDS)\Redist..." unterdrücken? Man könnte dann vor dem Versuch den generierten HTML Report anzuzeigen prüfen ob die Datei vorhanden
ist und falls nicht auf das EdgeView2SDK verweisen...

TurboMagic 19. Nov 2022 17:49

AW: Code coverage
 
Ok, zwei Dinge:

1. Ich kann das mit den Unit Namen die einen . enthalten jetzt schon mal nachstellen.
Nächster Schritt wäre das Beseitigen in CodeCoverage.exe. Dann wären wir glaube ich
einen größeren Schritt weiter.

2. Im Wizard hab' ich mehrere kleine Bugfixes vorgenommen:
- Öffnen eines Projektes über das linke menü fügt es gleich der Liste zuletzt benutzer
Projekte hinzu
- Dieser Liste wurde als erster Eintrag auch immer ein "leeres Projekt" hinzugefügt.
Das passiert nicht mehr.
- Die Logik, die beim Ändern des Basis Quellcode Pfades aufgerufen wird, wird nun durch
einen Timer verzögert aufgerufen

Grüße
TurboMagic

TurboMagic 20. Nov 2022 10:50

AW: Code coverage
 
Neuer Commit im Development Branch:

- versuchsweise COdeCoverage Binaries aktualisiert, Punkt im Unitnamen problem scheint aber weiterhin zu bestehen
auch wenn deren Entwickler angeblich was geändert hatten
- Der .DCCP Dateityp kann jetzt für Öffnen und direktes Ausführen aus dem Explorer für den aktuellen Benutzer
registriert werden. Das ist so aber noch nicht, wie es endgültig sein soll. Wird auch in der Uninstall Methode
noch nicht wieder entfernt.

Grüße
TurboMagic

dummzeuch 20. Nov 2022 11:38

AW: Code coverage
 
Ich habe mir gerade mal den Sourcecode des CodeCoverage Tools selbst angeschaut.

So, wie ich das interpretiere, startet es das zu prüfende Executable als Debugger, setzt jede Menge Breakpoints (vermutlich einen für jede Code-Zeile), logt dann jede Breakpoint-Exception (von Windows) und disabled anschließend diesen Breakpoint, denn die Zeile wurde ja dann schon aufgerufen.

Coole Sache. Damit könnte man noch deutlich mehr machen, z.B. einen Trace des Programmablaufs, ohne dass man dazu irgendwas am Code ändern müsste.

Weiß jemand woher der Debugging-Code stammt? Der ist vermutlich nicht nur für dieses Tool geschrieben worden. Die Kommentare geben dazu nicht viel her.

TurboMagic 20. Nov 2022 13:01

AW: Code coverage
 
Frag' doch die Macher des betreffenden GitHub Projektes...
Im schlimmsten Fall ein Issue dazu anlegen, manchmal gibt's da ja die Kategorie "Frage".

freimatz 21. Nov 2022 14:37

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1515008)
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. ;-)

freimatz 21. Nov 2022 15:19

AW: Code coverage
 
So, weitere Meldung: von etlichen Dateien die mich interessieren habe ich nun ordentliche Reports (nicht zu verwechseln mit ordentlicher Testabdeckung :lol:)
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.

Zitat:

Zitat von TurboMagic (Beitrag 1515028)
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. :thumb:

TurboMagic 21. Nov 2022 18:56

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1515131)
Zitat:

Zitat von freimatz (Beitrag 1515008)
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

TurboMagic 21. Nov 2022 18:58

AW: Code coverage
 
Zitat:

Zitat von freimatz (Beitrag 1515134)
So, weitere Meldung: von etlichen Dateien die mich interessieren habe ich nun ordentliche Reports (nicht zu verwechseln mit ordentlicher Testabdeckung :lol:)
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.

Zitat:

Zitat von TurboMagic (Beitrag 1515028)
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. :thumb:

Dieser -ife Parameter sorgt auch dafür, dass mein Testprojekt mit der Unit mit Punkt im Namen durchläuft.
Ich commite gleich meine Änderung die diesen Parameter immer einfügt.

Hätte das negative Konsequenzen?

Das wäre dann auch quasi mein RC für die V2.0, bis auf das mit dem Kopieren der Webview DLL...

Grüße
TurboMagic

Stevie 21. Nov 2022 19:11

AW: Code coverage
 
Zitat:

Zitat von dummzeuch (Beitrag 1515083)
disabled anschließend diesen Breakpoint, denn die Zeile wurde ja dann schon aufgerufen.

Nein, denn es wird ja gezählt, wie oft eine Zeile ausgeführt wurde.

Zitat:

Zitat von dummzeuch (Beitrag 1515083)
Weiß jemand woher der Debugging-Code stammt? Der ist vermutlich nicht nur für dieses Tool geschrieben worden. Die Kommentare geben dazu nicht viel her.

Einfach die readme lesen, da steht es.

freimatz 22. Nov 2022 07:39

AW: Code coverage
 
Zitat:

Zitat von TurboMagic (Beitrag 1515143)
Dieser -ife Parameter sorgt auch dafür, dass mein Testprojekt mit der Unit mit Punkt im Namen durchläuft.
Ich commite gleich meine Änderung die diesen Parameter immer einfügt.

Hätte das negative Konsequenzen?

Das wäre dann auch quasi mein RC für die V2.0, bis auf das mit dem Kopieren der Webview DLL...

Negative Konsequenzen kann ich mir gerade nicht vorstellen. WEnn jmean die Scripts selber macht dann ja. Aber du machst ja die Scripts selber und die Dateiliste zusammen.

RC für eine V? Bist Du altmodisch:-D Heutzutage gibts doch nur noch Early Access und nie mehr eine 1.0 :twisted:

dummzeuch 22. Nov 2022 07:59

AW: Code coverage
 
[QUOTE=TurboMagic;1515142][QUOTE=freimatz;1515131]
Zitat:

Zitat von freimatz (Beitrag 1515008)
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?

Mein Ansatz wäre da:

Code:
if exist "$(BDS)\Redist\win32\WebView2Loader.dll" copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" "$(OUTPUTDIR)"

Der schöne Günther 22. Nov 2022 11:51

AW: Code coverage
 
Vielleicht mag der Kerl hier ja mit testen:

https://en.delphipraxis.net/topic/78...verage-report/

TurboMagic 22. Nov 2022 18:52

AW: Code coverage
 
Zitat:

Zitat von Der schöne Günther (Beitrag 1515186)
Vielleicht mag der Kerl hier ja mit testen:

https://en.delphipraxis.net/topic/78...verage-report/

Naja, genau der Kerl hat mich gestern etwas auf Trab gehalten!
Bis ich dann verstanden habe was er will. Da keines der mir bekannten Tools
das "out of the box" kann, hab' ich ihn an die EN-DP verwiesen... :lol:

TurboMagic 22. Nov 2022 18:58

AW: Code coverage
 
[QUOTE=dummzeuch;1515159][QUOTE=TurboMagic;1515142]
Zitat:

Zitat von freimatz (Beitrag 1515131)
Zitat:

Zitat von freimatz (Beitrag 1515008)
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?

Mein Ansatz wäre da:

Code:
if exist "$(BDS)\Redist\win32\WebView2Loader.dll" copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" "$(OUTPUTDIR)"

Hast du das auch mal ausprobiert?
Bei mir hat das nämlich nix kopiert.
Es wirft zwar keinen Fehler, wenn's die Datei an der Quelle nicht gibt, aber wenn, kopiert es die auch nicht...:(
Ich hab da 1:1 das hier damit ersetzt: copy /Y "$(BDS)\Redist\win32\WebView2Loader.dll" "$(OUTPUTDIR)"

TurboMagic 23. Nov 2022 17:54

AW: Code coverage
 
Hallo,

ein neuer Commit ist im Development Branch.
Was wurde verbessert?

- ein Label, welches einen pfad anzeigt war nicht richtig dimensioniert
- Auf der Seite mit den "Misc. Einstellungen" hab' ich jetzt die Möglichkeit geschaffen mittels
Index festzulegen wo die zusätzlichen parameter in die Batch Datei eingefügt werden sollen.
0 ist gaanz vorne und 20 ganz hinten, egal wieviele normale Parameter schon vorhanden sind,
das wird entsprechend angepasst. Momentan ist der Index auf 20 beschränkt, wenn es noch mehr
werden muss man das halt ändern (reine Eingabebeschränkung).

Grüße
TurboMagic


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr.
Seite 2 von 2     12   

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