mirror of
https://github.com/git/git.git
synced 2024-05-12 15:16:09 +02:00
Merge branch 'rs/t-prio-queue-fixes'
Test clean-up. * rs/t-prio-queue-fixes: t-prio-queue: check result array bounds t-prio-queue: shorten array index message
This commit is contained in:
commit
8e2422320c
|
@ -19,11 +19,13 @@ static int show(int *v)
|
||||||
return v ? *v : MISSING;
|
return v ? *v : MISSING;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void test_prio_queue(int *input, int *result, size_t input_size)
|
static void test_prio_queue(int *input, size_t input_size,
|
||||||
|
int *result, size_t result_size)
|
||||||
{
|
{
|
||||||
struct prio_queue pq = { intcmp };
|
struct prio_queue pq = { intcmp };
|
||||||
|
int j = 0;
|
||||||
|
|
||||||
for (int i = 0, j = 0; i < input_size; i++) {
|
for (int i = 0; i < input_size; i++) {
|
||||||
void *peek, *get;
|
void *peek, *get;
|
||||||
switch(input[i]) {
|
switch(input[i]) {
|
||||||
case GET:
|
case GET:
|
||||||
|
@ -31,16 +33,22 @@ static void test_prio_queue(int *input, int *result, size_t input_size)
|
||||||
get = prio_queue_get(&pq);
|
get = prio_queue_get(&pq);
|
||||||
if (!check(peek == get))
|
if (!check(peek == get))
|
||||||
return;
|
return;
|
||||||
if(!check_int(result[j++], ==, show(get)))
|
if (!check_uint(j, <, result_size))
|
||||||
test_msg("failed at result[] index %d", j-1);
|
break;
|
||||||
|
if (!check_int(result[j], ==, show(get)))
|
||||||
|
test_msg(" j: %d", j);
|
||||||
|
j++;
|
||||||
break;
|
break;
|
||||||
case DUMP:
|
case DUMP:
|
||||||
while ((peek = prio_queue_peek(&pq))) {
|
while ((peek = prio_queue_peek(&pq))) {
|
||||||
get = prio_queue_get(&pq);
|
get = prio_queue_get(&pq);
|
||||||
if (!check(peek == get))
|
if (!check(peek == get))
|
||||||
return;
|
return;
|
||||||
if(!check_int(result[j++], ==, show(get)))
|
if (!check_uint(j, <, result_size))
|
||||||
test_msg("failed at result[] index %d", j-1);
|
break;
|
||||||
|
if (!check_int(result[j], ==, show(get)))
|
||||||
|
test_msg(" j: %d", j);
|
||||||
|
j++;
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case STACK:
|
case STACK:
|
||||||
|
@ -54,6 +62,7 @@ static void test_prio_queue(int *input, int *result, size_t input_size)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
check_uint(j, ==, result_size);
|
||||||
clear_prio_queue(&pq);
|
clear_prio_queue(&pq);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -77,7 +86,8 @@ static void test_prio_queue(int *input, int *result, size_t input_size)
|
||||||
{ \
|
{ \
|
||||||
int input[] = {INPUT}; \
|
int input[] = {INPUT}; \
|
||||||
int result[] = {RESULT}; \
|
int result[] = {RESULT}; \
|
||||||
test_prio_queue(input, result, ARRAY_SIZE(input)); \
|
test_prio_queue(input, ARRAY_SIZE(input), \
|
||||||
|
result, ARRAY_SIZE(result)); \
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST_INPUT(BASIC_INPUT, BASIC_RESULT, basic)
|
TEST_INPUT(BASIC_INPUT, BASIC_RESULT, basic)
|
||||||
|
|
Loading…
Reference in New Issue