#summary How the engine is tested automatically = Engine tests cases = Hedgewars developers have made some automated tests to test certain features of the engine automatically to ensure a certain level of quality and to prevent old fixed bug from popping up again. Currently, all automated Lua tests are done with Lua scripting. == Running test cases == There are two ways to run a test: Automated and manual. === Automated testing === This requires you to have CMake. Run `ctest` in the root directory of the repository to run all tests. Run `ctest -R ` to run only the test with the given name. Note that automated tests will run much faster than in real game time. You won't see any actual game action, however. === Manual testing === Each test can also be run manually in which you run the tests in real time and you can see what's going on. Copy the corresponding Lua file from `tests/lua` to `Data/Missions/Training` (in the Hedgewars user directory), then open Hedgewars and start the test from the training menu. == Creating test cases == You can find the test cases in the repository under `tests/lua`. These scripts are treated like ordinary scripts in Hedgewars (like misions or multiplayer scripts) but there's one important difference: You must call `EndLuaTest` when the test result (success or failure) has be determined (see [LuaAPI]).