Change in osmo-ttcn3-hacks[master]: pcu: Improve counter validation

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/.

pespin gerrit-no-reply at lists.osmocom.org
Fri Nov 5 18:10:21 UTC 2021


pespin has uploaded this change for review. ( https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26130 )


Change subject: pcu: Improve counter validation
......................................................................

pcu: Improve counter validation

Validate some new counters recently added in osmo-pcu. Use new naming
for assignment_{UL,DL}, which were renamed to be lower-case.
Tests on older version will still work by checking the older name.

Related: SYS#4878
Change-Id: I98e340053c91abdbf28c6e9641190bc78df35eff
---
M pcu/PCU_Tests.ttcn
1 file changed, 192 insertions(+), 8 deletions(-)



  git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/30/26130/1

diff --git a/pcu/PCU_Tests.ttcn b/pcu/PCU_Tests.ttcn
index 2daf89b..dbe5f80 100644
--- a/pcu/PCU_Tests.ttcn
+++ b/pcu/PCU_Tests.ttcn
@@ -2383,6 +2383,22 @@
 	var template (present) CodingScheme exp_dl_cs_mcs := cs_gprs_any;
 
 	f_TC_mo_ping_pong_2phase_access(c_PCUIF_Flags_noMCS, ms_racap_gprs_def, exp_ul_cs_mcs, exp_dl_cs_mcs);
+
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }
+		};
+		f_statsd_expect(expect);
+	}
 }
 
 testcase TC_mo_ping_pong_with_ul_racap_egprs_only() runs on RAW_PCU_Test_CT {
@@ -2390,6 +2406,21 @@
 	var template (present) CodingScheme exp_dl_cs_mcs := mcs_egprs_any;
 
 	f_TC_mo_ping_pong_2phase_access(c_PCUIF_Flags_default, ms_racap_egprs_def, exp_ul_cs_mcs, exp_dl_cs_mcs);
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }
+		};
+		f_statsd_expect(expect);
+	}
 }
 
 testcase TC_force_two_phase_access() runs on RAW_PCU_Test_CT {
@@ -2400,6 +2431,22 @@
 	var template (present) CodingScheme exp_dl_cs_mcs := cs_gprs_any;
 
 	f_TC_mo_ping_pong_2phase_access(c_PCUIF_Flags_noMCS, ms_racap_gprs_def, exp_ul_cs_mcs, exp_dl_cs_mcs);
+
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }
+		};
+		f_statsd_expect(expect);
+	}
 }
 
 /* Test scenario where SGSN wants to send some data against MS and it is
@@ -2674,13 +2721,22 @@
 
 	var StatsDExpects expect := {
 		{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 0, max := 0},
-		{ name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},
-		{ name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 0, max := 0},
 		{ name := "TTCN3.bts.0.tbf.dl.alloc", mtype := "c", min := 1, max := 1},
 		{ name := "TTCN3.bts.0.tbf.ul.alloc", mtype := "c", min := 0, max := 0},
 		{ name := "TTCN3.bts.0.rlc.dl_payload_bytes", mtype := "c", min := 64, max := 64},
 		{ name := "TTCN3.bts.0.rlc.ul_payload_bytes", mtype := "c", min := 0, max := 0}
 	};
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		expect := expect & {
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 1, max := 1},
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 0, max := 0}
+		};
+	} else {
+		expect := expect & {
+			{ name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},
+			{ name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 0, max := 0}
+		};
+	}
 	f_statsd_expect(expect);
 
 	f_shutdown(__BFILE__, __LINE__, final := true);
@@ -3054,6 +3110,7 @@
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
+	f_statsd_reset();
 
 	/* Establish BSSGP connection to the PCU */
 	f_bssgp_establish();
@@ -3094,6 +3151,22 @@
 	/* ACK the ACK */
 	f_ms_tx_ul_block(ms, ts_RLCMAC_CTRL_ACK(ms.tlli), sched_fn);
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.pkt.ul_assignment", mtype := "c", min := 1, max := 1 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
@@ -3487,12 +3560,22 @@
 
 	var StatsDExpects expect := {
 		{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 1, max := 1},
-		{ name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},
 		{ name := "TTCN3.bts.0.tbf.dl.alloc", mtype := "c", min := 1, max := 1},
 		{ name := "TTCN3.bts.0.tbf.ul.alloc", mtype := "c", min := 1, max := 1},
 		{ name := "TTCN3.bts.0.rlc.dl_payload_bytes", mtype := "c", min := 10, max := 10},
 		{ name := "TTCN3.bts.0.rlc.ul_payload_bytes", mtype := "c", min := 26, max := 26}
 	};
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		expect := expect & {
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 1, max := 1},
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 1, max := 1}
+		};
+	} else {
+		expect := expect & {
+			{ name := "TTCN3.bts.0.immediate.assignment_DL", mtype := "c", min := 1, max := 1},
+			{ name := "TTCN3.bts.0.immediate.assignment_UL", mtype := "c", min := 1, max := 1}
+		};
+	}
 	f_statsd_expect(expect);
 
 	f_shutdown(__BFILE__, __LINE__, final := true);
@@ -3628,16 +3711,18 @@
 	var template GsmRrMessage imm_ass;
 	var template IaRestOctets rest;
 	var template EgprsUlAss ul_ass;
+	const integer num_req := 6;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
+	f_statsd_reset();
 
 	var EGPRSPktChRequest req := {
 		/* NOTE: other fields are set in the loop */
 		signalling := { tag := '110011'B }
 	};
 
-	for (var integer i := 0; i < 6; i := i + 1) {
+	for (var integer i := 0; i < num_req; i := i + 1) {
 		var BIT5 ext_ra := int2bit(f_rnd_int(32), 5);
 		req.signalling.random_bits := ext_ra;
 
@@ -3649,6 +3734,21 @@
 		f_TC_egprs_pkt_chan_req(req, imm_ass);
 	}
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
@@ -3656,16 +3756,18 @@
 	var template GsmRrMessage imm_ass;
 	var template IaRestOctets rest;
 	var template EgprsUlAss ul_ass;
+	const integer num_req := 6;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
+	f_statsd_reset();
 
 	var EGPRSPktChRequest req := {
 		/* NOTE: other fields are set in the loop */
 		one_phase := { tag := '0'B }
 	};
 
-	for (var integer i := 0; i < 6; i := i + 1) {
+	for (var integer i := 0; i < num_req; i := i + 1) {
 		var BIT5 ext_ra := int2bit(f_rnd_int(32), 5);
 		var BIT5 mslot_class := int2bit(f_rnd_int(32), 5);
 		var BIT2 priority := substr(ext_ra, 0, 2);
@@ -3683,6 +3785,21 @@
 		f_TC_egprs_pkt_chan_req(req, imm_ass);
 	}
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
@@ -3690,16 +3807,18 @@
 	var template GsmRrMessage imm_ass;
 	var template IaRestOctets rest;
 	var template EgprsUlAss ul_ass;
+	const integer num_req := 6;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
+	f_statsd_reset();
 
 	var EGPRSPktChRequest req := {
 		/* NOTE: other fields are set in the loop */
 		two_phase := { tag := '110000'B }
 	};
 
-	for (var integer i := 0; i < 6; i := i + 1) {
+	for (var integer i := 0; i < num_req; i := i + 1) {
 		var BIT5 ext_ra := int2bit(f_rnd_int(32), 5);
 		var BIT2 priority := substr(ext_ra, 0, 2);
 		var BIT3 rand := substr(ext_ra, 2, 3);
@@ -3715,6 +3834,21 @@
 		f_TC_egprs_pkt_chan_req(req, imm_ass);
 	}
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
@@ -3767,11 +3901,13 @@
 testcase TC_egprs_pkt_chan_req_reject_content() runs on RAW_PCU_Test_CT {
 	var template IARRestOctets rest;
 	var BIT5 ext_ra;
+	const integer num_req := 6;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
+	f_statsd_reset();
 
-	for (var integer i := 0; i < 6; i := i + 1) {
+	for (var integer i := 0; i < num_req; i := i + 1) {
 		ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */
 		rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * });
 
@@ -3779,6 +3915,20 @@
 		f_TC_egprs_pkt_chan_req_reject('111111'B & ext_ra, 1337 + i, rest);
 	}
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.unexpected", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_rej", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
@@ -3788,16 +3938,18 @@
 	var template IARRestOctets rest;
 	var BIT5 ext_ra;
 	var BIT11 ra11;
+	const integer num_req := 6;
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename());
+	f_statsd_reset();
 
 	var EGPRSPktChRequest req := {
 		/* NOTE: other fields are set in the loop */
 		emergency := { tag := '110111'B }
 	};
 
-	for (var integer i := 0; i < 6; i := i + 1) {
+	for (var integer i := 0; i < num_req; i := i + 1) {
 		ext_ra := int2bit(f_rnd_int(32), 5); /* 5 LSB's of RA11 */
 		rest := tr_IARRestOctets({ *, tr_ExtRAOpt(ext_ra), * });
 
@@ -3808,6 +3960,20 @@
 		f_TC_egprs_pkt_chan_req_reject(ra11, 1337 + i, rest);
 	}
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.unexpected", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_rej", mtype := "c", min := num_req, max := num_req },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 
@@ -3826,6 +3992,7 @@
 
 	/* Initialize the PCU interface abstraction */
 	f_init_raw(testcasename(), info_ind);
+	f_statsd_reset();
 
 	var EGPRSPktChRequest req := {
 		one_phase := {
@@ -3849,6 +4016,23 @@
 	/* At this point, the IUT should run out of free USFs */
 	f_TC_egprs_pkt_chan_req_reject(ra11, 1870, rest, wi := info_ind.t3142);
 
+	if (mp_osmo_pcu_newer_than_0_9_0) {
+		var StatsDExpects expect := {
+			{ name := "TTCN3.bts.0.rach.requests", mtype := "c", min := 8, max := 8 },
+			{ name := "TTCN3.bts.0.rach.requests.11bit", mtype := "c", min := 8, max := 8 },
+			{ name := "TTCN3.bts.0.rach.requests.one_phase", mtype := "c", min := 8, max := 8 },
+			{ name := "TTCN3.bts.0.rach.requests.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.rach.requests.unexpected", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul", mtype := "c", min := 7, max := 7 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.one_phase", mtype := "c", min := 7, max := 7 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.two_phase", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_ul.contention_resolution_success", mtype := "c", min := 0, max := 0 },
+			{ name := "TTCN3.bts.0.immediate.assignment_rej", mtype := "c", min := 1, max := 1 },
+			{ name := "TTCN3.bts.0.immediate.assignment_dl", mtype := "c", min := 0, max := 0 }
+		};
+		f_statsd_expect(expect);
+	}
+
 	f_shutdown(__BFILE__, __LINE__, final := true);
 }
 

-- 
To view, visit https://gerrit.osmocom.org/c/osmo-ttcn3-hacks/+/26130
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: I98e340053c91abdbf28c6e9641190bc78df35eff
Gerrit-Change-Number: 26130
Gerrit-PatchSet: 1
Gerrit-Owner: pespin <pespin at sysmocom.de>
Gerrit-MessageType: newchange
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20211105/117214b1/attachment.htm>


More information about the gerrit-log mailing list