aboutsummaryrefslogtreecommitdiffhomepage
path: root/test/core/iomgr
diff options
context:
space:
mode:
authorGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2016-03-15 18:56:45 +0100
committerGravatar Nicolas "Pixel" Noble <pixel@nobis-crew.org>2016-03-17 00:31:58 +0100
commit2b6feb8df0da5cf676d0e69212050a8b579133d1 (patch)
treee909afb0b6f3b4248bc11ea48b3953408051bf87 /test/core/iomgr
parent80da2ec697de3b5a5a6fc0669aa4429e51971563 (diff)
Preventing huge stacks in timer_heap_test.
Diffstat (limited to 'test/core/iomgr')
-rw-r--r--test/core/iomgr/timer_heap_test.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/test/core/iomgr/timer_heap_test.c b/test/core/iomgr/timer_heap_test.c
index cd34696f7d..dd23a99520 100644
--- a/test/core/iomgr/timer_heap_test.c
+++ b/test/core/iomgr/timer_heap_test.c
@@ -177,11 +177,12 @@ static void test2(void) {
grpc_timer_heap pq;
- elem_struct elems[1000];
+ static const size_t elems_size = 1000;
+ elem_struct *elems = gpr_malloc(elems_size * sizeof(elem_struct));
size_t num_inserted = 0;
grpc_timer_heap_init(&pq);
- memset(elems, 0, sizeof(elems));
+ memset(elems, 0, elems_size);
for (size_t round = 0; round < 10000; round++) {
int r = rand() % 1000;
@@ -209,7 +210,7 @@ static void test2(void) {
if (num_inserted > 0) {
grpc_timer *top = grpc_timer_heap_top(&pq);
grpc_timer_heap_pop(&pq);
- for (size_t i = 0; i < GPR_ARRAY_SIZE(elems); i++) {
+ for (size_t i = 0; i < elems_size; i++) {
if (top == &elems[i].elem) {
GPR_ASSERT(elems[i].inserted);
elems[i].inserted = false;
@@ -222,7 +223,7 @@ static void test2(void) {
if (num_inserted) {
gpr_timespec *min_deadline = NULL;
- for (size_t i = 0; i < GPR_ARRAY_SIZE(elems); i++) {
+ for (size_t i = 0; i < elems_size; i++) {
if (elems[i].inserted) {
if (min_deadline == NULL) {
min_deadline = &elems[i].elem.deadline;
@@ -239,6 +240,7 @@ static void test2(void) {
}
grpc_timer_heap_destroy(&pq);
+ gpr_free(elems);
}
static void shrink_test(void) {