Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Containerised build and test support for EMS #25

Open
wants to merge 22 commits into
base: dev
Choose a base branch
from

Conversation

sharon-tickell
Copy link

These changes tweak several of the test scripts to:

  • Accept the location of the shoc and compas executables via environment variables
  • Exit on the first error
  • But NOT exit if that error is related to cleaning up test output files that are not yet present.

With those changes made, we then add a script that can find and run all the individual tests and report on which ones pass and which ones fail (with a non-zero exitcode indicating failure).

I also add a Dockerfile and docker-compose definition to support building EMS and running all the tests in a standard, controlled environment: this is suitable for use in a continuous integration workflow.

By default, the docker build will compile all the EMS components, will run the tests as part of the build, and will fail the build if any of the tests fail. but this behaviour can be altered by configuring override values for build-time arguments.

The docker-compose.yml is configured to not run tests as part of the build, but instead to bind-mount the test files and run tests when the component starts. This is useful for test development. To make this only run a subset of tests, alter the value of the EMS_TEST_INCLUDE environment variable to be the path to the directory containing the test(s) you want to run.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants