laforge has submitted this change. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21110 )
Change subject: FR/FRNET: Dynamically create number of BVC at runtime ...................................................................... FR/FRNET: Dynamically create number of BVC at runtime We don't want the number of NSE and the number of BVC to be a compile-time choice, but rather something dynamic at rutime. This allows configuration files to define those details. Change-Id: I55b44481b5322deaf78619c1689462d716ddfcec --- M fr-net/FRNET_Tests.ttcn M fr/FR_Tests.ttcn 2 files changed, 70 insertions(+), 49 deletions(-) Approvals: laforge: Looks good to me, approved pespin: Looks good to me, but someone else must approve Jenkins Builder: Verified diff --git a/fr-net/FRNET_Tests.ttcn b/fr-net/FRNET_Tests.ttcn index 593ca77..721dd32 100644 --- a/fr-net/FRNET_Tests.ttcn +++ b/fr-net/FRNET_Tests.ttcn @@ -8,6 +8,7 @@ import from BSSGP_Emulation all; modulepar { + integer mp_num_bvc := 10; NSConfigurations mp_nsconfig := { { nsei := 123, @@ -34,11 +35,9 @@ BssgpConfig cfg }; -const integer NUM_GB := 1; -type record length(NUM_GB) of GbInstance GbInstances; -type record length(NUM_GB) of NSConfiguration NSConfigurations; -type record length(NUM_GB) of BssgpCellId BssgpCellIds; - +type record of GbInstance GbInstances; +type record of NSConfiguration NSConfigurations; +type record of BssgpCellId BssgpCellIds; type component test_CT { var GbInstances g_gb; @@ -53,28 +52,39 @@ gb.vc_BSSGP.start(BssgpStart(gb.cfg, testcasename())); } -testcase TC_foo() runs on test_CT { - g_gb[0].cfg := { - nsei := 123, - sgsn_role := true, - bvc := { - { - bvci := 1123, - cell_id := { - ra_id := { - lai := { - mcc_mnc := '262F42'H, - lac := 11123 - }, - rac := 1 - }, - cell_id := 31123 +function f_gen_bvc(integer base, integer idx) return BssgpBvcConfig { + var BssgpBvcConfig bvc := { + bvci := base + 100 + idx, + cell_id := { + ra_id := { + lai := { + mcc_mnc := '262F42'H, + lac := base + 300 + idx }, - depth := BSSGP_DECODE_DEPTH_LLC - } - } + rac := 1 + }, + cell_id := base + 600 + idx + }, + depth := BSSGP_DECODE_DEPTH_LLC }; - f_init_gb(g_gb[0], "gb", 0); + return bvc; +} + +testcase TC_foo() runs on test_CT { + + for (var integer i := 0; i < lengthof(mp_nsconfig); i := i+1) { + g_gb[i].cfg := { + nsei := mp_nsconfig[i].nsei, + sgsn_role := true, + bvc := { } + }; + /* create 'mp_num_bvc' number of BVCs */ + for (var integer j := 0; j < mp_num_bvc; j := j+1) { + g_gb[i].cfg.bvc := g_gb[i].cfg.bvc & { f_gen_bvc(i * 1000, j) }; + } + f_init_gb(g_gb[i], "gb", i); + } + while (true) { f_sleep(100.0); } diff --git a/fr/FR_Tests.ttcn b/fr/FR_Tests.ttcn index d2d184f..b220bb9 100644 --- a/fr/FR_Tests.ttcn +++ b/fr/FR_Tests.ttcn @@ -8,6 +8,7 @@ import from BSSGP_Emulation all; modulepar { + integer mp_num_bvc := 10; NSConfigurations mp_nsconfig := { { nsei := 123, @@ -34,10 +35,9 @@ BssgpConfig cfg }; -const integer NUM_GB := 1; -type record length(NUM_GB) of GbInstance GbInstances; -type record length(NUM_GB) of NSConfiguration NSConfigurations; -type record length(NUM_GB) of BssgpCellId BssgpCellIds; +type record of GbInstance GbInstances; +type record of NSConfiguration NSConfigurations; +type record of BssgpCellId BssgpCellIds; type component test_CT { @@ -53,28 +53,39 @@ gb.vc_BSSGP.start(BssgpStart(gb.cfg, testcasename())); } -testcase TC_foo() runs on test_CT { - g_gb[0].cfg := { - nsei := 123, - sgsn_role := false, - bvc := { - { - bvci := 1123, - cell_id := { - ra_id := { - lai := { - mcc_mnc := '262F42'H, - lac := 11123 - }, - rac := 1 - }, - cell_id := 31123 +function f_gen_bvc(integer base, integer idx) return BssgpBvcConfig { + var BssgpBvcConfig bvc := { + bvci := base + 100 + idx, + cell_id := { + ra_id := { + lai := { + mcc_mnc := '262F42'H, + lac := base + 300 + idx }, - depth := BSSGP_DECODE_DEPTH_LLC - } - } + rac := 1 + }, + cell_id := base + 600 + idx + }, + depth := BSSGP_DECODE_DEPTH_LLC }; - f_init_gb(g_gb[0], "gb", 0); + return bvc; +} + + +testcase TC_foo() runs on test_CT { + + for (var integer i := 0; i < lengthof(mp_nsconfig); i := i+1) { + g_gb[i].cfg := { + nsei := mp_nsconfig[i].nsei, + sgsn_role := false, + bvc := { } + }; + /* create 'mp_num_bvc' number of BVCs */ + for (var integer j := 0; j < mp_num_bvc; j := j+1) { + g_gb[i].cfg.bvc := g_gb[i].cfg.bvc & { f_gen_bvc(i * 1000, j) }; + } + f_init_gb(g_gb[i], "gb", i); + } while (true) { f_sleep(100.0); } -- To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/21110 To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Change-Id: I55b44481b5322deaf78619c1689462d716ddfcec Gerrit-Change-Number: 21110 Gerrit-PatchSet: 3 Gerrit-Owner: laforge <lafo...@osmocom.org> Gerrit-Reviewer: Jenkins Builder Gerrit-Reviewer: laforge <lafo...@osmocom.org> Gerrit-Reviewer: pespin <pes...@sysmocom.de> Gerrit-MessageType: merged