(do_one_test): Compare effect of call, not only return value.
Add a few cassts to avoid warnings.
This commit is contained in:
parent
95029045a3
commit
c158fc76d9
@ -1,5 +1,5 @@
|
|||||||
/* Test and measure memset functions.
|
/* Test and measure memset functions.
|
||||||
Copyright (C) 1999, 2002, 2003 Free Software Foundation, Inc.
|
Copyright (C) 1999, 2002, 2003, 2005 Free Software Foundation, Inc.
|
||||||
This file is part of the GNU C Library.
|
This file is part of the GNU C Library.
|
||||||
Written by Jakub Jelinek <jakub@redhat.com>, 1999.
|
Written by Jakub Jelinek <jakub@redhat.com>, 1999.
|
||||||
|
|
||||||
@ -49,10 +49,12 @@ static void
|
|||||||
do_one_test (impl_t *impl, char *s, int c, size_t n)
|
do_one_test (impl_t *impl, char *s, int c, size_t n)
|
||||||
{
|
{
|
||||||
char *res = CALL (impl, s, c, n);
|
char *res = CALL (impl, s, c, n);
|
||||||
if (res != s)
|
char tstbuf[n];
|
||||||
|
if (res != s
|
||||||
|
|| simple_memset (tstbuf, c, n) != tstbuf
|
||||||
|
|| memcmp (s, tstbuf, n) != 0)
|
||||||
{
|
{
|
||||||
error (0, 0, "Wrong result in function %s %p != %p", impl->name,
|
error (0, 0, "Wrong result in function %s", impl->name);
|
||||||
res, s);
|
|
||||||
ret = 1;
|
ret = 1;
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
@ -87,7 +89,7 @@ do_test (size_t align, int c, size_t len)
|
|||||||
printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);
|
printf ("Length %4zd, alignment %2zd, c %2d:", len, align, c);
|
||||||
|
|
||||||
FOR_EACH_IMPL (impl, 0)
|
FOR_EACH_IMPL (impl, 0)
|
||||||
do_one_test (impl, buf1 + align, c, len);
|
do_one_test (impl, (char *) buf1 + align, c, len);
|
||||||
|
|
||||||
if (HP_TIMING_AVAIL)
|
if (HP_TIMING_AVAIL)
|
||||||
putchar ('\n');
|
putchar ('\n');
|
||||||
@ -143,7 +145,7 @@ do_random_tests (void)
|
|||||||
if (p[i + align] == c)
|
if (p[i + align] == c)
|
||||||
p[i + align] = o;
|
p[i + align] = o;
|
||||||
}
|
}
|
||||||
res = CALL (impl, p + align, c, len);
|
res = (unsigned char *) CALL (impl, (char *) p + align, c, len);
|
||||||
if (res != p + align)
|
if (res != p + align)
|
||||||
{
|
{
|
||||||
error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %d, %zd) %p != %p",
|
error (0, 0, "Iteration %zd - wrong result in function %s (%zd, %d, %zd) %p != %p",
|
||||||
@ -191,7 +193,7 @@ test_main (void)
|
|||||||
printf ("\t%s", impl->name);
|
printf ("\t%s", impl->name);
|
||||||
putchar ('\n');
|
putchar ('\n');
|
||||||
|
|
||||||
for (c = 0; c <= 65; c += 65)
|
for (c = 0; c <= 130; c += 65)
|
||||||
{
|
{
|
||||||
for (i = 0; i < 18; ++i)
|
for (i = 0; i < 18; ++i)
|
||||||
do_test (0, c, 1 << i);
|
do_test (0, c, 1 << i);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user