All commands are relative to the top-level directory
- Run all tests:
./scion.sh test
- Run all language specific tests:
./scion.sh test py
,./scion.sh test go
- Run all tests in a specific file:
./scion.sh test py test/lib/packet/opaque_field_test.py
- Run a specific test:
./scion.sh test py test.lib.packet.opaque_field_test:TestHopOpaqueFieldCalcMac
- Run a specific test function:
./scion.sh test py test/lib/packet/opaque_field_test.py:TestHopOpaqueFieldCalcMac.test_prev
- See which tests are being run:
./scion.sh test py -v
To get a html report of the testing coverage, run ./scion.sh coverage
Several integration tests can be found under python/integration
. Before running any of
those tests, you have to start the infrastructure (./scion.sh start
).
To run all integration tests run integration/integration_test.sh
. This will start
the infrastructure, however, it doesn't compile it. If you haven't compiled the infrastructure
yet or made local changes then first run make
.
It's possible to run the entire infrastructure in a docker container. For more information
see docker/README.md
.
It's possible to run every service instance in its own docker container. When creating the
topology, specify the -d
flag.
If you want to use docker-compose
commands, ./tools/dc
might be helpful.
The SCION project uses Buildkite as its continuous integration platform. To run an approximated
local version of the CI pipeline (does not include acceptance tests), first build a docker image
as described in docker/README.md
and then run tools/ci/local
.