Use the core network class to configure one "end" of these tests. This will make the tests more generic and predictable, as they are explicitly configured through two ci_infra.yaml "entities", instead of some implicit "EPC" IP address given in configuration. As of this commit, no XML passes this info into the framework, so no XML step will work. As it is many changes, the following commits will add the necessary info one by one.
65 lines
2.0 KiB
Python
65 lines
2.0 KiB
Python
import sys
|
|
import logging
|
|
logging.basicConfig(
|
|
level=logging.DEBUG,
|
|
stream=sys.stdout,
|
|
format="[%(asctime)s] %(levelname)8s: %(message)s"
|
|
)
|
|
import os
|
|
os.system(f'rm -rf cmake_targets')
|
|
os.system(f'mkdir -p cmake_targets/log')
|
|
import unittest
|
|
|
|
sys.path.append('./') # to find OAI imports below
|
|
import cls_oai_html
|
|
import cls_oaicitest
|
|
import cls_containerize
|
|
|
|
class TestPingIperf(unittest.TestCase):
|
|
def setUp(self):
|
|
self.html = cls_oai_html.HTMLManagement()
|
|
self.html.testCaseId = "000000"
|
|
self.ci = cls_oaicitest.OaiCiTest()
|
|
self.ci.ue_ids = ["test"]
|
|
self.ci.nodes = ["localhost"]
|
|
self.cont = cls_containerize.Containerize()
|
|
|
|
def test_ping(self):
|
|
self.ci.ping_args = "-c3 127.0.0.1"
|
|
self.ci.ping_packetloss_threshold = "0"
|
|
self.ci.svr_id = "test"
|
|
infra_file = "tests/config/infra_ping_iperf.yaml"
|
|
# TODO Should need nothing but options and UE(s) to use
|
|
success = self.ci.Ping(self.html, self.cont, infra_file=infra_file)
|
|
self.assertTrue(success)
|
|
|
|
def test_iperf(self):
|
|
# note: needs to be five seconds because Iperf() adds -O 3, so if it is
|
|
# too short, the server is terminated before the client loaded
|
|
# everything
|
|
self.ci.iperf_args = "-u -t 5 -b 1M -R"
|
|
self.ci.svr_id = "test"
|
|
self.ci.svr_node = "localhost"
|
|
self.ci.iperf_packetloss_threshold = "0"
|
|
self.ci.iperf_bitrate_threshold = "0"
|
|
self.ci.iperf_profile = "balanced"
|
|
infra_file = "tests/config/infra_ping_iperf.yaml"
|
|
# TODO Should need nothing but options and UE(s) to use
|
|
success = self.ci.Iperf(self.html, self.cont, infra_file=infra_file)
|
|
self.assertTrue(success)
|
|
|
|
def test_iperf2_unidir(self):
|
|
self.ci.iperf_args = "-u -t 5 -b 1M"
|
|
self.ci.svr_id = "test"
|
|
self.ci.svr_node = "localhost"
|
|
self.ci.iperf_packetloss_threshold = "0"
|
|
self.ci.iperf_bitrate_threshold = "0"
|
|
self.ci.iperf_profile = "balanced"
|
|
infra_file = "tests/config/infra_ping_iperf.yaml"
|
|
# TODO Should need nothing but options and UE(s) to use
|
|
success = self.ci.Iperf2_Unidir(self.html, self.cont, infra_file=infra_file)
|
|
self.assertTrue(success)
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|