aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--stp/STP_Tests_IPA.ttcn40
1 files changed, 16 insertions, 24 deletions
diff --git a/stp/STP_Tests_IPA.ttcn b/stp/STP_Tests_IPA.ttcn
index 26abc801..10367ad0 100644
--- a/stp/STP_Tests_IPA.ttcn
+++ b/stp/STP_Tests_IPA.ttcn
@@ -56,6 +56,7 @@ type component IPA_CT extends Test_CT {
/* for IPA we use the IPA_Emulation and not directly IPA_CodecPort to avoid
* having to re-invent IPA CCM handling here */
port MTP3asp_PT IPA[NR_IPA];
+ port IPA_SP_PT IPA_CTRL[NR_IPA];
var IPA_Emulation_CT vc_IPA[NR_IPA];
var IPA_CCM_Parameters g_ccm_pars[NR_IPA];
}
@@ -103,12 +104,13 @@ friend function f_init_ipa() runs on IPA_CT {
vc_IPA[i] := IPA_Emulation_CT.create("IPA" & int2str(i));
map(vc_IPA[i]:IPA_PORT, system:IPA_CODEC_PT);
connect(self:IPA[i], vc_IPA[i]:MTP3_SP_PORT);
+ connect(self:IPA_CTRL[i], vc_IPA[i]:IPA_SP_PORT);
g_ccm_pars[i] := c_IPA_default_ccm_pars;
g_ccm_pars[i].name := mp_ipa_as_names[i];
}
}
-friend function f_connect_ipa(integer idx, boolean use_unknown_asp_port := false) runs on IPA_CT {
+friend function f_connect_ipa(integer idx, boolean use_unknown_asp_port := false, boolean exp_act := true) runs on IPA_CT {
var integer port_offset := 0;
if (use_unknown_asp_port) {
/* Add 100 to the port since we know that port is not configured in any
@@ -117,6 +119,12 @@ friend function f_connect_ipa(integer idx, boolean use_unknown_asp_port := false
}
vc_IPA[idx].start(IPA_Emulation.main_client(mp_stp_ipa_ip, mp_stp_ipa_port, mp_local_ipa_ip,
mp_local_ipa_port + idx + port_offset, g_ccm_pars[idx]));
+ IPA_CTRL[idx].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_UP));
+ alt {
+ [exp_act] IPA_CTRL[idx].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_ID_ACK));
+ [not exp_act] IPA_CTRL[idx].receive(tr_ASP_IPA_EV(ASP_IPA_EVENT_DOWN));
+ [] IPA_CTRL[idx].receive(tr_ASP_IPA_EV(?)) { repeat; }
+ }
}
@@ -126,16 +134,12 @@ testcase TC_unknown_client_nodynamic() runs on IPA_CT {
f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"},
"accept-asp-connections pre-configured");
f_init_ipa();
- f_connect_ipa(0, true);
- f_sleep(1.0);
- if (IPA[0].checkstate("Connected")) {
- setverdict(fail, "Expected IPA port to be disconnected");
- } else {
- setverdict(pass);
- }
+ f_connect_ipa(0, true, false);
+
/* switch back to default */
f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"},
"accept-asp-connections dynamic-permitted");
+ setverdict(pass);
}
/* "accept-asp-connections pre-configured" and client from known source */
@@ -145,15 +149,11 @@ testcase TC_known_client_nodynamic() runs on IPA_CT {
"accept-asp-connections pre-configured");
f_init_ipa();
f_connect_ipa(0, false);
- f_sleep(1.0);
- if (not IPA[0].checkstate("Connected")) {
- setverdict(fail, "Expected IPA port to be connected");
- } else {
- setverdict(pass);
- }
+
/* switch back to default */
f_vty_config2(VTY, {"cs7 instance 0", "listen ipa 5000"},
"accept-asp-connections dynamic-permitted");
+ setverdict(pass);
}
@@ -162,12 +162,7 @@ testcase TC_unknown_client_dynamic() runs on IPA_CT {
f_init_common();
f_init_ipa();
f_connect_ipa(0, true);
- f_sleep(1.0);
- if (not IPA[0].checkstate("Connected")) {
- setverdict(fail, "Expected IPA port to be connected");
- } else {
- setverdict(pass);
- }
+ setverdict(pass);
}
private function f_tc_tmt_override(boolean unknwon_dynamic_asp)
@@ -178,17 +173,16 @@ runs on IPA_CT {
f_connect_ipa(4, unknwon_dynamic_asp);
/* activate the first 'receiver' side ASP */
f_connect_ipa(5, unknwon_dynamic_asp);
- f_sleep(1.0);
/* verify traffic is routed from sender to [sole] receiver */
f_test_traffic(4, 5);
/* activate the second 'receiver' side ASP */
f_connect_ipa(6, unknwon_dynamic_asp);
- f_sleep(1.0);
/* verify traffic is routed from sender to new receiver */
f_test_traffic(4, 6);
+ setverdict(pass);
}
/* test "traffic-mode override" behavior */
@@ -218,7 +212,6 @@ runs on IPA_CT {
f_connect_ipa(0, unknwon_dynamic_asp);
/* activate the first 'receiver' side ASP */
f_connect_ipa(1, unknwon_dynamic_asp);
- f_sleep(1.0);
/* verify traffic is routed from sender to [sole] receiver */
for (i := 0; i < 10; i := i+1) {
@@ -227,7 +220,6 @@ runs on IPA_CT {
/* activate the second 'receiver' side ASP */
f_connect_ipa(2, unknwon_dynamic_asp);
- f_sleep(1.0);
/* verify traffic is routed from sender to new receiver */
const integer iter_per_asp := 5;