mirror of https://github.com/PentHertz/srsLTE.git
Adding PDCP LTE SRB1 test. Test failing for now.
This commit is contained in:
parent
284a0f7b4e
commit
dbb5c6c06c
|
@ -100,15 +100,35 @@ private:
|
|||
class rrc_dummy : public srsue::rrc_interface_pdcp
|
||||
{
|
||||
public:
|
||||
rrc_dummy(srslte::log* log_) {}
|
||||
rrc_dummy(srslte::log* log_) { log = log_; }
|
||||
|
||||
void write_pdu(uint32_t lcid, srslte::unique_byte_buffer_t pdu) {}
|
||||
void write_pdu_bcch_bch(srslte::unique_byte_buffer_t pdu) {}
|
||||
void write_pdu_bcch_dlsch(srslte::unique_byte_buffer_t pdu) {}
|
||||
void write_pdu_pcch(srslte::unique_byte_buffer_t pdu) {}
|
||||
void write_pdu_mch(uint32_t lcid, srslte::unique_byte_buffer_t pdu) {}
|
||||
|
||||
std::string get_rb_name(uint32_t lcid) { return "None"; }
|
||||
|
||||
srslte::log* log;
|
||||
|
||||
// Members for testing
|
||||
uint32_t rx_count = 0;
|
||||
srslte::unique_byte_buffer_t last_pdu;
|
||||
|
||||
// Methods for testing
|
||||
void get_last_pdu(const srslte::unique_byte_buffer_t& pdu)
|
||||
{
|
||||
memcpy(pdu->msg, last_pdu->msg, last_pdu->N_bytes);
|
||||
pdu->N_bytes = last_pdu->N_bytes;
|
||||
return;
|
||||
}
|
||||
|
||||
void write_pdu(uint32_t lcid, srslte::unique_byte_buffer_t pdu)
|
||||
{
|
||||
log->info_hex(pdu->msg, pdu->N_bytes, "RRC PDU");
|
||||
rx_count++;
|
||||
last_pdu.swap(pdu);
|
||||
}
|
||||
};
|
||||
|
||||
class gw_dummy : public srsue::gw_interface_pdcp
|
||||
|
|
|
@ -55,7 +55,7 @@ pdcp_security_cfg sec_cfg = {
|
|||
k_int,
|
||||
k_enc,
|
||||
srslte::INTEGRITY_ALGORITHM_ID_128_EIA2,
|
||||
srslte::CIPHERING_ALGORITHM_ID_128_EEA2,
|
||||
srslte::CIPHERING_ALGORITHM_ID_EEA0,
|
||||
};
|
||||
|
||||
// Test SDUs for tx
|
||||
|
|
|
@ -46,6 +46,7 @@ int test_rx(std::vector<pdcp_test_event_t> events,
|
|||
pdcp_lte_test_helper pdcp_hlp_rx(cfg_rx, sec_cfg, log);
|
||||
srslte::pdcp_entity_lte* pdcp_rx = &pdcp_hlp_rx.pdcp;
|
||||
gw_dummy* gw_rx = &pdcp_hlp_rx.gw;
|
||||
rrc_dummy* rrc_rx = &pdcp_hlp_rx.rrc;
|
||||
srslte::timer_handler* timers_rx = &pdcp_hlp_rx.timers;
|
||||
pdcp_hlp_rx.set_pdcp_initial_state(init_state);
|
||||
|
||||
|
@ -59,11 +60,23 @@ int test_rx(std::vector<pdcp_test_event_t> events,
|
|||
}
|
||||
}
|
||||
|
||||
log->debug("%d", gw_rx->rx_count);
|
||||
log->debug("%d", rrc_rx->rx_count);
|
||||
// Test if the number of RX packets
|
||||
TESTASSERT(gw_rx->rx_count == n_sdus_exp);
|
||||
srslte::unique_byte_buffer_t sdu_act = allocate_unique_buffer(*pool);
|
||||
gw_rx->get_last_pdu(sdu_act);
|
||||
TESTASSERT(compare_two_packets(sdu_exp, sdu_act) == 0);
|
||||
if (rb_type == srslte::PDCP_RB_IS_DRB) {
|
||||
TESTASSERT(gw_rx->rx_count == n_sdus_exp);
|
||||
srslte::unique_byte_buffer_t sdu_act = allocate_unique_buffer(*pool);
|
||||
gw_rx->get_last_pdu(sdu_act);
|
||||
TESTASSERT(compare_two_packets(sdu_exp, sdu_act) == 0);
|
||||
} else {
|
||||
log->debug("%d", rrc_rx->rx_count);
|
||||
TESTASSERT(rrc_rx->rx_count == n_sdus_exp);
|
||||
srslte::unique_byte_buffer_t sdu_act = allocate_unique_buffer(*pool);
|
||||
rrc_rx->get_last_pdu(sdu_act);
|
||||
log->debug("%d", sdu_act->N_bytes);
|
||||
log->debug("%d", sdu_exp->N_bytes);
|
||||
TESTASSERT(compare_two_packets(sdu_exp, sdu_act) == 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue