X-Git-Url: https://gerrit.o-ran-sc.org/r/gitweb?p=ric-plt%2Fresource-status-manager.git;a=blobdiff_plain;f=RSM%2F3rdparty%2Fasn1codec%2Fsrc%2Ftests%2Fresource_status_request_wrapper_test.c;fp=RSM%2F3rdparty%2Fasn1codec%2Fsrc%2Ftests%2Fresource_status_request_wrapper_test.c;h=acef349f8c78111df04571bb7517eb6f20c3de78;hp=e4a7fe5f732179956363ab8ac5030c9058480d31;hb=60652d98d51ee23c1eaca2e8bc2bf19c74c57658;hpb=b8d3ff3abf409da49ecab244cd6d2c2124dbce7c diff --git a/RSM/3rdparty/asn1codec/src/tests/resource_status_request_wrapper_test.c b/RSM/3rdparty/asn1codec/src/tests/resource_status_request_wrapper_test.c index e4a7fe5..acef349 100644 --- a/RSM/3rdparty/asn1codec/src/tests/resource_status_request_wrapper_test.c +++ b/RSM/3rdparty/asn1codec/src/tests/resource_status_request_wrapper_test.c @@ -28,12 +28,14 @@ #include void test_build_pack_resource_status_request(); + void test_build_pack_resource_status_request_stop(); void test_unpack(void); int main(int argc, char* argv[]) { test_build_pack_resource_status_request(); + test_build_pack_resource_status_request_stop(); exit(0); } @@ -52,12 +54,14 @@ or Third bits is set to 1, size_t packed_buf_size = 4096; unsigned char outBuf[packed_buf_size]; char errorBuf[error_buf_size]; - uint8_t pLMN_Identity[] = {0xa,0xb,0xc}; - uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0}; + const uint8_t pLMN_Identity[] = {0xa,0xb,0xc}; + const uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0}; + const uint8_t *pLMN_Identities[] = {pLMN_Identity}; + const uint8_t *eUTRANCellIdentifiers[] = {eUTRANCellIdentifier}; E2AP_PDU_t *pdu; bool result = build_pack_resource_status_request( - pLMN_Identity, eUTRANCellIdentifier, + pLMN_Identities, eUTRANCellIdentifiers, 1, 15 /*measurement_ID*/, 0 /*measurement_ID2*/, Registration_Request_start /*Registration_Request_start,Registration_Request_stop,Registration_Request_partial_stop, Registration_Request_add*/, 0xf0, @@ -86,3 +90,44 @@ or Third bits is set to 1, } +void test_build_pack_resource_status_request_stop(){ + size_t error_buf_size = 8192; + size_t packed_buf_size = 4096; + unsigned char outBuf[packed_buf_size]; + char errorBuf[error_buf_size]; + const uint8_t pLMN_Identity[] = {0xa,0xb,0xc}; + const uint8_t eUTRANCellIdentifier[] = {0xab, 0xcd, 0x70, 0}; + const uint8_t *pLMN_Identities[] = {pLMN_Identity}; + const uint8_t *eUTRANCellIdentifiers[] = {eUTRANCellIdentifier}; + E2AP_PDU_t *pdu; + + bool result = build_pack_resource_status_request( + pLMN_Identities, eUTRANCellIdentifiers, 1, + 15 /*measurement_ID*/, 2 /*measurement_ID2*/, + Registration_Request_stop /*Registration_Request_start,Registration_Request_stop,Registration_Request_partial_stop, Registration_Request_add*/, + 0, + ReportingPeriodicity_one_thousand_ms /*ReportingPeriodicity_one_thousand_ms, ReportingPeriodicity_two_thousand_ms, ReportingPeriodicity_five_thousand_ms,ReportingPeriodicity_ten_thousand_ms*/, + PartialSuccessIndicator_partial_success_allowed /*PartialSuccessIndicator_partial_success_allowed*/, + ReportingPeriodicityRSRPMR_one_hundred_20_ms /*ReportingPeriodicityRSRPMR_one_hundred_20_ms, ReportingPeriodicityRSRPMR_two_hundred_40_ms, ReportingPeriodicityRSRPMR_four_hundred_80_ms,ReportingPeriodicityRSRPMR_six_hundred_40_ms*/, + ReportingPeriodicityCSIR_ms5 /* ReportingPeriodicityCSIR_ms5, ReportingPeriodicityCSIR_ms10,ReportingPeriodicityCSIR_ms20,ReportingPeriodicityCSIR_ms40,ReportingPeriodicityCSIR_ms80*/, + &packed_buf_size, outBuf, error_buf_size, errorBuf); + + if (!result) { + printf("#%s failed. Packing error %s\n", __func__,errorBuf); + return; + } + printf("packed size:%lu\nPayload:\n", packed_buf_size); + for (size_t i = 0; i < packed_buf_size; ++i) + printf("%02x",outBuf[i]); + printf("\n"); + + pdu = calloc(1, sizeof(E2AP_PDU_t)); + if (!unpack_pdu_aux(pdu, packed_buf_size, outBuf,error_buf_size, errorBuf,ATS_ALIGNED_BASIC_PER)){ + printf("#%s failed. Unpacking error %s\n", __func__, errorBuf); + } + errorBuf[0] = 0; + asn1_pdu_printer(pdu, sizeof(errorBuf), errorBuf); + printf("#%s: %s\n", __func__, errorBuf); + + } +