mirror of
https://review.coreboot.org/flashrom.git
synced 2025-07-01 06:01:16 +02:00
tests/: Add helper.c unit tests
BUG=b:157280555 BRANCH=none TEST=builds Change-Id: If4a1fe7c499f51bb9d7cd48ef26caf9dfae3c1fa Signed-off-by: Edward O'Callaghan <quasisec@google.com> Reviewed-on: https://review.coreboot.org/c/flashrom/+/41655 Tested-by: build bot (Jenkins) <no-reply@coreboot.org> Reviewed-by: Angel Pons <th3fanbus@gmail.com>
This commit is contained in:

committed by
Edward O'Callaghan

parent
629b8f06ec
commit
3cc70c25f9
64
tests/helpers.c
Normal file
64
tests/helpers.c
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
#include <include/test.h>
|
||||||
|
|
||||||
|
#include "flash.h"
|
||||||
|
|
||||||
|
#include <stdint.h>
|
||||||
|
#include <stdlib.h>
|
||||||
|
|
||||||
|
|
||||||
|
void address_to_bits_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
assert_int_equal(16, address_to_bits(0xAA55));
|
||||||
|
}
|
||||||
|
|
||||||
|
void bitcount_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
assert_int_equal(4, bitcount(0xAA));
|
||||||
|
}
|
||||||
|
|
||||||
|
void minmax_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
assert_int_equal(0x55, min(0xAA, 0x55));
|
||||||
|
assert_int_equal(0xAA, max(0xAA, 0x55));
|
||||||
|
}
|
||||||
|
|
||||||
|
void strcat_realloc_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
const char src0[] = "hello";
|
||||||
|
const char src1[] = " world";
|
||||||
|
char *dest = calloc(1, 1);
|
||||||
|
dest = strcat_realloc(dest, src0);
|
||||||
|
dest = strcat_realloc(dest, src1);
|
||||||
|
assert_string_equal("hello world", dest);
|
||||||
|
free(dest);
|
||||||
|
}
|
||||||
|
|
||||||
|
void tolower_string_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
char str[] = "HELLO AGAIN";
|
||||||
|
assert_string_equal("HELLO AGAIN", str);
|
||||||
|
tolower_string(str);
|
||||||
|
assert_string_equal("hello again", str);
|
||||||
|
}
|
||||||
|
|
||||||
|
void reverse_byte_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
assert_int_equal(0x5A, reverse_byte(0x5A));
|
||||||
|
assert_int_equal(0x0F, reverse_byte(0xF0));
|
||||||
|
}
|
||||||
|
|
||||||
|
void reverse_bytes_test_success(void **state)
|
||||||
|
{
|
||||||
|
(void) state; /* unused */
|
||||||
|
uint8_t src[] = { 0xAA, 0x55 };
|
||||||
|
uint8_t dst[2];
|
||||||
|
reverse_bytes(dst, src, 2);
|
||||||
|
assert_int_equal(src[0], dst[1]);
|
||||||
|
assert_int_equal(src[1], dst[0]);
|
||||||
|
}
|
@ -2,6 +2,7 @@ root_includes = include_directories('../subprojects')
|
|||||||
|
|
||||||
srcs = [
|
srcs = [
|
||||||
'tests.c',
|
'tests.c',
|
||||||
|
'helpers.c',
|
||||||
'flashrom.c',
|
'flashrom.c',
|
||||||
'spi25.c',
|
'spi25.c',
|
||||||
]
|
]
|
||||||
|
@ -21,6 +21,17 @@ int main(void)
|
|||||||
{
|
{
|
||||||
int ret = 0;
|
int ret = 0;
|
||||||
|
|
||||||
|
const struct CMUnitTest helpers_tests[] = {
|
||||||
|
cmocka_unit_test(address_to_bits_test_success),
|
||||||
|
cmocka_unit_test(bitcount_test_success),
|
||||||
|
cmocka_unit_test(minmax_test_success),
|
||||||
|
cmocka_unit_test(strcat_realloc_test_success),
|
||||||
|
cmocka_unit_test(tolower_string_test_success),
|
||||||
|
cmocka_unit_test(reverse_byte_test_success),
|
||||||
|
cmocka_unit_test(reverse_bytes_test_success),
|
||||||
|
};
|
||||||
|
ret |= cmocka_run_group_tests_name("helpers.c tests", helpers_tests, NULL, NULL);
|
||||||
|
|
||||||
const struct CMUnitTest flashrom_tests[] = {
|
const struct CMUnitTest flashrom_tests[] = {
|
||||||
cmocka_unit_test(flashbuses_to_text_test_success),
|
cmocka_unit_test(flashbuses_to_text_test_success),
|
||||||
};
|
};
|
||||||
|
@ -1,6 +1,15 @@
|
|||||||
#ifndef TESTS_H
|
#ifndef TESTS_H
|
||||||
#define TESTS_H
|
#define TESTS_H
|
||||||
|
|
||||||
|
/* helpers.c */
|
||||||
|
void address_to_bits_test_success(void **state);
|
||||||
|
void bitcount_test_success(void **state);
|
||||||
|
void minmax_test_success(void **state);
|
||||||
|
void strcat_realloc_test_success(void **state);
|
||||||
|
void tolower_string_test_success(void **state);
|
||||||
|
void reverse_byte_test_success(void **state);
|
||||||
|
void reverse_bytes_test_success(void **state);
|
||||||
|
|
||||||
/* flashrom.c */
|
/* flashrom.c */
|
||||||
void flashbuses_to_text_test_success(void **state);
|
void flashbuses_to_text_test_success(void **state);
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user