diff options
Diffstat (limited to 'tests/memctl.c')
-rw-r--r-- | tests/memctl.c | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/tests/memctl.c b/tests/memctl.c new file mode 100644 index 0000000..1614442 --- /dev/null +++ b/tests/memctl.c @@ -0,0 +1,42 @@ +#include <ungrateful.h> + +#define SIZE UN_KB(1) + +u8 buffer_a[SIZE]; +u8 buffer_b[SIZE]; + +int main(void) { + u64 i; + for (i = 0; i < SIZE; i++) { + buffer_a[i] += i << 2; + } + + { + un_memory_copy(buffer_b, buffer_a, SIZE); + + for (i = 0; i < SIZE; i++) { + assert(buffer_b[i] == buffer_a[i]); + } + + assert(un_memory_compare(buffer_a, buffer_b, SIZE) == 0); + + buffer_b[SIZE - 10] = 0; + assert(un_memory_compare(buffer_a, buffer_b, SIZE) == 1); + } + + { + un_memory_move(buffer_a + SIZE / 4, buffer_a, SIZE / 2); + + assert(un_memory_compare(buffer_b, buffer_a + SIZE / 4, SIZE / 2) == 0); + } + + { + un_memory_set(buffer_a, 0, SIZE); + + for (i = 0; i < SIZE; i++) { + assert(buffer_a[i] == 0); + } + } + + return 0; +} |