t Add unit testing to Godot using DocTest and added to GitHub Actions CI

Implements exit codes into the engine so tests can return their statuses.
Ideally we don't do this, and we use FIXUP logic to 'begin' and 'end' the engine execution for tests specifically.

Since realistically we're initialising the engine here we don't want to do that, since String should not require an engine startup to test a single header.

This lowers the complexity of running the unit tests and even for
physics should be possible to implement such a fix.
This commit is contained in:
RevoluPowered 2020-07-20 17:35:34 +01:00 committed by Gordon MacPherson
parent 93b50a62e3
commit 579342810f
24 changed files with 7417 additions and 1397 deletions

View file

@ -62,6 +62,11 @@ jobs:
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=linuxbsd tools=yes target=release_debug module_mono_enabled=yes mono_glue=no
# Execute unit tests for the editor
- name: Unit Tests
run: |
./bin/godot.linuxbsd.opt.tools.64.mono --test
linux-template:
runs-on: "ubuntu-20.04"
name: Template w/ Mono (target=release, tools=no)

View file

@ -51,6 +51,11 @@ jobs:
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=osx tools=yes target=release_debug
# Execute unit tests for the editor
- name: Unit Tests
run: |
./bin/godot.osx.opt.tools.64 --test
macos-template:
runs-on: "macos-latest"
name: Template (target=release, tools=no)

View file

@ -56,6 +56,11 @@ jobs:
run: |
scons -j2 verbose=yes warnings=all werror=yes platform=windows tools=yes target=release_debug
# Execute unit tests for the editor
- name: Unit Tests
run: |
./bin/godot.windows.opt.tools.64.exe --test
# Build Product Upload (tested and working)
# sorry this is disabled until github can give us some more space as we would hit our limit very quickly
# tested this code and it works fine so just enable it to get them back