5 Open Issues Need Help Last updated: Sep 13, 2025

Open Issues Need Help

View All on GitHub

AI Summary: This issue aims to add a comprehensive test suite for the Log module, covering functions in both `include/Log.h` and `src/_Internals/Log/LogInternal.h`. Key tasks include verifying log colour formatting and prefixes, testing custom fatal error handlers, and ensuring the default fatal handler (which calls `exit`) is tested safely by mocking or wrapping `exit` to prevent test suite termination.

Complexity: 3/5
good first issue test

AI Summary: Write unit tests for the `SM_Internal_EnableWarnings()` function in the SMILE C game engine. The tests should verify that the function correctly toggles debug warnings on and off at runtime, and that the state is preserved across multiple toggles. The function's behavior depends on the compilation flags, so the tests should account for this.

Complexity: 2/5
good first issue module: State Machine test

AI Summary: Improve the robustness of the SMILE engine's state machine by adding whitespace trimming to the state lookup functions (`SM_ChangeStateTo()` and `SM_IsStateRegistered()`). This involves using an existing whitespace trimming helper function and adding tests to ensure the changes work correctly. The stored state names should remain unchanged; trimming should only occur during the lookup process.

Complexity: 2/5
enhancement good first issue module: State Machine

AI Summary: Improve the SMILE engine's State Machine module by enhancing the state name validation in `SM_RegisterState()`. The function needs to reject state names consisting solely of whitespace characters and trim leading/trailing whitespace from valid names before registration. This requires modifying the `SM_RegisterState()` function, updating its documentation, and adding unit tests to verify the changes.

Complexity: 2/5
bug good first issue module: State Machine Improvement

AI Summary: The task involves adding unit tests to the SMILE engine's State Machine module to handle potential memory allocation failures during state registration. This requires replacing standard memory allocation functions with test-specific functions and creating a test case that simulates a failed allocation to verify proper cleanup and error handling.

Complexity: 3/5
good first issue module: State Machine test