Change in osmo-ttcn3-hacks[master]: FR/FRNET: Dynamically create number of BVC at runtime

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/gerrit-log@lists.osmocom.org/.

laforge gerrit-no-reply at lists.osmocom.org
Thu Nov 12 20:02:09 UTC 2020


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 <laforge at osmocom.org>
Gerrit-Reviewer: Jenkins Builder
Gerrit-Reviewer: laforge <laforge at osmocom.org>
Gerrit-Reviewer: pespin <pespin at sysmocom.de>
Gerrit-MessageType: merged
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20201112/bc33c8f6/attachment.htm>


More information about the gerrit-log mailing list