Change in osmo-ttcn3-hacks[master]: library/GSUP_Types.ttcn: fix missing session state IE in PROC_SS_ERR

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

Vadim Yanitskiy gerrit-no-reply at lists.osmocom.org
Fri Nov 30 19:45:03 UTC 2018


Vadim Yanitskiy has submitted this change and it was merged. ( https://gerrit.osmocom.org/11984 )

Change subject: library/GSUP_Types.ttcn: fix missing session state IE in PROC_SS_ERR
......................................................................

library/GSUP_Types.ttcn: fix missing session state IE in PROC_SS_ERR

Both session state and session ID IEs are always being encoded
together by libosmocore's GSUP implementation. So, if a message
contains a session ID IE, session state IE shall also be there.

For some reason, the session state IE was missing in both
ts_GSUP_PROC_SS_ERR and tr_GSUP_PROC_SS_ERR templates. This
could led to incorrect matching in our test cases.

This change fixes both templates by adding the missing IE. Since
tr_GSUP_PROC_SS_ERR templete is used in HLR_Tests.ttcn, all the
affected matching statements were also corrected.

This correction doesn't affect successful test case executions,
because we don't test possible problematic situations yet. But
if something went wrong on the HLR side (i.e. SUT), the matching
statements wouldn't match the PROC_SS_ERR message correctly
and continue to wait until the guard timer is expired.

Change-Id: I44070396ce7119eab4608d9f9fb090bb223dfaa2
---
M hlr/HLR_Tests.ttcn
M library/GSUP_Types.ttcn
2 files changed, 8 insertions(+), 4 deletions(-)

Approvals:
  Harald Welte: Looks good to me, approved
  Jenkins Builder: Verified



diff --git a/hlr/HLR_Tests.ttcn b/hlr/HLR_Tests.ttcn
index f7902be..e32fa68 100644
--- a/hlr/HLR_Tests.ttcn
+++ b/hlr/HLR_Tests.ttcn
@@ -476,16 +476,16 @@
 	GSUP.send(valueof(ts_GSUP_PROC_SS_REQ(imsi, sid, state, ss)));
 	T.start;
 	alt {
-	[exp_fail] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, exp_err_cause)) -> value ret {
+	[exp_fail] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?, exp_err_cause)) -> value ret {
 		setverdict(pass);
 		}
-	[exp_fail] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?)) -> value ret {
+	[exp_fail] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?, ?)) -> value ret {
 		setverdict(fail, "Unexpected PROC_SS ERROR Cause");
 		}
 	[exp_fail] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, ?, ?)) -> value ret {
 		setverdict(fail, "Unexpected PROC_SS.res for unknown IMSI");
 		}
-	[not exp_fail] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?)) -> value ret {
+	[not exp_fail] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?, ?)) -> value ret {
 		setverdict(fail, "Unexpected PROC_SS ERROR");
 		}
 	[not exp_fail] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, ?, ?)) -> value ret {
@@ -511,7 +511,7 @@
 	}
 	T.start;
 	alt {
-	[] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?)) -> value ret {
+	[] GSUP.receive(tr_GSUP_PROC_SS_ERR(imsi, sid, ?, ?)) -> value ret {
 		setverdict(fail, "Unexpected PROC_SS ERROR Cause");
 		}
 	[not exp_ss] GSUP.receive(tr_GSUP_PROC_SS_RES(imsi, sid, state, omit)) -> value ret {
diff --git a/library/GSUP_Types.ttcn b/library/GSUP_Types.ttcn
index 7680815..cadc6d8 100644
--- a/library/GSUP_Types.ttcn
+++ b/library/GSUP_Types.ttcn
@@ -692,24 +692,28 @@
 template (value) GSUP_PDU ts_GSUP_PROC_SS_ERR(
 	hexstring imsi,
 	OCT4 sid,
+	GSUP_SessionState state,
 	integer cause
 ) := ts_GSUP(
 	OSMO_GSUP_MSGT_PROC_SS_ERROR,
 	{
 		valueof(ts_GSUP_IE_IMSI(imsi)),
 		valueof(ts_GSUP_IE_SessionId(sid)),
+		valueof(ts_GSUP_IE_SessionState(state)),
 		valueof(ts_GSUP_IE_Cause(cause))
 	}
 );
 template GSUP_PDU tr_GSUP_PROC_SS_ERR(
 	template hexstring imsi,
 	template OCT4 sid := ?,
+	template GSUP_SessionState state := ?,
 	template integer cause := ?
 ) := tr_GSUP(
 	OSMO_GSUP_MSGT_PROC_SS_ERROR,
 	{
 		tr_GSUP_IE_IMSI(imsi),
 		tr_GSUP_IE_SessionId(sid),
+		tr_GSUP_IE_SessionState(state),
 		tr_GSUP_IE_Cause(cause)
 	}
 );

-- 
To view, visit https://gerrit.osmocom.org/11984
To unsubscribe, or for help writing mail filters, visit https://gerrit.osmocom.org/settings

Gerrit-Project: osmo-ttcn3-hacks
Gerrit-Branch: master
Gerrit-MessageType: merged
Gerrit-Change-Id: I44070396ce7119eab4608d9f9fb090bb223dfaa2
Gerrit-Change-Number: 11984
Gerrit-PatchSet: 3
Gerrit-Owner: Vadim Yanitskiy <axilirator at gmail.com>
Gerrit-Reviewer: Harald Welte <laforge at gnumonks.org>
Gerrit-Reviewer: Jenkins Builder (1000002)
Gerrit-Reviewer: Neels Hofmeyr <nhofmeyr at sysmocom.de>
Gerrit-Reviewer: Vadim Yanitskiy <axilirator at gmail.com>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.osmocom.org/pipermail/gerrit-log/attachments/20181130/017b28d6/attachment.htm>


More information about the gerrit-log mailing list