Some CI tasks/commands like Iperf(), Ping() get multiple nodes (via XML parameter "nodes") to potentially run UEs on different nodes (hosts) at the same time. However, I argue that this is not good: - we don't actually use this -- where we specify multiple UEs, it's always "localhost localhost..." - it is inconsistent, as we typically have a single "node", not nodes, and there is a possibility to harmonize (see also next commit) - if we needed it, there would be better ways to achieve the same. First, for hardware-based UEs, the ci_infra.yaml can specify different UEs. For simulated UEs, it would be feasible to have multiple XML steps run in parallel, e.g., in the XML <parallel> tag, which would clarify that multiple UEs on different hosts run in parallel - it reduces code. Hence, make a single <node> for these XML steps.
In this directory and subdirectories are various CI code test cases and helper scripts.
Unit test
This repository contains unit tests. To run them, switch to the parent
directory, i.e., ci-scripts/, and run
python3 -m unittest tests/*.py
To run individual unit tests, start them like so:
python tests/build.py -v
python tests/cmd.py -v
python tests/corenetwork.py -v
python tests/deployment.py -v
python tests/iperf-analysis.py -v
python tests/ping-iperf.py -v
The logs will indicate if all tests passed. tests/deployment.py requires
these images to be present:
oai-ci/oai-nr-ue:develop-12345678oai-ci/oai-gnb:develop-12345678
It will try to download oaisoftwarealliance/oai-{gnb,nr-ue}:develop
automatically and retag the images.
test-runner test
This is not a true test, because the results need to be manually inspected. To run this "test", run
./run.sh
inside the test-runner/ directory (important!).