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.