Merge remote-tracking branch 'origin/fix-test-asan-errors' into integration_2024_w26b
This commit is contained in:
@@ -37,4 +37,4 @@ WORKDIR /oai-ran
|
|||||||
COPY . .
|
COPY . .
|
||||||
|
|
||||||
WORKDIR /oai-ran/build
|
WORKDIR /oai-ran/build
|
||||||
RUN cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug .. && ninja tests
|
RUN cmake -GNinja -DENABLE_TESTS=ON -DCMAKE_BUILD_TYPE=Debug -DSANITIZE_ADDRESS=True .. && ninja tests
|
||||||
|
|||||||
@@ -46,7 +46,7 @@ void displayList(notifiedFIFO_t *nf)
|
|||||||
struct testData {
|
struct testData {
|
||||||
int id;
|
int id;
|
||||||
int sleepTime;
|
int sleepTime;
|
||||||
char txt[30];
|
char txt[50];
|
||||||
};
|
};
|
||||||
|
|
||||||
void processing(void *arg)
|
void processing(void *arg)
|
||||||
@@ -64,21 +64,27 @@ int main()
|
|||||||
logInit();
|
logInit();
|
||||||
notifiedFIFO_t myFifo;
|
notifiedFIFO_t myFifo;
|
||||||
initNotifiedFIFO(&myFifo);
|
initNotifiedFIFO(&myFifo);
|
||||||
|
int num_elements_on_queue = 0;
|
||||||
pushNotifiedFIFO(&myFifo, newNotifiedFIFO_elt(sizeof(struct testData), 1234, NULL, NULL));
|
pushNotifiedFIFO(&myFifo, newNotifiedFIFO_elt(sizeof(struct testData), 1234, NULL, NULL));
|
||||||
|
num_elements_on_queue++;
|
||||||
|
|
||||||
for (int i = 10; i > 1; i--) {
|
for (int i = 10; i > 1; i--) {
|
||||||
pushNotifiedFIFO(&myFifo, newNotifiedFIFO_elt(sizeof(struct testData), 1000 + i, NULL, NULL));
|
pushNotifiedFIFO(&myFifo, newNotifiedFIFO_elt(sizeof(struct testData), 1000 + i, NULL, NULL));
|
||||||
|
num_elements_on_queue++;
|
||||||
}
|
}
|
||||||
|
|
||||||
displayList(&myFifo);
|
displayList(&myFifo);
|
||||||
notifiedFIFO_elt_t *tmp = pullNotifiedFIFO(&myFifo);
|
notifiedFIFO_elt_t *tmp = pullNotifiedFIFO(&myFifo);
|
||||||
printf("pulled: %lu\n", tmp->key);
|
printf("pulled: %lu\n", tmp->key);
|
||||||
displayList(&myFifo);
|
displayList(&myFifo);
|
||||||
|
delNotifiedFIFO_elt(tmp);
|
||||||
tmp = pullNotifiedFIFO(&myFifo);
|
tmp = pullNotifiedFIFO(&myFifo);
|
||||||
|
num_elements_on_queue--;
|
||||||
printf("pulled: %lu\n", tmp->key);
|
printf("pulled: %lu\n", tmp->key);
|
||||||
displayList(&myFifo);
|
displayList(&myFifo);
|
||||||
pushNotifiedFIFO(&myFifo, newNotifiedFIFO_elt(sizeof(struct testData), 12345678, NULL, NULL));
|
pushNotifiedFIFO(&myFifo, newNotifiedFIFO_elt(sizeof(struct testData), 12345678, NULL, NULL));
|
||||||
displayList(&myFifo);
|
displayList(&myFifo);
|
||||||
|
delNotifiedFIFO_elt(tmp);
|
||||||
|
|
||||||
do {
|
do {
|
||||||
tmp = pollNotifiedFIFO(&myFifo);
|
tmp = pollNotifiedFIFO(&myFifo);
|
||||||
@@ -86,9 +92,12 @@ int main()
|
|||||||
if (tmp) {
|
if (tmp) {
|
||||||
printf("pulled: %lu\n", tmp->key);
|
printf("pulled: %lu\n", tmp->key);
|
||||||
displayList(&myFifo);
|
displayList(&myFifo);
|
||||||
|
delNotifiedFIFO_elt(tmp);
|
||||||
|
num_elements_on_queue--;
|
||||||
} else
|
} else
|
||||||
printf("Empty list \n");
|
printf("Empty list \n");
|
||||||
} while (tmp);
|
} while (num_elements_on_queue > 0);
|
||||||
|
AssertFatal(pollNotifiedFIFO(&myFifo) == NULL, "Unexpected extra element on queue\n");
|
||||||
|
|
||||||
tpool_t pool;
|
tpool_t pool;
|
||||||
char params[] = "1,2,3,4,5";
|
char params[] = "1,2,3,4,5";
|
||||||
@@ -129,5 +138,6 @@ int main()
|
|||||||
dur / 1000,
|
dur / 1000,
|
||||||
cumulProcessTime / 1000,
|
cumulProcessTime / 1000,
|
||||||
(dur - cumulProcessTime) / (1000 * nb_jobs));
|
(dur - cumulProcessTime) / (1000 * nb_jobs));
|
||||||
|
abortTpool(&pool);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -336,7 +336,9 @@ static inline int abortTpool(tpool_t *t) {
|
|||||||
thread = t->allthreads;
|
thread = t->allthreads;
|
||||||
while (thread != NULL) {
|
while (thread != NULL) {
|
||||||
pthread_cancel(thread->threadID);
|
pthread_cancel(thread->threadID);
|
||||||
thread = thread->next;
|
struct one_thread *next = thread->next;
|
||||||
|
free(thread);
|
||||||
|
thread = next;
|
||||||
}
|
}
|
||||||
|
|
||||||
return nbRemoved;
|
return nbRemoved;
|
||||||
|
|||||||
@@ -110,11 +110,8 @@ nr_rlc_entity_t *new_nr_rlc_entity_am(
|
|||||||
ret->max_retx_threshold = max_retx_threshold;
|
ret->max_retx_threshold = max_retx_threshold;
|
||||||
ret->sn_field_length = sn_field_length;
|
ret->sn_field_length = sn_field_length;
|
||||||
|
|
||||||
if (!(sn_field_length == 12 || sn_field_length == 18)) {
|
AssertFatal(sn_field_length == 12 || sn_field_length == 18, "Wrong SN field_length (%d), must be 12 or 18\n", sn_field_length);
|
||||||
LOG_E(RLC, "%s:%d:%s: wrong SN field_lenght (%d), must be 12 or 18\n",
|
|
||||||
__FILE__, __LINE__, __FUNCTION__, sn_field_length);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
ret->sn_modulus = 1 << ret->sn_field_length;
|
ret->sn_modulus = 1 << ret->sn_field_length;
|
||||||
ret->window_size = ret->sn_modulus / 2;
|
ret->window_size = ret->sn_modulus / 2;
|
||||||
|
|
||||||
@@ -172,11 +169,8 @@ nr_rlc_entity_t *new_nr_rlc_entity_um(
|
|||||||
ret->t_reassembly = t_reassembly;
|
ret->t_reassembly = t_reassembly;
|
||||||
ret->sn_field_length = sn_field_length;
|
ret->sn_field_length = sn_field_length;
|
||||||
|
|
||||||
if (!(sn_field_length == 6 || sn_field_length == 12)) {
|
AssertFatal(sn_field_length == 6 || sn_field_length == 12, "Wrong SN field_length (%d), must be 6 or 12\n", sn_field_length);
|
||||||
LOG_E(RLC, "%s:%d:%s: wrong SN field_lenght (%d), must be 6 or 12\n",
|
|
||||||
__FILE__, __LINE__, __FUNCTION__, sn_field_length);
|
|
||||||
exit(1);
|
|
||||||
}
|
|
||||||
ret->sn_modulus = 1 << ret->sn_field_length;
|
ret->sn_modulus = 1 << ret->sn_field_length;
|
||||||
ret->window_size = ret->sn_modulus / 2;
|
ret->window_size = ret->sn_modulus / 2;
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user