| module L1CTL_Test { |
| import from GSM_Types all; |
| import from Osmocom_Types all; |
| import from L1CTL_Types all; |
| import from L1CTL_PortType all; |
| |
| const octetstring c_ul_param_req := '1300000000000000001d0000'O; |
| const octetstring c_ul_data_req := '060a0128284018001d000103490615004001c0000000000000000000000000'O; |
| const octetstring c_ul_ccch_mode_req := '1000000002000000'O; |
| const octetstring c_ul_reset_req := '0d00000002000000'O; |
| const octetstring c_ul_dm_est_req := '050000002800000007000367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005'O; |
| const octetstring c_ul_rach_req := '040000000000000012010008'O; |
| |
| const octetstring c_dl_data_ind := '03000000900003670015f5613f3f00002d063f0328e36712ead000002b2b2b2b2b2b2b2b2b2b2b'O; |
| |
| type component dummy_CT { |
| var charstring l1ctl_sock_path := "/tmp/osmocom_l2"; |
| port L1CTL_PT L1CTL; |
| }; |
| |
| template L1ctlUlMessage t_L1ctlResetReq(template L1ctlResetType rst_type) := { |
| header := t_L1ctlHeader(L1CTL_RESET_REQ), |
| ul_info := omit, |
| payload := { |
| reset_req := { |
| reset_type := rst_type, |
| padding := '000000'O |
| } |
| } |
| }; |
| |
| //template UD_send_data |
| |
| function f_init() runs on dummy_CT { |
| map(self:L1CTL, system:L1CTL); |
| L1CTL.send(L1CTL_connect:{path:=l1ctl_sock_path}); |
| L1CTL.receive(L1CTL_connect_result:{result_code := SUCCESS, err:=omit}); |
| } |
| |
| testcase TC_si1() runs on dummy_CT { |
| log("L1CTL_PARAM_REQ: ", dec_L1ctlUlMessage(c_ul_param_req)); |
| log("L1CTL_DATA_REQ: ", dec_L1ctlUlMessage(c_ul_data_req)); |
| log("L1CTL_CCCH_MODE_REQ: ", dec_L1ctlUlMessage(c_ul_ccch_mode_req)); |
| log("L1CTL_RESET_REQ: ", dec_L1ctlUlMessage(c_ul_reset_req)); |
| log("L1CTL_DM_EST_REQ: ", dec_L1ctlUlMessage(c_ul_dm_est_req)); |
| log("L1CTL_RACH_REQ: ", dec_L1ctlUlMessage(c_ul_rach_req)); |
| log("L1CTL_DATA_IND: ", dec_L1ctlDlMessage(c_dl_data_ind)); |
| setverdict(pass); |
| } |
| |
| testcase TC_l1ctl() runs on dummy_CT { |
| f_init(); |
| L1CTL.send(t_L1ctlResetReq(L1CTL_RES_T_FULL)); |
| } |
| control { |
| execute(TC_si1()); |
| execute(TC_l1ctl()); |
| } |
| } |