https://github.com/bscotch/ganary
https://github.com/bscotch/ganary
Last synced: 6 months ago
JSON representation
- Host: GitHub
- URL: https://github.com/bscotch/ganary
- Owner: bscotch
- Created: 2020-11-06T18:50:18.000Z (over 5 years ago)
- Default Branch: main
- Last Pushed: 2026-01-22T13:46:24.000Z (6 months ago)
- Last Synced: 2026-01-23T06:07:49.470Z (6 months ago)
- Language: Game Maker Language
- Size: 7.97 MB
- Stars: 10
- Watchers: 0
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
- awesome-gamemaker - Ganary - Uses Olympus to perform regression tests. (Debugging / Recommendations)
README
# Ganary
Ganary (alias for "GameMaker Runtime Canary", and henceforth abbreviated as "GRC") is a GameMaker project that uses [Olympus](https://github.com/bscotch/olympus) to perform regression tests for GameMaker runtimes.
When a new runtime is released, it should pass all existing tests to confirm that known issues are fixed.
If new issues are discovered, they can be added as Olympus tests to ensure that they are covered going forward.
## How to use
### Default config
Under this config, the tester has 3 seconds to enter inputs through mouse/touchscreen/gamepad to reset the Olympus record to start the test fresh. If no input is detected, the test will load unfinished Olympus record if there are any in the saves directory as a result of silent crashes.
### Dev Config or Debug mode
Under this config, the tests will always start fresh, and the Olympus async test that requires user feedback are skipped.
## Project Organization and How to Add Tests
All tests are registered in these script resources in the `Ganary/Test_registration` group in the yyp project:
1. `grc_register_sync_function_tests`: For tests that are added through the `olympus_add_test()` API
2. `grc_register_async_function_tests`: For tests that are added through the `olympus_add_async_test()` API
3. `grc_register_manual_tests`: For tests that are added through the `olympus_add_async_test_with_user_feedback()` API
4. `grc_register_compile_tests`: For tests that would prevent the project from building
These scripts are then called in `o_grc_test_starter`'s `Create` event in the `_function_to_add_tests_and_hooks()` instance function.
You can add your tests to these script resources, or you can create a new script and add it to the `_function_to_add_tests_and_hooks()` function and move the script to the `Ganary/Test_registration` group.
If you add resources such as sprites, audios, and shaders, move them to the `Ganary/misc_resources` group. If you add objects, move them to `Ganary/Objects`'s subgroups based on their test type.