1
0
Fork 0
mirror of https://github.com/tailix/libclayer.git synced 2024-11-20 11:06:24 -05:00
libclayer/tests/string.c

54 lines
1.5 KiB
C
Raw Normal View History

2022-12-27 04:05:30 -05:00
#include <libclayer/string.h>
2022-12-25 06:23:09 -05:00
#include <assert.h>
#include <stddef.h>
2022-12-27 07:17:41 -05:00
#define COUNT 1024
static char aaa[COUNT], bbb[COUNT];
#define memcmp LIBCLAYER(memcmp)
#define memcpy LIBCLAYER(memcpy)
#define memmove LIBCLAYER(memmove)
#define memchr LIBCLAYER(memchr)
#define memset LIBCLAYER(memset)
2022-12-25 06:23:09 -05:00
void test_main()
{
2022-12-27 07:17:41 -05:00
{ // memcmp
for (size_t i = 0; i < COUNT; ++i) aaa[i] = bbb[i] = i * i;
assert(memcmp(aaa, bbb, COUNT) == 0);
2022-12-25 06:23:09 -05:00
aaa[123] = 1;
bbb[123] = 2;
2022-12-27 07:17:41 -05:00
assert(memcmp(aaa, bbb, COUNT) == -1);
2022-12-25 06:23:09 -05:00
aaa[123] = 2;
bbb[123] = 1;
2022-12-27 07:17:41 -05:00
assert(memcmp(aaa, bbb, COUNT) == 1);
}
{ // memcpy
for (size_t i = 0; i < COUNT; ++i) { aaa[i] = 0; bbb[i] = i * i; }
assert(memcpy(aaa, bbb, COUNT) == aaa);
for (size_t i = 0; i < COUNT; ++i) assert(aaa[i] == (char)(i * i));
}
{ // memmove
for (size_t i = 0; i < COUNT; ++i) { aaa[i] = 0; bbb[i] = i * i; }
assert(memcpy(aaa, bbb, COUNT) == aaa);
for (size_t i = 0; i < COUNT; ++i) assert(aaa[i] == (char)(i * i));
}
{ // memchr
for (size_t i = 0; i < COUNT; ++i) aaa[i] = 0;
aaa[256] = 'a';
assert(memchr(aaa, 'a', COUNT) == &aaa[256]);
}
{ // memset
memset(&aaa[0], 'a', COUNT / 2);
memset(&aaa[COUNT / 2], 'b', COUNT / 2);
for (size_t i = 0; i < COUNT / 2; ++i) assert(aaa[i] == 'a');
for (size_t i = COUNT / 2; i < COUNT; ++i) assert(aaa[i] == 'b');
2022-12-25 06:23:09 -05:00
}
}