Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions OpenHW/CORE-V-MCU/cli-test/tests/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,8 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
add_executable(cli_tests
test_cli_commands.c
mock/cli_mock.c
mock/cli_core_mock.c
mock/hardware_mock.c
../app/app_commands.c
)

Expand Down
12 changes: 12 additions & 0 deletions OpenHW/CORE-V-MCU/cli-test/tests/mock/cli_core_mock.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#include "cli.h"

void CLI_uint32_required(const char *name, uint32_t *puthere)
{
(void)name;
*puthere = 0U;
}

void CLI_submenu_handler(const struct cli_cmd_entry *pEntry)
{
(void)pEntry;
}
14 changes: 14 additions & 0 deletions OpenHW/CORE-V-MCU/cli-test/tests/mock/gpio.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
#ifndef GPIO_H
#define GPIO_H

#include <stdint.h>

void gpio_setpinmux(uint8_t io_pad, uint8_t mux);
uint8_t gpio_getpinmux(uint8_t io_pad);
void gpio_set(unsigned long mask);
void gpio_clear(unsigned long mask);
void gpio_toggle(unsigned long mask);
void gpio_pin_set_dir(uint8_t pin, uint8_t mode);
uint32_t gpio_pin_read_status(uint8_t pin);

#endif
40 changes: 40 additions & 0 deletions OpenHW/CORE-V-MCU/cli-test/tests/mock/hardware_mock.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
#include "gpio.h"

void gpio_setpinmux(uint8_t io_pad, uint8_t mux)
{
(void)io_pad;
(void)mux;
}

uint8_t gpio_getpinmux(uint8_t io_pad)
{
(void)io_pad;
return 0U;
}

void gpio_set(unsigned long mask)
{
(void)mask;
}

void gpio_clear(unsigned long mask)
{
(void)mask;
}

void gpio_toggle(unsigned long mask)
{
(void)mask;
}

void gpio_pin_set_dir(uint8_t pin, uint8_t mode)
{
(void)pin;
(void)mode;
}

uint32_t gpio_pin_read_status(uint8_t pin)
{
(void)pin;
return 0U;
}
4 changes: 4 additions & 0 deletions OpenHW/CORE-V-MCU/cli-test/tests/mock/uart_driver.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#ifndef UART_DRIVER_H
#define UART_DRIVER_H

#endif
22 changes: 18 additions & 4 deletions OpenHW/CORE-V-MCU/cli-test/tests/test_cli_commands.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,23 @@
static int test_version_output(void)
{
const struct cli_cmd_entry *menu;
const struct cli_cmd_entry *misc_menu;
const char *output;

cli_mock_reset();
menu = app_get_menu();
if ((menu == NULL) || (menu[0].pHandler == NULL))
if ((menu == NULL) || (menu[0].pHandler == NULL) || (menu[0].cookie == 0))
{
return 1;
}

menu[0].pHandler(&menu[0]);
misc_menu = (const struct cli_cmd_entry *)(uintptr_t)menu[0].cookie;
if ((misc_menu == NULL) || (misc_menu[0].pHandler == NULL))
{
return 1;
}

misc_menu[0].pHandler(&misc_menu[0]);
output = cli_mock_get_output();
if (strstr(output, "CORE-V MCU ThreadX") == NULL)
{
Expand All @@ -44,15 +51,22 @@ static int test_version_output(void)
static int test_version_no_crash(void)
{
const struct cli_cmd_entry *menu;
const struct cli_cmd_entry *misc_menu;

cli_mock_reset();
menu = app_get_menu();
if ((menu == NULL) || (menu[0].pHandler == NULL))
if ((menu == NULL) || (menu[0].pHandler == NULL) || (menu[0].cookie == 0))
{
return 1;
}

misc_menu = (const struct cli_cmd_entry *)(uintptr_t)menu[0].cookie;
if ((misc_menu == NULL) || (misc_menu[0].pHandler == NULL))
{
return 1;
}

menu[0].pHandler(&menu[0]);
misc_menu[0].pHandler(&misc_menu[0]);
return 0;
}

Expand Down