stp: Add TC_clnt_no_notify_asp_act() for testing the no_notify quirk

Related: OS#5145
Change-Id: Id74972f2ca0b0101fb4666549ce14ba6fa472daf
diff --git a/stp/STP_Tests_M3UA.ttcn b/stp/STP_Tests_M3UA.ttcn
index 66a3f6f..1e55b36 100644
--- a/stp/STP_Tests_M3UA.ttcn
+++ b/stp/STP_Tests_M3UA.ttcn
@@ -72,6 +72,9 @@
 	};
 	integer mp_recovery_timeout_msec := 2000;
 	charstring mp_sccp_service_type := "mtp3_itu";
+
+	/* does the STP support the 'asp quirk' command? */
+	boolean mp_stp_has_asp_quirk := true;
 }
 
 type record M3uaConfig {
@@ -871,6 +874,26 @@
 	f_M3UA_exp(0, tr_M3UA_SCON({adv_pc}, rctx0));
 }
 
+private function f_quirk(charstring quirk) runs on RAW_M3UA_CT {
+	f_vty_config2(VTY, {"cs7 instance 0", "asp asp-client0 10002 2906 m3ua"}, "quirk " & quirk);
+}
+
+private function f_no_quirk(charstring quirk) runs on RAW_M3UA_CT {
+	f_vty_config2(VTY, {"cs7 instance 0", "asp asp-client0 10002 2906 m3ua"}, "no quirk " & quirk);
+}
+
+/* quirk 'no_notify': Expect inbound connection from ASP/SCTP-client, followed by ASP-UP + ASP-ACT */
+testcase TC_clnt_quirk_no_notify_asp_act() runs on RAW_M3UA_CT {
+	f_init_m3ua();
+	f_quirk("no_notify");
+	f_init_m3ua_srv();
+
+	f_M3UA_CLNT_asp_up_act(M3UA_SRV(0), rctx := int2oct(mp_m3ua_configs[M3UA_SRV(0)].routing_ctx, 4),
+			       ntfy_after_up := omit, ntfy_after_act := omit);
+	f_no_quirk("no_notify");
+	f_clear_m3ua();
+}
+
 
 control {
 	/* M3UA Tests */
@@ -904,6 +927,11 @@
 	execute( TC_clnt_sg_to_asp() );
 	execute( TC_clnt_asp_to_sg() );
 
+	/* remove the condition if osmo-stp > 1.4.0 is released */
+	if (mp_stp_has_asp_quirk) {
+		execute( TC_clnt_quirk_no_notify_asp_act() );
+	}
+
 	/* M3UA SSNM tests */
 	execute( TC_ssnm_aspac_dava_aspia_duna() );
 	execute( TC_ssnm_distribution_dava_duna() );