Refactored the test execution command in `.gitlab-ci.yml` to use double dashes for the `--docker` argument instead of a single dash. Also corrected the naming convention in `.mod_env.json` from `minetest-add-conf` to `minetest_add_conf`. The changes ensure consistency and clarity in configuration files.
Refactored Docker-related scripts to improve modularity and readability. Introduced support for loading configuration from `.mod_env.json` files, enhancing script flexibility. Added debug flag to enable detailed logging during script execution for better troubleshooting. Fixed file path issues related to script operations.
In the test script `run_tests.sh`, added `-i/--client-image` option to specify the client docker image used for tests. This allows flexibility in choosing different client images for testing purposes. The default client image is set to `registry.apps.education.fr/iri/minetest/docker_test_harness/client:latest`. Additionally, improved cleanup logic to handle scenarios when docker compose file and docker command are not present or empty.
- Added `.mod_env` file to store environment configurations for mods.
- The file includes settings for `CURRENT_MOD`, `DEPENDENCIES`, and `CLIENT_NB`.
- Modifications across various files to incorporate and reference values from `.mod_env`.
- Docker-related scripts updated to utilize variables from `.mod_env`.
Provide detailed setup steps for running tests in the project, including adjusting the `docker-compose.yaml` file to specify client instances and their players.
- Enhance instructions in the README for setting up and running tests with the test framework.
- Develop modules for registering and running tests within mods.
- Provide a mechanism to control which mods are tested through `test_harness_mods` setting.
- Improve summary display logic for test results and categorize them (passed, failed, skipped, dnr).
- Refactor scripts for better management of test execution and handling various cases.
Corrected the displayed status of skipped tests from 'skip' to 'dnr' (short for 'did not run'). This change ensures better clarity in the test summary by accurately reflecting the status of each test. The modification impacts the visual representation of skipped tests, enhancing the overall readability of the test results.
Refactor the code to extract the test result printing logic into a separate function, `print_result_line`, to improve readability and reduce code duplication. This change aims to enhance maintainability by consolidating similar print statements and ensuring consistent display of test results across the script.
Refactored the `run_player_tests` function in `base.lua` to improve error handling and the way test results are displayed. Tests now run asynchronously and reschedule remaining tests if necessary. Added clearer output for skipped tests and improved failure reporting.
Enhanced the display of test summaries in `base.lua` for better readability and alignment. Increased the width of formatted strings from 60 to 80 characters, providing a more spacious layout for test outputs
Add color management functionality sourced from 'lua-chroma' library, introducing various color escape sequences for enhanced console output formatting. Implemented a `pprint` function for formatted printing with color support, enabling structured and visually enhanced display in the console for tests and results.
This commit enhances readability and visual differentiation in test summary displays through color-coded outputs, highlighting test status and errors effectively.
Reworked the build script to enhance artifact handling. Created a 'dist' directory, storing generated artifacts. Modified paths for cleaner output organization.
Refactored the test completion logic in the `run_tests` function for better readability and maintainability. Removed redundant check for `minetest.settings:get_bool("test_harness_stop_server", true)` and streamlined the conditional flow based on `tests_state`. This change enhances code clarity without altering functionality significantly.
Adjusted the packaging script in `.gitlab-ci.yml` to save artifacts in `/tmp/` for improved storage management and accessibility. Additionally, fixed a conditional statement in `base.lua` to properly handle the failfast option during testing.
Changing 'break' to 'return' in the run_tests function to stop the test loop when a failure occurs, improving test harness behavior by returning from the function instead of breaking out of the loop.
- Adds support for registering tests under specific modules to enhance organization and categorization.
- Introduces `register_test` function scoped within a module using `get_test_registrator`.
- Track tests by module for improved visibility and management.
- Enhances test output formatting to include module information alongside test names.
Adding a wait statement for the termination of the Minetest process to ensure proper clean-up and graceful exit handling in the client's entrypoint script.
Push images tagged with git SHA
- Added additional Docker image pushes for different tags derived from the Git SHA to sync with updated tagging conventions.
Update Dockerfile for client build process, including changes to base image and dependencies. Add support for OPENGL_BASE_IMAGE environment variable to facilitate easier image customization and maintenance.
The commit updates the Minetest client Dockerfile by adjusting the COPY command indentation to correctly copy the minetest.conf file. Update docker version to 27.
Updated the Dockerfile to use single quotes for the EOF marker in the minetest.conf file copy operation, ensuring consistent code styling and improved readability.
Adjusted the docker build command in the GitLab CI configuration file to use `docker buildx build` instead of `docker buildx` for building the OpenGL image.