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
|
|
|
}
|
|
|
|
}
|