[MERGED] osmo-ttcn3-hacks[master]: bts: Add f_shutdown() for clean shutdown; use it from tests
Harald Welte has submitted this change and it was merged. Change subject: bts: Add f_shutdown() for clean shutdown; use it from tests .. bts: Add f_shutdown() for clean shutdown; use it from tests Change-Id: I225d2363c77dce969bda95ff27506bece586a34a --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 4 deletions(-) Approvals: Harald Welte: Looks good to me, approved Jenkins Builder: Verified diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8d789bd..a345d75 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -280,6 +280,12 @@ } } +function f_shutdown() runs on test_CT { + /* shut down all "externally interfaced" components first to avoid unclean shutdown */ + vc_IPA.stop; + vc_RSL.stop; +} + /* Attach L1CTL to master test_CT (classic tests, non-handler mode) */ function f_init_l1ctl() runs on test_CT { map(self:L1CTL, system:L1CTL); @@ -442,6 +448,7 @@ f_init(testcasename()); vc_conn := f_start_handler(refers(f_TC_chan_act_stress), pars); vc_conn.done; + f_shutdown(); } /* Test if re-activation of an already active channel fails as expected */ @@ -462,9 +469,10 @@ testcase TC_chan_act_react() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); vc_conn := f_start_handler(refers(f_TC_chan_act_react), pars); vc_conn.done; + f_shutdown(); } /* Attempt to de-activate a channel that's not active */ @@ -483,9 +491,10 @@ } testcase TC_chan_deact_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_chan_deact_not_active), pars); vc_conn.done; + f_shutdown(); } /* attempt to activate channel with wrong RSL Channel Nr IE; expect NACK */ @@ -514,7 +523,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); var WrongChanNrCases wrong := { valueof(t_WCN(t_RslChanNr_RACH(0), "RACH is not a dedicated channel")), @@ -537,6 +546,7 @@ vc_conn := f_start_handler(refers(f_TC_chan_act_wrong_nr), pars); vc_conn.done; } + f_shutdown(); } /*** @@ -603,12 +613,14 @@ } } setverdict(pass); + f_shutdown(); } /* Send 1000 RACH Requests (flood ~ 89/s) and count if count(Abis) == count(Um) */ testcase TC_rach_count() runs on test_CT { - f_init(testcasename()); + f_init(); f_init_l1ctl(); + f_sleep(1.0); f_l1_tune(L1CTL); var GsmFrameNumber fn_last := 0; @@ -638,6 +650,7 @@ } else { setverdict(fail, "Received only ", rsl_chrqd, " out of 1000 RACH"); } + f_shutdown(); } private function f_main_trxc_connect() runs on test_CT { @@ -700,6 +713,7 @@ /* more than 63 bits is not legal / permitted */ f_rach_toffs(64*256, false); f_rach_toffs(127*256, false); + f_shutdown(); } /*** @@ -968,6 +982,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_tchh() runs on test_CT { var ConnHdlr vc_conn; @@ -978,6 +993,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_sdcch4() runs on test_CT { var ConnHdlr vc_conn; @@ -988,6 +1004,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_sdcch8() runs on test_CT { var ConnHdlr vc_conn; @@ -998,6 +1015,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_tchh_toa256() runs on test_CT { var ConnHdlr vc_conn; @@ -1010,6 +1028,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } @@ -1205,6 +1224,8 @@ [] as_rsl_res_ind(); } + f_shutdown(); + log("num_paging_sent=", st.num_paging_sent, " rcvd_msgs=", st.num_paging_rcv_msgs, " rcvd_ids=", st.num_paging_rcv_ids); return st; @@ -1317,6 +1338,7 @@ /* FIXME: check if imm.ass arrive on Um side */ /*
osmo-ttcn3-hacks[master]: bts: Add f_shutdown() for clean shutdown; use it from tests
Patch Set 3: Code-Review+2 -- To view, visit https://gerrit.osmocom.org/7248 To unsubscribe, visit https://gerrit.osmocom.org/settings Gerrit-MessageType: comment Gerrit-Change-Id: I225d2363c77dce969bda95ff27506bece586a34a Gerrit-PatchSet: 3 Gerrit-Project: osmo-ttcn3-hacks Gerrit-Branch: master Gerrit-Owner: Harald WelteGerrit-Reviewer: Harald Welte Gerrit-Reviewer: Jenkins Builder Gerrit-HasComments: No
[PATCH] osmo-ttcn3-hacks[master]: bts: Add f_shutdown() for clean shutdown; use it from tests
Review at https://gerrit.osmocom.org/7248 bts: Add f_shutdown() for clean shutdown; use it from tests Change-Id: I225d2363c77dce969bda95ff27506bece586a34a --- M bts/BTS_Tests.ttcn 1 file changed, 35 insertions(+), 4 deletions(-) git pull ssh://gerrit.osmocom.org:29418/osmo-ttcn3-hacks refs/changes/48/7248/1 diff --git a/bts/BTS_Tests.ttcn b/bts/BTS_Tests.ttcn index 8d789bd..a345d75 100644 --- a/bts/BTS_Tests.ttcn +++ b/bts/BTS_Tests.ttcn @@ -280,6 +280,12 @@ } } +function f_shutdown() runs on test_CT { + /* shut down all "externally interfaced" components first to avoid unclean shutdown */ + vc_IPA.stop; + vc_RSL.stop; +} + /* Attach L1CTL to master test_CT (classic tests, non-handler mode) */ function f_init_l1ctl() runs on test_CT { map(self:L1CTL, system:L1CTL); @@ -442,6 +448,7 @@ f_init(testcasename()); vc_conn := f_start_handler(refers(f_TC_chan_act_stress), pars); vc_conn.done; + f_shutdown(); } /* Test if re-activation of an already active channel fails as expected */ @@ -462,9 +469,10 @@ testcase TC_chan_act_react() runs on test_CT { var ConnHdlr vc_conn; var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); vc_conn := f_start_handler(refers(f_TC_chan_act_react), pars); vc_conn.done; + f_shutdown(); } /* Attempt to de-activate a channel that's not active */ @@ -483,9 +491,10 @@ } testcase TC_chan_deact_not_active() runs on test_CT { var ConnHdlrPars pars := valueof(t_Pars(t_RslChanNr_Bm(1), ts_RSL_ChanMode_SIGN)); - f_init(testcasename()); + f_init(); var ConnHdlr vc_conn := f_start_handler(refers(f_TC_chan_deact_not_active), pars); vc_conn.done; + f_shutdown(); } /* attempt to activate channel with wrong RSL Channel Nr IE; expect NACK */ @@ -514,7 +523,7 @@ var ConnHdlr vc_conn; var ConnHdlrPars pars; - f_init(testcasename()); + f_init(); var WrongChanNrCases wrong := { valueof(t_WCN(t_RslChanNr_RACH(0), "RACH is not a dedicated channel")), @@ -537,6 +546,7 @@ vc_conn := f_start_handler(refers(f_TC_chan_act_wrong_nr), pars); vc_conn.done; } + f_shutdown(); } /*** @@ -603,12 +613,14 @@ } } setverdict(pass); + f_shutdown(); } /* Send 1000 RACH Requests (flood ~ 89/s) and count if count(Abis) == count(Um) */ testcase TC_rach_count() runs on test_CT { - f_init(testcasename()); + f_init(); f_init_l1ctl(); + f_sleep(1.0); f_l1_tune(L1CTL); var GsmFrameNumber fn_last := 0; @@ -638,6 +650,7 @@ } else { setverdict(fail, "Received only ", rsl_chrqd, " out of 1000 RACH"); } + f_shutdown(); } private function f_main_trxc_connect() runs on test_CT { @@ -700,6 +713,7 @@ /* more than 63 bits is not legal / permitted */ f_rach_toffs(64*256, false); f_rach_toffs(127*256, false); + f_shutdown(); } /*** @@ -968,6 +982,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_tchh() runs on test_CT { var ConnHdlr vc_conn; @@ -978,6 +993,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_sdcch4() runs on test_CT { var ConnHdlr vc_conn; @@ -988,6 +1004,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_sdcch8() runs on test_CT { var ConnHdlr vc_conn; @@ -998,6 +1015,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } testcase TC_meas_res_sign_tchh_toa256() runs on test_CT { var ConnHdlr vc_conn; @@ -1010,6 +1028,7 @@ vc_conn := f_start_handler(refers(f_TC_meas_res_periodic), pars); vc_conn.done; } + f_shutdown(); } @@ -1205,6 +1224,8 @@ [] as_rsl_res_ind(); } + f_shutdown(); + log("num_paging_sent=", st.num_paging_sent, " rcvd_msgs=", st.num_paging_rcv_msgs, " rcvd_ids=", st.num_paging_rcv_ids); return st; @@ -1317,6 +1338,7 @@ /* FIXME: check if imm.ass arrive on Um side */ /* FIXME: check for DELETE INDICATION */ f_sleep(100.0); + f_shutdown(); } /*** @@