summaryrefslogtreecommitdiff
path: root/.github/workflows
diff options
context:
space:
mode:
authorRevoluPowered <gordon@gordonite.tech>2020-07-20 17:35:34 +0100
committerGordon MacPherson <gordon@gordonite.tech>2020-07-24 13:05:33 +0100
commit579342810f5c453e91063c54ca6544300ea09090 (patch)
treeb01e1478605b835e1fe903384d753b114106d51e /.github/workflows
parent93b50a62e333cd05702fb749ebcdc18127abe01b (diff)
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.
Diffstat (limited to '.github/workflows')
-rw-r--r--.github/workflows/linux_builds.yml5
-rw-r--r--.github/workflows/macos_builds.yml5
-rw-r--r--.github/workflows/windows_builds.yml5
3 files changed, 15 insertions, 0 deletions
diff --git a/.github/workflows/linux_builds.yml b/.github/workflows/linux_builds.yml
index d91be544a3..be7737593a 100644
--- a/.github/workflows/linux_builds.yml
+++ b/.github/workflows/linux_builds.yml
@@ -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)
diff --git a/.github/workflows/macos_builds.yml b/.github/workflows/macos_builds.yml
index f6d357e706..4a9fa910d0 100644
--- a/.github/workflows/macos_builds.yml
+++ b/.github/workflows/macos_builds.yml
@@ -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)
diff --git a/.github/workflows/windows_builds.yml b/.github/workflows/windows_builds.yml
index 0c7f23036e..c58bae8275 100644
--- a/.github/workflows/windows_builds.yml
+++ b/.github/workflows/windows_builds.yml
@@ -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