LS19 - TestRunner Tool zum Testen von Mods

Heizer
GIANTS Software | Gameplay Programmer
Posts: 1234
Joined: Thu Jul 02, 2009 5:00 pm

LS19 - TestRunner Tool zum Testen von Mods

Post by Heizer » Tue Nov 24, 2020 3:00 pm

Tool zum Testen von Farming Simulator 19 Mods
Nach einer langen Entwicklungs- und Alphaphase freuen wir uns, dass wir euch endlich unsere erste Version unseres Mod-Testing Tools zur Verfügung stellen können.

TestRunner_public.exe
  • überprüft Mods und zeigt verschiedene Fehler und Verletzungen der ModHub-Richtlinien auf
  • liefert das Testergebnis als html- und XML-Dokument
  • Tests sind in mehrere Module/Gruppen aufgeteilt
  • das Werkzeug wird auch intern von unserer QA verwendet

Ziele
  • das Testen von Mods zu beschleunigen, indem dem Modder geholfen wird, Probleme zu erkennen und zu beheben (bevor er seinen Mod ins ModHub einsendet)
  • verschiedene Fehler erkennen und Hinweise zu deren Behebung geben
  • sicherstellen, dass die ModHub-Richtlinien eingehalten werden
  • Verbesserung der Performance und des Speicherverbrauchs im Spiel, sowie die Minimierung der Gesamtgröße des Mods

Hauptfunktionen / Was macht das Tool (ausgewählte Beispiele)
  • prüfen, ob die descVersion dem aktuellen Patch-Level entspricht
  • Prüfung auf XML-Parsing-Fehler
  • warnen vor falsch exportierten dds-Texturen
  • warnen vor fehlenden oder ungenutzten Dateien
  • zeigt doppelte Dateien (innerhalb des Mods und im Basisspiel)
  • liefern Informationen über Shader-Probleme, die für eine Konsolenversion behoben werden müssen
  • und vieles mehr, für detaillierte Erklärungen siehe Abschnitt "Testfälle".
  • alle gefundenen Probleme werden in Form eines HTML-Dokuments und einer XML-Datei zur Verfügung gestellt
    Beispiel Ergebnis HTML

Voraussetzungen für die Verwendung des Tools
  • Farming Simulator 19 (min. version 1.7)
  • GIANTS Editor (min. Version 8.2.2)
    => der Pfad zur Spielinstallation muss im Editor korrekt eingestellt sein
  • neuste Version des TestRunners (0.6.2)

Warnung: Beta-Status
  • das Werkzeug befindet sich noch im Beta-Status, einige Tests könnten Fehler zeigen, die keine sind (so genannte "falsch positive")
    insbesondere "unused files", die vom Modul "ObsoleteFiles" gemeldet werden
  • Bitte meldet alle Fälle, in denen das Tool Fehler ausgibt, die falsch positiv sind
    Bei Fehlerberichten bitte das Testrunner-Protokoll, die Ergebnisdateien (XML und html) und wenn möglich den Mod selbst (oder dessen ID im ModHub) beilegen, damit wir das Problem reproduzieren können
    Verwendet idealerweise das "TestRunner"-Projekt im public Bugtracker um Bugs zu melden

HowTo / Gebrauchsanweisung
  1. das Verzeichnis eines entpackten Mods auf TestRunner_public.exe ziehen (Drag and Drop)
    • Anmerkung: der Ordner des Mods muss sich nicht im selben Verzeichnis wie der TestRunner befinden
    • ein Befehlszeilenfenster öffnet sich, das den aktuellen Fortschritt anzeigt
    • wenn etwas schief gelaufen ist, wird eine Fehlermeldung mit Einzelheiten zu dem Problem angezeigt
      alle Ausgaben werden auch im "TestRunner.log" gespeichert
  2. Wenn die Anforderungen erfüllt sind (Spielinstallation, Editor, etc.), beginnt das Tool mit der Analyse des Mods
    • die Befehlszeile zeigt einige Informationen über den aktuellen Fortschritt
      wenn es keine "critical" Nachricht gibt, können die Informationen ignoriert werden
    • Der GIANTS-Editor wird während des Prozesses automatisch geöffnet und geschlossen
    • Anmerkung: je nach Größe des Mods und der Geschwindigkeit der Festplatte kann der Vorgang mehrere Minuten dauern
  3. Wenn der Testprozess beendet ist, wird die Meldung "Finished execution" in der Befehlszeile angezeigt.
    • eine XML- und html-Datei wird im gleichen Verzeichnis wie der TestRunner erzeugt
    • Dateien sind nach dem Verzeichnisnamen des getesteten Mods benannt und enthalten das Ergebnis des Tests
      • html-Datei enthält ausschließlich gefundene Fehler (pro Modul)
      • die XML-Datei enthält alle Fehler und weitere detailliertere (Meta-)Informationen
  4. die generierte html-Datei wird automatisch im Browser geöffnet, wo man überprüfen kann, ob Fehler im Mod gefunden wurden
    • Fehler sind rot umrandet
    • Erläuterungen sind in Kursivschrift dargestellt
    • Anweisungen, wie Fehler korrigiert werden können, sind grün gefärbt


Testfälle und Erläuterungen

Im Folgenden werden die einzelnen Module und deren Testfälle im Detail erläutert
Work in Progress
  • Wohlgeformtheit der XML-Dateien (wird vom Spiel nur bis zu einem gewissen Grad verlangt, sollte aber dennoch erfüllt werden)
  • Modul DXTCheck: Stellt sicher, dass dds-Dateien korrekte DXT-Formate verwenden, und schlägt nach Möglichkeit eine Konvertierung nach DXT1 vor.
  • Modul MipMapCheck: Stellt sicher, dass Texturen für 3D-Objekte MipMaps haben; warnt, wenn UI-Overlay-Texturen MipMaps haben; warnt, wenn die Textur eine zu geringe Auflösung hat
  • Modul TextureCheck: stellt sicher, dass Texturen eine Auflösung von 2^n haben
  • Modul I3DCheck: Überprüfung der Referenzintegrität, veraltete Lichter/Kameras, TexturArray-Verwendung
  • Modul ModDescCheck: Überprüft eine Reihe von ModHub-Richtlinien (descVersion, Versionsnummernformat, Changelog, Lokalisierung, ...)
  • Modul VehicleCheck: stellt sicher, dass bestimmte Fahrzeug-Xml-Elemente vorhanden (z.B. "washable") oder nicht vorhanden sind (z.B. "daily upkeep" in Fahrzeugen)
  • Modul SlotCheck: Berechnet die geschätzte Anzahl der benutzten Slots für jedes Shopitem als Referenz für den Modder
  • Modul ObsoleteFiles: Liste veralteter Quelldateien, die nicht vom Spiel geladen werden, Liste möglicherweise unbenutzter Texturen, Liste doppelter Dateien
  • Modul EditorCheck: läd alle im Mod enthaltenen i3d-Dateien und überprüft diese auf Fehler
  • Modul ShaderCheckEditor: warnt, wenn benutzerdefinierte Shader im Mod vorhanden sind, welche Konsolen-Kompatibilität verhindern; löst Fehler aus, wenn Materialkonfigurationen verwendet werden, die im Shader-Cache nicht verfügbar sind

Fehlerbehebung
  • Problem: Spielinstallation kann nicht gefunden werden
    • Grund: Das Tool überprüft den Standard-Installationspfad und liest den Pfad aus der Registry, stellt sicher, dass das Spiel nach der Installation nicht verschoben wurde
    • Lösung: Cmd (siehe Anweisungen unten) mit dem Argument -g <pfadZurSpielinstallation> ausführen, um den Pfad manuell festzulegen
      Image
  • Problem: Editor-Installation kann nicht gefunden werden
    • Tool sucht nach installierten Giants-Editoren in giantsPackageRegistry XML, die sich in appdata/local befindet
    • Lösung: Ausführen in Kommandozeile (siehe Anweisungen unten) mit dem Argument -p $FS19_EDITOR$ <pathToEditorExe>
  • Problem: Programm schließt sich von selbst/stürzt ab
    • TestRunner.log hier oder im Bugtracker posten, wenn möglich den getesteten Mod in einer privaten Nachricht an mich senden
    • wenn möglich, das Tool in der Kommandozeile ausführen und --verbose als Argument hinzufügen und die TestRunner.log schicken
      Auf diese Weise werden mehr Informationen in die Log-Datei aufgenommen und helfen uns beim Debugging-Prozess


Anweisungen zur Verwendung mit der Befehlszeile (cmd)

Um zusätzliche Einstellungen vorzunehmen (z.B. die Installation des Spiels kann nicht gefunden werden), kann das Tool von einer Kommandozeile aus gestartet werden
  1. HowTo: ein Befehlszeilen- oder Power-Shell-Fenster starten
    • Option A: Klicke auf die Adressleiste des Windows-Explorer-Fensters, gib "cmd" ein, drücke die Eingabetaste
      Dies öffnet eine Kommandozeile im aktuellen Verzeichnis des Explorers (idealerweise im Verzeichnis der TestRunner_public.exe)
    • Option B: Halte die Umschalttaste gedrückt und klicke mit der rechten Maustaste auf den Hintergrund des Explorer-Fensters, wähle "Kommandozeilenfenster hier öffnen" oder "PowerShell-Fenster hier öffnen".
      Dadurch wird eine Befehlszeile/Powershell im aktuellen Verzeichnis des Explorers geöffnet
    • Option C: Drücke "Win" + "R", gib "cmd" in den Dialog ein, drücke die Eingabetaste
      Dadurch wird eine Befehlszeile im Benutzerprofil geöffnet
      => Navigiere zum Speicherort der Datei TestRunner_public.exe
  2. Gebe "TestRunner_public.exe" ein ("./TestRunner_public.exe" bei PowerShell)
  3. Drücke die Leertaste und gib den Pfad zum entpackten Mod ein, z.B. "E:\mods\FS19_kirovetsK700A"
  4. Optional: zusätzliche Argumente hinzufügen, falls erforderlich/gewünscht
    Image
  5. Drücke die Eingabetaste, um den TestRunner zu starten

Wenn ihr Fehler findet am besten im public Bugtracker melden, da diese dort am Besten verwaltet werden können.
Wir freuen uns über euer Feedback und hoffen, dass euch das Tool dabei unterstützt Mods zu entwickeln und im ModHub zu veröffentlichen.
Gruß Heizer

User avatar
SechzgerHiase
Posts: 438
Joined: Mon Aug 02, 2010 5:43 pm
Location: Bayern, Erding
Contact:

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by SechzgerHiase » Wed Nov 25, 2020 11:12 pm

Ah hier ist Deutsch :lol:

Sehr nützliches Tool, da macht's sogar Spaß zu optimieren :gamer:

User avatar
CaveModding
Posts: 8
Joined: Mon Nov 30, 2020 2:01 pm
Location: DE Hamburg
Contact:

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by CaveModding » Mon Nov 30, 2020 2:20 pm

Sehr schön, damit kann man dem Support-Team viel Arbeit abnehmen und die eigene Arbeit optimieren !

Danke dafür !

User avatar
TopAce888
Posts: 11016
Joined: Tue May 15, 2018 6:29 pm

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by TopAce888 » Tue Dec 08, 2020 2:00 pm

Wäre es für eine zukünftige Version möglich, dass ich einzelne Module zum Testen auswählen kann?

User avatar
m4pj3cts
Posts: 792
Joined: Sun Jul 05, 2020 12:39 pm
Contact:

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by m4pj3cts » Thu Dec 17, 2020 6:30 pm

Eben erst gesehen und gleich mal geladen.
Ich komme damit nicht auf Anhieb klar. Sobald ich eine beliebige Taste drücke, geht das Tool zu :hmm:

EDIT: Ich bekomme jetzt schon 'nen Test hin, erhalte aber eine Fehlermeldung, wegen der ich mich jetzt nicht extra im Bugtracker anmelden möchte.

Warum werden doppelte Backslashes erstellt?

Code: Select all

18:43:16 ERROR root - [WinError -2147221003] Anwendung nicht gefunden: 'D:\\TestRunner_betaVersion_0_6_2\\testResult_FS19_Ramp_FAIL.html'
Traceback (most recent call last):
  File "TestRunner.py", line 273, in main
  File "TestRunner.py", line 134, in perform_test
  File "TestRunner.py", line 211, in _save_results_to_html_file
OSError: [WinError -2147221003] Anwendung nicht gefunden: 'D:\\TestRunner_betaVersion_0_6_2\\testResult_FS19_Ramp_FAIL.html'
Drücken Sie eine beliebige Taste . . .

User avatar
TopAce888
Posts: 11016
Joined: Tue May 15, 2018 6:29 pm

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by TopAce888 » Thu Dec 17, 2020 11:39 pm

Dazu habe ich ein paar Fragen:
-Wie startest du den Testlauf mit dem TestRunner?
-In welchem Pfad ist der GE installiert?
-In welchem Pfad ist der LS19 installiert?
-Verwendest du auch die V8.2.2 vom GE?
-Hast du noch ältere Versionen vom 8er GE installiert?

User avatar
m4pj3cts
Posts: 792
Joined: Sun Jul 05, 2020 12:39 pm
Contact:

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by m4pj3cts » Fri Dec 18, 2020 6:31 am

TopAce888 wrote:
Thu Dec 17, 2020 11:39 pm
-Wie startest du den Testlauf mit dem TestRunner?
Ich ziehe den reinen Ordner auf die Test-Anwendung, dann startet das Tool und führt Tests durch.

TopAce888 wrote:
Thu Dec 17, 2020 11:39 pm
-In welchem Pfad ist der GE installiert?
D:\3D-Work\LS 2019 - Giants Editor 8.2.2\x64\editor.exe

TopAce888 wrote:
Thu Dec 17, 2020 11:39 pm
-In welchem Pfad ist der LS19 installiert?
C:\Program Files (x86)\Farming Simulator 2019\FarmingSimulator2019.exe

TopAce888 wrote:
Thu Dec 17, 2020 11:39 pm
-Verwendest du auch die V8.2.2 vom GE?
Ja

TopAce888 wrote:
Thu Dec 17, 2020 11:39 pm
-Hast du noch ältere Versionen vom 8er GE installiert?
Ja


:hi:

User avatar
TopAce888
Posts: 11016
Joined: Tue May 15, 2018 6:29 pm

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by TopAce888 » Fri Dec 18, 2020 11:36 am

So wie ich das verstanden habe, geht der TestRunner vom Standard-Installations-Orten des Editor aus, weichen diese davon ab, so müssen die über die Befehlszeile extra angegeben werden. Da du Editor woanders installiert hast, könnte das eine Ursache für den Fehler sein.

Ich habe da mal was fertig gemacht. Wenn du das in eine Batch-Datei kopierst, dann kannst du hierüber per Drag'n'Drop der Karte den TestRunner starten. Falls es nicht funktioniert, dann erstellt das Tool durch den Zusatz --verbose eine Log-Datei. Die kannst du dann hier posten und dann schauen wir weiter.

Code: Select all

@echo off
"%~dp0\TestRunner_public.exe" "%~1" -p $FS19_EDITOR$ "D:\3D-Work\LS 2019 - Giants Editor 8.2.2\x64\editor.exe" --verbose
Hinweis: Sollte jemand anderes das auch so ausprobieren wollen, dann muss natürlich der Installationsort des Editor angepasst werden. Dieser Eintrag ist auf m4pj3cts Angaben zugeschnitten.

Emanuel83
Posts: 173
Joined: Fri Aug 23, 2019 7:12 am

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by Emanuel83 » Fri Jan 15, 2021 5:40 pm

Servus,

habe mal den Testrunner über meinen Mod laufen lassen, leider ist mir ein "Fail" nicht ganz klar:
Kann mir jemand da eine Info geben wo es hier hackt?

<moduleResults outcome="FAIL" total="10" failed="1" succeeded="9">

Ist der einzige Fail im Mod, neben der Moddesc aber das ist mir ja klar was ich ändern muss
Mit was sind die Modules gemeint? 1 scheint nicht zu passen aber mir ist nicht klar was hier überprüft wird bzw. an was es hängt

Danke!

EDIT: hat sich erledigt, die Module beziehen sich auf die Prüfungen die weiter unten kommen, da die Moddesc Version nicht passte war es eben dieses 1 mit FAIL

Manchmal hilft dann doch etwas selber denken :biggrin2:
Mein System:
WIN10 - Gigabyte B550i - Ryzen 7 3800x - Nvidia RTX 2070 Super - Corsair 32GB 3600Mhz DDR4 - Sabrent Rocket 1TB M.2 Gen4 - NZXT 210i, Kraken X53, 850Watt

User avatar
TopAce888
Posts: 11016
Joined: Tue May 15, 2018 6:29 pm

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by TopAce888 » Fri Jan 15, 2021 5:50 pm

Es gibt insgesamt 10 Module die das Testtool abarbeitet: DXTCheck, MipMapCheck, TextureCheck, I3DCheck, ModDescCheck, VehicleCheck, SlotCheck, ObsoleteFiles, EditorCheck, ShaderCheckEditor. Schlägt ein Test fehl, ist das gesamte Ergebnis negativ. Bei die hat das Tool, wenn ich dich richtig verstanden habe, in der Moddesc einen Fehler entdeckt. Also folglich bei 10 Modulen 1x fehlerhaft und 9x fehlerfrei, aber insgesamt fehlgeschlagen. Ich hoffe, das war verständlich.

User avatar
Der Landbauer
Posts: 8
Joined: Mon Jan 04, 2021 2:44 am
Location: Im Ländle

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by Der Landbauer » Sat Jan 30, 2021 2:18 am

Servus, griaß di Gott und Hallo zusammen :hi:

ich hab' das Problem das ich das Tool einfach nicht zum Laufen bekomme, bei mir.
Hier mal meine log
02:05:44 INFO root -
----------------------------------------
TestRunner - Version 0.6.2 - build date 2020-11-23 10:22
Copyright (c) 2020 GIANTS Software GmbH
- built with PyInstaller
----------------------------------------

02:05:44 INFO TestRunner - Loading predefined testSuite and output path
02:05:44 INFO Config - required TestRunner Config Version: 2
02:05:44 INFO Config - verbose mode enabled
02:05:44 DEBUG ResourceLocations - Unable to parse 'C:/Users/User/AppData/Local/GIANTSPackageRegistry/giantsPackageRegistry_v1.xml': syntax error: line 1, column 0
02:05:44 CRITICAL root - Unable to locate installed Giants Editor with a version 8.2.0 or later
02:05:44 ERROR root - Unable to locate installed Giants Editor with a version 8.2.0 or later
Traceback (most recent call last):
File "TestRunner.py", line 272, in main
File "TestRunner.py", line 87, in __init__
File "utils\PathMappingFileless.py", line 27, in load
TestRunnerException.TestRunnerException: Unable to locate installed Giants Editor with a version 8.2.0 or later
Habe es auch mit der Batch-Datei, wie von TopAce888 hier beschrieben, probiert - leider auch kein Erfolg.
Für weitere Hilfe, Tipps oder Ratschläge wäre ich sehr dankbar, vergelt's Gott.

Der Landbauer
Kommt der Gockel untern Trecker, gibt es morgen keinen Wecker!

User avatar
TopAce888
Posts: 11016
Joined: Tue May 15, 2018 6:29 pm

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by TopAce888 » Sat Jan 30, 2021 10:04 am

Das Tool hat bei dir Probleme den Editor zu finden. Der Pfad dazu steht in der C:/Users/User/AppData/Local/GIANTSPackageRegistry/giantsPackageRegistry_v1.xml und da gibt es auch einen Syntax Error. Was steht denn in der Datei drin?

User avatar
Der Landbauer
Posts: 8
Joined: Mon Jan 04, 2021 2:44 am
Location: Im Ländle

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by Der Landbauer » Sat Jan 30, 2021 6:13 pm

Da steht gar nichts drin, die Datei (xml) ist leer. Ich habe es auch schon, wie hier beschrieben, mit folgendem Eintrag:
-p $FS19_EDITOR$ "C:\Program Files\GIANTS Software\GIANTS_Editor_8.2.0_64-bit\x64\editor.exe" versucht - kein Erfolg.
Ich benutze übrigens die Editor Version 8.2.0, da die neueste Version 8.2.2, bei mir ebenfalls Probleme verursacht.
Kommt der Gockel untern Trecker, gibt es morgen keinen Wecker!

User avatar
TopAce888
Posts: 11016
Joined: Tue May 15, 2018 6:29 pm

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by TopAce888 » Sat Jan 30, 2021 6:16 pm

Dann wird es auch nicht funktionieren:
Heizer wrote:
Tue Nov 24, 2020 3:00 pm
[...]

Voraussetzungen für die Verwendung des Tools
  • Farming Simulator 19 (min. version 1.7)
  • GIANTS Editor (min. Version 8.2.2)
    => der Pfad zur Spielinstallation muss im Editor korrekt eingestellt sein
  • neuste Version des TestRunners (0.6.2)
[...]

User avatar
Der Landbauer
Posts: 8
Joined: Mon Jan 04, 2021 2:44 am
Location: Im Ländle

Re: LS19 - TestRunner Tool zum Testen von Mods

Post by Der Landbauer » Sat Jan 30, 2021 6:34 pm

Ups, glatt überlesen, dann Sorry, der Fehler liegt bei mir!

Edit: Zitat TestRunner "ERROR root - Unable to locate installed Giants Editor with a Version 8.2.0 or later"
Habe nun Version 8.2.2 installiert, in der giantsPackageRegistry_v1 steht nach wie vor nichts drin!
Kommt der Gockel untern Trecker, gibt es morgen keinen Wecker!

Post Reply