Harden container CI and improve BATS coverage for 8.0.1/binary/flex#555
Merged
kojiromike merged 9 commits intoopenemr:masterfrom Feb 20, 2026
Merged
Harden container CI and improve BATS coverage for 8.0.1/binary/flex#555kojiromike merged 9 commits intoopenemr:masterfrom
kojiromike merged 9 commits intoopenemr:masterfrom
Conversation
…nd container-test issues; and makes the flex image more robust when Redis is unavailable. ## BATS tests - **Flex:** Add functional tests for devtoolsLibrary, ssl, unlock_admin, and xdebug (validation/exit behavior). - **8.0.1:** Add functional tests for setGlobalSettings (OPENEMR_SETTING_*), kcov-wrapper, and openemr.sh startup; relax kcov/ssl assertions for non-container runs. - **All variants:** Focus on script behavior (run/source and assert outcomes), not only existence/syntax. ## Container benchmarking / CI - Create `test_results/` before writing logs so `tee` does not fail with "No such file or directory". - Run the **full** container functionality suite by default (all 9 tests per variant); use workflow_dispatch to run a single test if needed. - Remove fixed host ports (8083, 8084) from the swarm_mode test to avoid "address already in use" in CI. ## Flex container - Configure PHP Redis sessions **only when Redis is reachable**: call `wait_for_redis` first; if it fails, skip Redis config and use file sessions so the container can still become healthy. - Increase Redis wait retries to 30 to allow for DNS/startup delay. - Add ShellCheck disable for the intentional `if ! wait_for_redis` pattern. ## Testing - BATS: 204 tests across 8.0.1, binary, and flex (all passing). - Container functionality: full suite runs for 8.0.1, binary, and flex; flex Redis test and non-Redis tests no longer hang on Redis connection errors.
bradymiller
reviewed
Feb 17, 2026
bradymiller
reviewed
Feb 17, 2026
kojiromike
approved these changes
Feb 20, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR improves reliability in both CI and runtime behavior for Docker variants (8.0.1, binary, flex), and makes BATS tests more meaningful by focusing on behavior instead of permissive output matching.
What this changes
Why this matters