mirror of
https://sourceware.org/git/glibc.git
synced 2025-07-30 22:43:12 +03:00
Test strcasestr/strchr/strstr under all implementations
This commit is contained in:
@ -55,8 +55,9 @@ IMPL (simple_strstr, 0)
|
||||
IMPL (strstr, 1)
|
||||
|
||||
|
||||
static void
|
||||
do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
|
||||
static int
|
||||
check_result (impl_t *impl, const char *s1, const char *s2,
|
||||
char *exp_result)
|
||||
{
|
||||
char *result = CALL (impl, s1, s2);
|
||||
if (result != exp_result)
|
||||
@ -64,9 +65,18 @@ do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
|
||||
error (0, 0, "Wrong result in function %s %s %s", impl->name,
|
||||
result, exp_result);
|
||||
ret = 1;
|
||||
return;
|
||||
return -1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
static void
|
||||
do_one_test (impl_t *impl, const char *s1, const char *s2, char *exp_result)
|
||||
{
|
||||
if (check_result (impl, s1, s2, exp_result) < 0)
|
||||
return;
|
||||
|
||||
if (HP_TIMING_AVAIL)
|
||||
{
|
||||
hp_timing_t start __attribute ((unused));
|
||||
@ -133,12 +143,26 @@ do_test (size_t align1, size_t align2, size_t len1, size_t len2,
|
||||
putchar ('\n');
|
||||
}
|
||||
|
||||
static void
|
||||
check1 (void)
|
||||
{
|
||||
const char s1[] =
|
||||
"F_BD_CE_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_C3_88_20_EF_BF_BD_EF_BF_BD_EF_BF_BD_C3_A7_20_EF_BF_BD";
|
||||
const char s2[] = "_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD_EF_BF_BD";
|
||||
char *exp_result;
|
||||
|
||||
exp_result = stupid_strstr (s1, s2);
|
||||
FOR_EACH_IMPL (impl, 0)
|
||||
check_result (impl, s1, s2, exp_result);
|
||||
}
|
||||
|
||||
static int
|
||||
test_main (void)
|
||||
{
|
||||
test_init ();
|
||||
|
||||
check1 ();
|
||||
|
||||
printf ("%23s", "");
|
||||
FOR_EACH_IMPL (impl, 0)
|
||||
printf ("\t%s", impl->name);
|
||||
|
Reference in New Issue
Block a user