mirror of
https://github.com/moby/moby.git
synced 2022-11-09 12:21:53 -05:00
92f074c095
With docker 1.11 based dnet tests, the dnet_exec is sometimes exiting with exit code 129 because the process is getting a SIGHUP. Although the reason or source of the SIGHUP is unknown, it is making the tests flaky because non-zero exit code. Fixed it by trapping SIGHUP inside the container so that we can run the test code successfully. Signed-off-by: Jana Radhakrishnan <mrjana@docker.com> |
||
---|---|---|
.. | ||
dnet | ||
daemon-configs.bats | ||
daemon.cfg | ||
helpers.bash | ||
README.md |
LibNetwork Integration Tests
Integration tests provide end-to-end testing of LibNetwork and Drivers.
While unit tests verify the code is working as expected by relying on mocks and artificially created fixtures, integration tests actually use real docker engines and communicate to it through the CLI.
Note that integration tests do not replace unit tests and Docker is used as a good use-case.
As a rule of thumb, code should be tested thoroughly with unit tests. Integration tests on the other hand are meant to test a specific feature end to end.
Integration tests are written in bash using the bats framework.
Pre-Requisites
- Bats (https://github.com/sstephenson/bats#installing-bats-from-source)
- Docker Machine (https://github.com/docker/machine)
- Virtualbox (as a Docker machine driver)
Running integration tests
- Start by [installing] (https://github.com/sstephenson/bats#installing-bats-from-source) bats on your system.
- If not done already, install docker-machine into /usr/bin
- Make sure Virtualbox is installed as well, which will be used by docker-machine as a driver to launch VMs
In order to run all integration tests, pass bats the test path:
$ bats test/integration/daemon-configs.bats