godotengine / godotengine/godot-cpp

Including a test project

Offen
#413 7 Kommentare 1 Reaktion 0 zugewiesene Personen Auf GitHub ansehen
enhancement
Vorherrschende Sprache
C++
Sterne
2.7k
Forks
809
Ø Merge
1 T. 3 Std.
Gemergte PRs (30 T.)
8

Beschreibung

Currently, with this repo alone, there is no way to test wether or not changes work, create leaks or even compile. The latter is partly because some features are header-only and only get compiled when a project uses them, so when we do PRs we have to test them on our projects.

I'm considering the possibility of adding a folder to the repo, in which we'd put a Godot project with a GDNative library inside, which would run a series of simple tests. I'm not necessarily thinking of a full unit test suite right away. At least having a simple project for the CI to compile and run would be a good start, so new PRs can automatically get better test coverage on multiple platforms.

The goals of this:
- Check if the header-only parts of the project compile
- Check if it runs without crashing
- Check if it doesn't leak memory

My only concern is how much of a deal is it to have these extra files. Perhaps it's not too bad considering the size it would take (about a hundred kilobytes?), compared to build symbols which are measured in hundreds of megabytes.

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Rechercherichtung

Es werden keine Dateien oder vorhandenen Tests genannt. Beginne damit, die aktuelle Build- und CI-Einrichtung des Repositorys zu überprüfen, und ermittle anschließend, wie ein Godot-Projekt mit einer GDNative-Bibliothek integriert werden würde. Abgeschlossen ist die Aufgabe, wenn CI header-only-Features kompilieren, das Projekt ohne Abstürze ausführen und Speicherlecks auf mehreren Plattformen überprüfen kann.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Bewertung

Tech-Stack
cpp, godot
Bereich
build-system, ci-cd, testing
Issue-Typ
Feature
Schwierigkeit
5/5
Geschätzter Aufwand
Über eine Woche
Aktivitätsstatus
Veraltet
Klarheit
Muss geklärt werden
Anfängerfreundlichkeit
28/100

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.