Commit f6557ca6 authored by David Gibson's avatar David Gibson

coroutine: Remove on-stack buffers from testcases

In preparation for enabling valgrind tests, remove instances where we
allocate a coroutine's stack from a buffer itself on the stack.  Not all
that surprisingly, valgrind gets very, very confused by having one
"thread"'s stack embedded within another's.
Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
parent d24c5a01
......@@ -30,9 +30,10 @@ static void test_trivial(struct coroutine_stack *stack)
}
static char buf[COROUTINE_MIN_STKSZ + COROUTINE_STK_OVERHEAD];
int main(void)
{
char buf[COROUTINE_MIN_STKSZ + COROUTINE_STK_OVERHEAD];
struct coroutine_stack *stack;
/* This is how many tests you plan to run */
......
......@@ -64,16 +64,19 @@ static void test_metadata(struct coroutine_stack *stack)
int main(void)
{
char buf[BUFSIZE];
char *buf;
struct coroutine_stack *stack;
/* This is how many tests you plan to run */
plan_tests(9);
plan_tests(10);
/* Fix seed so we get consistent, though pseudo-random results */
srandom(0);
stack = coroutine_stack_init(buf, sizeof(buf), sizeof(struct metadata));
buf = malloc(BUFSIZE);
ok1(buf != NULL);
stack = coroutine_stack_init(buf, BUFSIZE, sizeof(struct metadata));
ok1(stack != NULL);
ok1(coroutine_stack_check(stack, NULL) == stack);
ok1(coroutine_stack_size(stack)
......@@ -83,6 +86,8 @@ int main(void)
coroutine_stack_release(stack, sizeof(struct metadata));
free(buf);
/* This exits depending on whether all tests passed */
return exit_status();
}
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment