godotengine / godotengine/godot-cpp
Including a test project
- Lingua principale
- C++
- Stelle
- 2.7k
- Fork
- 809
- Merge medio
- 1g 3h
- PR unite (30g)
- 8
Descrizione
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.
Guida per i contributori
Nessuna guida per i contributori indicizzata per questo repository
Direzione di ricerca
Non vengono indicati file o test esistenti. Inizia esaminando la configurazione attuale di build e CI del repository, quindi determina come potrebbe integrarsi un progetto Godot con una libreria GDNative. Il lavoro è completato quando CI può compilare le funzionalità header-only, eseguire il progetto senza crash e verificare la presenza di perdite di memoria su più piattaforme.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- cpp, godot
- Ambito
- build-system, ci-cd, testing
- Tipo di issue
- Funzionalità
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Stato di attività
- Ferma
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 28/100