blob: c644bec2dd437342ba55a8fc8ca35d1ccc2868a1 [file] [log] [blame]
/*
* Copyright (c) 2019-2020, Arm Limited. All rights reserved.
*
* SPDX-License-Identifier: BSD-3-Clause
*/
#include "CppUTest/TestHarness.h"
extern "C" {
#include "lib/libc/string.h"
}
#define BUFFER_SIZE (16)
TEST_GROUP(memcmp) {
TEST_SETUP() {
for (int i = 0; i < BUFFER_SIZE; i++) {
buffer1[i] = 0;
buffer2[i] = 0;
}
}
uint8_t buffer1[BUFFER_SIZE];
uint8_t buffer2[BUFFER_SIZE];
};
TEST(memcmp, zero_length) {
LONGS_EQUAL(0, memcmp(buffer1, buffer2, 0));
}
TEST(memcmp, same) {
LONGS_EQUAL(0, memcmp(buffer1, buffer2, sizeof(buffer1)));
}
TEST(memcmp, first_diff_positive) {
buffer1[0] = 1;
LONGS_EQUAL(1, memcmp(buffer1, buffer2, sizeof(buffer1)));
}
TEST(memcmp, first_diff_negative) {
buffer2[0] = 1;
LONGS_EQUAL(-1, memcmp(buffer1, buffer2, sizeof(buffer1)));
}
TEST(memcmp, second_diff_positive) {
buffer1[1] = 1;
LONGS_EQUAL(1, memcmp(buffer1, buffer2, sizeof(buffer1)));
}
TEST(memcmp, second_diff_negative) {
buffer2[1] = 1;
LONGS_EQUAL(-1, memcmp(buffer1, buffer2, sizeof(buffer1)));
}
TEST(memcmp, last_diff_positive) {
buffer1[sizeof(buffer1) - 1] = 1;
LONGS_EQUAL(1, memcmp(buffer1, buffer2, sizeof(buffer1)));
}
TEST(memcmp, last_diff_negative) {
buffer2[sizeof(buffer2) - 1] = 1;
LONGS_EQUAL(-1, memcmp(buffer1, buffer2, sizeof(buffer1)));
}