pcu: Test SNS where initial IP/port is not part of configured NS-VCs
As per section 6.2.1 of 3GPP TS 48.016, the initial IP/port where the
SNS SIZE/CONFIG procedures are being performed is not automatically part
of the later NS-VCs. This means we shall not perform the NS-ALIVE
procedure or any other procedure beyond SNS with that specific endpoint.
This adds a new TC_sns_1c1u_separate() to test for this behavior.
Change-Id: Ie2a017250ca1d5386e2cf42d1945e61d170ac92d
Related: OS#3844
diff --git a/pcu/PCU_Tests_RAW.ttcn b/pcu/PCU_Tests_RAW.ttcn
index 923b086..a30829e 100644
--- a/pcu/PCU_Tests_RAW.ttcn
+++ b/pcu/PCU_Tests_RAW.ttcn
@@ -124,6 +124,37 @@
}
}
+/* perform outbound NS-ALIVE procedure */
+function f_outgoing_ns_alive_no_ack(integer idx := 0, float tout := 10.0) runs on RAW_NS_CT {
+ timer T := tout;
+ NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], t_NS_ALIVE));
+ T.start;
+ alt {
+ [] NSCP[idx].receive(t_NS_RecvFrom(t_NS_ALIVE_ACK)) {
+ setverdict(fail, "Received unexpected NS-ALIVE ACK");
+ }
+ [] NSCP[idx].receive { repeat; }
+ [] T.timeout {
+ setverdict(pass);
+ }
+ }
+}
+
+/* ensure no matching message is received within 'tout' */
+function f_ensure_no_ns(template PDU_NS ns := ?, integer idx := 0, float tout := 3.0)
+runs on RAW_Test_CT {
+ timer T := tout;
+ T.start;
+ alt {
+ [] NSCP[idx].receive(t_NS_RecvFrom(ns)) {
+ setverdict(fail, "NS-ALIVE from unconfigured (possibly initial) endpoint");
+ }
+ [] T.timeout {
+ setverdict(pass);
+ }
+ }
+}
+
/* perform outbound NS-BLOCK procedure */
function f_outgoing_ns_block(NsCause cause, integer idx := 0) runs on RAW_NS_CT {
NSCP[idx].send(t_NS_Send(g_ns_conn_id[idx], ts_NS_BLOCK(cause, g_nsconfig[idx].nsvci)));