Files
runc/tests/integration
Kir Kolyshkin 3c2683f52f tests/int/cgroups: use heredoc to break a long line
This is mostly to improve readability. While at it, make the script more
robust by adding -e option to shell. The exception is echo $pid which is
opportunistic and may fail depending on the order of pids in the file.

Also, remove the empty comment and a shellcheck annotation.

Fixes: c91fe9ae
Signed-off-by: Kir Kolyshkin <kolyshkin@gmail.com>
2025-10-18 15:35:51 -07:00
..
2025-04-04 15:44:47 +02:00
2025-08-27 18:08:51 -07:00
2025-01-07 13:54:34 -08:00
2025-10-07 15:06:37 +03:00
2023-07-17 23:16:55 +08:00
2025-10-18 15:30:16 -07:00
2024-05-08 10:57:10 +00:00
2023-08-24 19:44:05 -07:00

runc Integration Tests

Integration tests provide end-to-end testing of runc.

Note that integration tests do not replace unit tests.

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 (Bash Automated Testing System) framework. Please see bats documentation for more details.

Running integration tests

The easiest way to run integration tests is with Docker:

make integration

Alternatively, you can run integration tests directly on your host through make:

sudo make localintegration

Or you can just run them directly using bats

sudo bats tests/integration

To run a single test bucket:

make integration TESTPATH="/checkpoint.bats"

To run them on your host, you need to set up a development environment plus bats (Bash Automated Testing System).

For example:

cd ~/go/src/github.com
git clone https://github.com/bats-core/bats-core.git
cd bats-core
./install.sh /usr/local

Writing integration tests

Helper functions are provided in order to facilitate writing tests.

Please see existing tests for examples.