Harald Welte | f654332 | 2017-07-16 07:35:10 +0200 | [diff] [blame] | 1 | module L1CTL_Test { |
| 2 | import from GSM_Types all; |
| 3 | import from Osmocom_Types all; |
| 4 | import from L1CTL_Types all; |
Harald Welte | 52c713c | 2017-07-16 15:44:44 +0200 | [diff] [blame] | 5 | import from L1CTL_PortType all; |
Harald Welte | f654332 | 2017-07-16 07:35:10 +0200 | [diff] [blame] | 6 | |
| 7 | const octetstring c_ul_param_req := '1300000000000000001d0000'O; |
| 8 | const octetstring c_ul_data_req := '060a0128284018001d000103490615004001c0000000000000000000000000'O; |
| 9 | const octetstring c_ul_ccch_mode_req := '1000000002000000'O; |
| 10 | const octetstring c_ul_reset_req := '0d00000002000000'O; |
| 11 | const octetstring c_ul_dm_est_req := '050000002800000007000367000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005'O; |
| 12 | const octetstring c_ul_rach_req := '040000000000000012010008'O; |
| 13 | |
| 14 | const octetstring c_dl_data_ind := '03000000900003670015f5613f3f00002d063f0328e36712ead000002b2b2b2b2b2b2b2b2b2b2b'O; |
| 15 | |
| 16 | type component dummy_CT { |
Harald Welte | 52c713c | 2017-07-16 15:44:44 +0200 | [diff] [blame] | 17 | var charstring l1ctl_sock_path := "/tmp/osmocom_l2"; |
| 18 | port L1CTL_PT L1CTL; |
Harald Welte | f654332 | 2017-07-16 07:35:10 +0200 | [diff] [blame] | 19 | }; |
| 20 | |
Harald Welte | 52c713c | 2017-07-16 15:44:44 +0200 | [diff] [blame] | 21 | template L1ctlUlMessage t_L1ctlResetReq(template L1ctlResetType rst_type) := { |
| 22 | header := t_L1ctlHeader(L1CTL_RESET_REQ), |
| 23 | ul_info := omit, |
| 24 | payload := { |
| 25 | reset_req := { |
| 26 | reset_type := rst_type, |
| 27 | padding := '000000'O |
| 28 | } |
| 29 | } |
| 30 | }; |
| 31 | |
| 32 | //template UD_send_data |
| 33 | |
| 34 | function f_init() runs on dummy_CT { |
| 35 | map(self:L1CTL, system:L1CTL); |
| 36 | L1CTL.send(L1CTL_connect:{path:=l1ctl_sock_path}); |
| 37 | L1CTL.receive(L1CTL_connect_result:{result_code := SUCCESS, err:=omit}); |
| 38 | } |
| 39 | |
Harald Welte | f654332 | 2017-07-16 07:35:10 +0200 | [diff] [blame] | 40 | testcase TC_si1() runs on dummy_CT { |
| 41 | log("L1CTL_PARAM_REQ: ", dec_L1ctlUlMessage(c_ul_param_req)); |
| 42 | log("L1CTL_DATA_REQ: ", dec_L1ctlUlMessage(c_ul_data_req)); |
| 43 | log("L1CTL_CCCH_MODE_REQ: ", dec_L1ctlUlMessage(c_ul_ccch_mode_req)); |
| 44 | log("L1CTL_RESET_REQ: ", dec_L1ctlUlMessage(c_ul_reset_req)); |
| 45 | log("L1CTL_DM_EST_REQ: ", dec_L1ctlUlMessage(c_ul_dm_est_req)); |
| 46 | log("L1CTL_RACH_REQ: ", dec_L1ctlUlMessage(c_ul_rach_req)); |
| 47 | log("L1CTL_DATA_IND: ", dec_L1ctlDlMessage(c_dl_data_ind)); |
| 48 | setverdict(pass); |
| 49 | } |
Harald Welte | 52c713c | 2017-07-16 15:44:44 +0200 | [diff] [blame] | 50 | |
| 51 | testcase TC_l1ctl() runs on dummy_CT { |
| 52 | f_init(); |
| 53 | L1CTL.send(t_L1ctlResetReq(L1CTL_RES_T_FULL)); |
| 54 | } |
Harald Welte | f654332 | 2017-07-16 07:35:10 +0200 | [diff] [blame] | 55 | control { |
| 56 | execute(TC_si1()); |
Harald Welte | 52c713c | 2017-07-16 15:44:44 +0200 | [diff] [blame] | 57 | execute(TC_l1ctl()); |
Harald Welte | f654332 | 2017-07-16 07:35:10 +0200 | [diff] [blame] | 58 | } |
| 59 | } |