Skip to content

Commit 5b18269

Browse files
committed
[tests, boards] Add API validation tests for all device types. Add missing test suites for uart, i2c, dma, irq, supply, and sensor
1 parent 4eb5a62 commit 5b18269

22 files changed

Lines changed: 311 additions & 5 deletions

File tree

boards/pic32cz_curiosity_ultra/Makefile.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
_BOARD_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
22

33
PLATFORM = pic32cz
4-
TESTS ?= clock gpio flash timer
4+
TESTS ?= clock gpio flash timer supply uart
55

66
GCC = $(GCC_PATH)arm-none-eabi-gcc
77
LD = $(GCC_PATH)arm-none-eabi-ld

boards/stm32c031_nucleo/Makefile.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
_BOARD_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
22

33
PLATFORM = stm32c0
4-
TESTS ?= clock gpio timer flash
4+
TESTS ?= clock gpio timer flash uart
55

66
GCC = $(GCC_PATH)arm-none-eabi-gcc
77
LD = $(GCC_PATH)arm-none-eabi-gcc

boards/stm32f411_blackpill/Makefile.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
_BOARD_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
22

33
PLATFORM = stm32f4
4-
TESTS ?= clock gpio timer flash
4+
TESTS ?= clock gpio timer flash uart
55

66
GCC = $(GCC_PATH)arm-none-eabi-gcc
77
LD = $(GCC_PATH)arm-none-eabi-ld

boards/stm32h563zi_nucleo/Makefile.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
_BOARD_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
22

33
PLATFORM = stm32h5
4-
TESTS ?= clock gpio timer flash rng eth
4+
TESTS ?= clock gpio timer flash rng eth uart
55

66
GCC = $(GCC_PATH)arm-none-eabi-gcc
77
LD = $(GCC_PATH)arm-none-eabi-ld

boards/stm32wb55xx_nucleo/Makefile.inc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
_BOARD_DIR := $(patsubst %/,%,$(dir $(lastword $(MAKEFILE_LIST))))
22

33
PLATFORM = stm32wb
4-
TESTS ?= clock gpio flash timer rng crypto block
4+
TESTS ?= clock gpio flash timer rng crypto block uart i2c dma irq
55

66
GCC = $(GCC_PATH)arm-none-eabi-gcc
77
LD = $(GCC_PATH)arm-none-eabi-ld

tests/block/test_block.c

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,11 +81,25 @@ static void Test_Block_MultiWriteRead(void)
8181
}
8282
}
8383

84+
static void Test_Block_Api(void)
85+
{
86+
uint8_t buf[8];
87+
88+
WHAL_ASSERT_EQ(whal_Block_Init(NULL), WHAL_EINVAL);
89+
WHAL_ASSERT_EQ(whal_Block_Deinit(NULL), WHAL_EINVAL);
90+
WHAL_ASSERT_EQ(whal_Block_Read(NULL, 0, buf, 1), WHAL_EINVAL);
91+
WHAL_ASSERT_EQ(whal_Block_Write(NULL, 0, buf, 1), WHAL_EINVAL);
92+
WHAL_ASSERT_EQ(whal_Block_Erase(NULL, 0, 1), WHAL_EINVAL);
93+
WHAL_ASSERT_EQ(whal_Block_Read(g_testBlockDev, 0, NULL, 1), WHAL_EINVAL);
94+
WHAL_ASSERT_EQ(whal_Block_Write(g_testBlockDev, 0, NULL, 1), WHAL_EINVAL);
95+
}
96+
8497
static void run_block_tests(const char *name)
8598
{
8699
WHAL_TEST_SUITE_START("block");
87100
if (name)
88101
whal_Test_Printf(" device: %s\n", name);
102+
WHAL_TEST(Test_Block_Api);
89103
WHAL_TEST(Test_Block_EraseBlank);
90104
WHAL_TEST(Test_Block_WriteRead);
91105
WHAL_TEST(Test_Block_MultiWriteRead);

tests/clock/test_clock.c

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,18 @@
22
#include "board.h"
33
#include "test.h"
44

5+
static void Test_Clock_Api(void)
6+
{
7+
size_t rate;
8+
9+
WHAL_ASSERT_EQ(whal_Clock_Init(NULL), WHAL_EINVAL);
10+
WHAL_ASSERT_EQ(whal_Clock_Deinit(NULL), WHAL_EINVAL);
11+
WHAL_ASSERT_EQ(whal_Clock_Enable(NULL, NULL), WHAL_EINVAL);
12+
WHAL_ASSERT_EQ(whal_Clock_Disable(NULL, NULL), WHAL_EINVAL);
13+
WHAL_ASSERT_EQ(whal_Clock_GetRate(NULL, &rate), WHAL_EINVAL);
14+
WHAL_ASSERT_EQ(whal_Clock_GetRate(&g_whalClock, NULL), WHAL_EINVAL);
15+
}
16+
517
static void Test_Clock_GetRate(void)
618
{
719
size_t rate = 0;
@@ -12,6 +24,7 @@ static void Test_Clock_GetRate(void)
1224
void whal_Test_Clock(void)
1325
{
1426
WHAL_TEST_SUITE_START("clock");
27+
WHAL_TEST(Test_Clock_Api);
1528
WHAL_TEST(Test_Clock_GetRate);
1629
WHAL_TEST_SUITE_END();
1730
}

tests/crypto/test_crypto.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -464,9 +464,20 @@ static void Test_Crypto_AesCcm_KnownAnswer(void)
464464
WHAL_ASSERT_MEM_EQ(tag, ccmTag, sizeof(ccmTag));
465465
}
466466

467+
static void Test_Crypto_Api(void)
468+
{
469+
whal_Crypto_AesEcbArgs args = {0};
470+
471+
WHAL_ASSERT_EQ(whal_Crypto_Init(NULL), WHAL_EINVAL);
472+
WHAL_ASSERT_EQ(whal_Crypto_Deinit(NULL), WHAL_EINVAL);
473+
WHAL_ASSERT_EQ(whal_Crypto_Op(NULL, 0, &args), WHAL_EINVAL);
474+
WHAL_ASSERT_EQ(whal_Crypto_Op(&g_whalCrypto, 0, NULL), WHAL_EINVAL);
475+
}
476+
467477
void whal_Test_Crypto(void)
468478
{
469479
WHAL_TEST_SUITE_START("crypto");
480+
WHAL_TEST(Test_Crypto_Api);
470481
WHAL_TEST(Test_Crypto_AesEcb_Basic);
471482
WHAL_TEST(Test_Crypto_AesEcb_KnownAnswer);
472483
WHAL_TEST(Test_Crypto_AesCbc_Basic);

tests/dma/test_dma.c

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
#include <wolfHAL/wolfHAL.h>
2+
#include "board.h"
3+
#include "test.h"
4+
5+
static void Test_Dma_Api(void)
6+
{
7+
uint8_t chCfg[1];
8+
9+
WHAL_ASSERT_EQ(whal_Dma_Init(NULL), WHAL_EINVAL);
10+
WHAL_ASSERT_EQ(whal_Dma_Deinit(NULL), WHAL_EINVAL);
11+
WHAL_ASSERT_EQ(whal_Dma_Configure(NULL, 0, chCfg), WHAL_EINVAL);
12+
WHAL_ASSERT_EQ(whal_Dma_Start(NULL, 0), WHAL_EINVAL);
13+
WHAL_ASSERT_EQ(whal_Dma_Stop(NULL, 0), WHAL_EINVAL);
14+
}
15+
16+
void whal_Test_Dma(void)
17+
{
18+
WHAL_TEST_SUITE_START("dma");
19+
WHAL_TEST(Test_Dma_Api);
20+
WHAL_TEST_SUITE_END();
21+
}

tests/eth/test_eth.c

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,30 @@
1717
#define PHY_REG_PHYIDR1 2
1818
#define PHY_REG_PHYIDR2 3
1919

20+
static void Test_Eth_Api(void)
21+
{
22+
uint8_t buf[64];
23+
size_t len = sizeof(buf);
24+
uint16_t val;
25+
26+
WHAL_ASSERT_EQ(whal_Eth_Init(NULL), WHAL_EINVAL);
27+
WHAL_ASSERT_EQ(whal_Eth_Deinit(NULL), WHAL_EINVAL);
28+
WHAL_ASSERT_EQ(whal_Eth_Start(NULL, 100, 1), WHAL_EINVAL);
29+
WHAL_ASSERT_EQ(whal_Eth_Stop(NULL), WHAL_EINVAL);
30+
WHAL_ASSERT_EQ(whal_Eth_Send(NULL, buf, sizeof(buf)), WHAL_EINVAL);
31+
WHAL_ASSERT_EQ(whal_Eth_Recv(NULL, buf, &len), WHAL_EINVAL);
32+
WHAL_ASSERT_EQ(whal_Eth_MdioRead(NULL, 0, 0, &val), WHAL_EINVAL);
33+
WHAL_ASSERT_EQ(whal_Eth_MdioWrite(NULL, 0, 0, 0), WHAL_EINVAL);
34+
WHAL_ASSERT_EQ(whal_Eth_Send(&g_whalEth, NULL, 64), WHAL_EINVAL);
35+
WHAL_ASSERT_EQ(whal_Eth_Recv(&g_whalEth, NULL, &len), WHAL_EINVAL);
36+
WHAL_ASSERT_EQ(whal_Eth_Recv(&g_whalEth, buf, NULL), WHAL_EINVAL);
37+
WHAL_ASSERT_EQ(whal_Eth_MdioRead(&g_whalEth, 0, 0, NULL), WHAL_EINVAL);
38+
39+
WHAL_ASSERT_EQ(whal_EthPhy_Init(NULL), WHAL_EINVAL);
40+
WHAL_ASSERT_EQ(whal_EthPhy_Deinit(NULL), WHAL_EINVAL);
41+
WHAL_ASSERT_EQ(whal_EthPhy_GetLinkState(NULL, NULL, NULL, NULL), WHAL_EINVAL);
42+
}
43+
2044
static void Test_Eth_MdioReadPhyId(void)
2145
{
2246
uint16_t id1 = 0;
@@ -56,6 +80,7 @@ static void Test_Eth_PhyGetLinkState(void)
5680
void whal_Test_Eth(void)
5781
{
5882
WHAL_TEST_SUITE_START("eth");
83+
WHAL_TEST(Test_Eth_Api);
5984
WHAL_TEST(Test_Eth_MdioReadPhyId);
6085
WHAL_TEST(Test_Eth_PhyGetLinkState);
6186
WHAL_TEST_SUITE_END();

0 commit comments

Comments
 (0)