Ganary (alias for "GameMaker Runtime Canary", and henceforth abbreviated as "GRC") is a GameMaker project that uses 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.
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.
Under this config, the tests will always start fresh, and the Olympus async test that requires user feedback are skipped.
All tests are registered in these script resources in the Ganary/Test_registration
group in the yyp project:
grc_register_sync_function_tests
: For tests that are added through theolympus_add_test()
APIgrc_register_async_function_tests
: For tests that are added through theolympus_add_async_test()
APIgrc_register_manual_tests
: For tests that are added through theolympus_add_async_test_with_user_feedback()
APIgrc_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.