Extend strcasecmp tests and convert them to theories
Signed-off-by: Jeroen Koekkoek <jeroen@koekkoek.nl>
This commit is contained in:
parent
94722a642e
commit
c903fee0c9
3 changed files with 58 additions and 113 deletions
|
@ -24,7 +24,8 @@ set(sources
|
||||||
"stdlib.c"
|
"stdlib.c"
|
||||||
"strtoll.c"
|
"strtoll.c"
|
||||||
"thread.c"
|
"thread.c"
|
||||||
"thread_cleanup.c")
|
"thread_cleanup.c"
|
||||||
|
"strcasecmp.c")
|
||||||
|
|
||||||
add_cunit_executable(abstraction ${sources})
|
add_cunit_executable(abstraction ${sources})
|
||||||
target_link_libraries(abstraction OSAPI)
|
target_link_libraries(abstraction OSAPI)
|
||||||
|
|
|
@ -303,118 +303,6 @@ CU_Clean(os_stdlib)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
CU_Test(os_stdlib, strcasecmp)
|
|
||||||
{
|
|
||||||
int res;
|
|
||||||
char *s1, *s2;
|
|
||||||
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "a";
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_001\n");
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_002\n");
|
|
||||||
s1 = "aa";
|
|
||||||
s2 = "a";
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res > 0);
|
|
||||||
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_003\n");
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "aa";
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res < 0);
|
|
||||||
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_004\n");
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "A";
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_005\n");
|
|
||||||
s1 = "A";
|
|
||||||
s2 = "a";
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_006\n");
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "b";
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res < 0);
|
|
||||||
|
|
||||||
printf ("Starting os_stdlib_strcasecmp_007\n");
|
|
||||||
s1 = "b";
|
|
||||||
s2 = "a";
|
|
||||||
res = os_strcasecmp (s1,s2);
|
|
||||||
CU_ASSERT (res > 0);
|
|
||||||
|
|
||||||
printf ("Ending os_stdlib_strcasecmp\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
CU_Test(os_stdlib, strncasecmp)
|
|
||||||
{
|
|
||||||
int res;
|
|
||||||
char *s1, *s2;
|
|
||||||
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "a";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_001\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
s1 = "aa";
|
|
||||||
s2 = "a";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_002\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res > 0);
|
|
||||||
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "aa";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_003\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res < 0);
|
|
||||||
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "A";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_004\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
s1 = "A";
|
|
||||||
s2 = "a";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_005\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
s1 = "a";
|
|
||||||
s2 = "b";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_006\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res < 0);
|
|
||||||
|
|
||||||
s1 = "b";
|
|
||||||
s2 = "a";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_007\n");
|
|
||||||
res = os_strncasecmp (s1,s2,2);
|
|
||||||
CU_ASSERT (res > 0);
|
|
||||||
|
|
||||||
s1 = "abcdefghijkl";
|
|
||||||
s2 = "AbCdEaGhIjKl";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_008\n");
|
|
||||||
res = os_strncasecmp (s1,s2,5);
|
|
||||||
CU_ASSERT (res == 0);
|
|
||||||
|
|
||||||
s1 = "abcdefghijkl";
|
|
||||||
s2 = "AbCdEaGhIjKl";
|
|
||||||
printf ("Starting os_stdlib_strncasecmp_009\n");
|
|
||||||
res = os_strncasecmp (s1,s2,6);
|
|
||||||
CU_ASSERT (res > 0);
|
|
||||||
|
|
||||||
printf ("Ending os_stdlib_strncasecmp\n");
|
|
||||||
}
|
|
||||||
|
|
||||||
CU_Test(os_stdlib, gethostname)
|
CU_Test(os_stdlib, gethostname)
|
||||||
{
|
{
|
||||||
int res;
|
int res;
|
||||||
|
|
56
src/os/tests/strcasecmp.c
Normal file
56
src/os/tests/strcasecmp.c
Normal file
|
@ -0,0 +1,56 @@
|
||||||
|
#include "os/os.h"
|
||||||
|
#include "CUnit/Theory.h"
|
||||||
|
|
||||||
|
typedef enum { eq, lt, gt } eq_t;
|
||||||
|
|
||||||
|
CU_TheoryDataPoints(os_strcasecmp, basic) = {
|
||||||
|
CU_DataPoints(const char *, "a", "aa", "a", "a", "A", "a", "b", "a", "B", "A", "", "a"),
|
||||||
|
CU_DataPoints(const char *, "a", "a", "aa", "A", "a", "b", "a", "b", "A", "B", "a", ""),
|
||||||
|
CU_DataPoints(eq_t, eq, gt, lt, eq, eq, lt, gt, lt, gt, lt, lt, gt)
|
||||||
|
};
|
||||||
|
|
||||||
|
CU_Theory((const char *s1, const char *s2, eq_t e), os_strcasecmp, basic)
|
||||||
|
{
|
||||||
|
int r = os_strcasecmp(s1, s2);
|
||||||
|
CU_ASSERT((e == eq && r == 0) || (e == lt && r < 0) || (e == gt && r > 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
CU_TheoryDataPoints(os_strncasecmp, basic) = {
|
||||||
|
CU_DataPoints(const char *, "a", "aa", "a", "A", "a", "b", "a", "B", "A", "", "a"),
|
||||||
|
CU_DataPoints(const char *, "a", "a", "aa", "a", "A", "a", "b", "A", "B", "a", ""),
|
||||||
|
CU_DataPoints(size_t, 1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1),
|
||||||
|
CU_DataPoints(eq_t, eq, gt, lt, eq, eq, gt, lt, gt, lt, lt, gt)
|
||||||
|
};
|
||||||
|
|
||||||
|
CU_Theory((const char *s1, const char *s2, size_t n, eq_t e), os_strncasecmp, basic)
|
||||||
|
{
|
||||||
|
int r = os_strncasecmp(s1, s2, n);
|
||||||
|
CU_ASSERT((e == eq && r == 0) || (e == lt && r < 0) || (e == gt && r > 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
CU_TheoryDataPoints(os_strncasecmp, empty) = {
|
||||||
|
CU_DataPoints(const char *, "a", "", "a", "", "a", ""),
|
||||||
|
CU_DataPoints(const char *, "", "a", "", "a", "", "a"),
|
||||||
|
CU_DataPoints(size_t, 1, 1, 0, 0, 2, 2),
|
||||||
|
CU_DataPoints(eq_t, gt, lt, eq, eq, gt, lt)
|
||||||
|
};
|
||||||
|
|
||||||
|
CU_Theory((const char *s1, const char *s2, size_t n, eq_t e), os_strncasecmp, empty)
|
||||||
|
{
|
||||||
|
int r = os_strncasecmp(s1, s2, n);
|
||||||
|
CU_ASSERT((e == eq && r == 0) || (e == lt && r < 0) || (e == gt && r > 0));
|
||||||
|
}
|
||||||
|
|
||||||
|
CU_TheoryDataPoints(os_strncasecmp, length) = {
|
||||||
|
CU_DataPoints(const char *, "aBcD", "AbCX", "aBcD", "AbCX", "aBcD"),
|
||||||
|
CU_DataPoints(const char *, "AbCX", "aBcD", "AbCX", "aBcD", "AbCd"),
|
||||||
|
CU_DataPoints(size_t, 3, 3, 4, 4, 5, 5),
|
||||||
|
CU_DataPoints(eq_t, eq, eq, lt, gt, eq, eq)
|
||||||
|
};
|
||||||
|
|
||||||
|
CU_Theory((const char *s1, const char *s2, size_t n, eq_t e), os_strncasecmp, length)
|
||||||
|
{
|
||||||
|
int r = os_strncasecmp(s1, s2, n);
|
||||||
|
CU_ASSERT((e == eq && r == 0) || (e == lt && r < 0) || (e == gt && r > 0));
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue