#define pr_fmt(fmt) …
#include <kunit/test.h>
#include <linux/device.h>
#include <linux/init.h>
#include <linux/kernel.h>
#include <linux/mm.h>
#include <linux/module.h>
#include <linux/overflow.h>
#include <linux/slab.h>
#include <linux/types.h>
#include <linux/vmalloc.h>
struct some_bytes { … };
#define check(instance, v) …
#define compare(name, one, two) …
static void memcpy_test(struct kunit *test)
{ … }
static unsigned char larger_array [2048];
static void memmove_test(struct kunit *test)
{ … }
static void memset_test(struct kunit *test)
{ … }
static u8 large_src[1024];
static u8 large_dst[2048];
static const u8 large_zero[2048];
static void set_random_nonzero(struct kunit *test, u8 *byte)
{ … }
static void init_large(struct kunit *test)
{ … }
static void copy_large_test(struct kunit *test, bool use_memmove)
{ … }
static void memcpy_large_test(struct kunit *test)
{ … }
static void memmove_large_test(struct kunit *test)
{ … }
static int next_step(int idx, int start, int end, int inc)
{ … }
static void inner_loop(struct kunit *test, int bytes, int d_off, int s_off)
{ … }
static void memmove_overlap_test(struct kunit *test)
{ … }
static struct kunit_case memcpy_test_cases[] = …;
static struct kunit_suite memcpy_test_suite = …;
kunit_test_suite(…) …;
MODULE_DESCRIPTION(…) …;
MODULE_LICENSE(…) …;