mirror of
				https://github.com/espressif/esp-idf.git
				synced 2025-10-30 20:51:41 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			60 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| #include <stdio.h>
 | |
| #include <string.h>
 | |
| #include "sdkconfig.h"
 | |
| #include "unity.h"
 | |
| #include "test_utils.h"
 | |
| #include "esp_console.h"
 | |
| #include "argtable3/argtable3.h"
 | |
| #include "freertos/FreeRTOS.h"
 | |
| #include "freertos/task.h"
 | |
| 
 | |
| static int do_hello_cmd(int argc, char **argv)
 | |
| {
 | |
|     printf("Hello World\n");
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| TEST_CASE("esp console init/deinit test", "[console]")
 | |
| {
 | |
|     esp_console_config_t console_config = ESP_CONSOLE_CONFIG_DEFAULT();
 | |
|     TEST_ESP_OK(esp_console_init(&console_config));
 | |
|     const esp_console_cmd_t cmd = {
 | |
|         .command = "hello",
 | |
|         .help = "Print Hello World",
 | |
|         .hint = NULL,
 | |
|         .func = do_hello_cmd,
 | |
|     };
 | |
|     TEST_ESP_OK(esp_console_cmd_register(&cmd));
 | |
|     // re-register the same command, just for test
 | |
|     TEST_ESP_OK(esp_console_cmd_register(&cmd));
 | |
|     TEST_ESP_OK(esp_console_deinit());
 | |
| }
 | |
| 
 | |
| static esp_console_repl_t *s_repl = NULL;
 | |
| 
 | |
| /* handle 'quit' command */
 | |
| static int do_cmd_quit(int argc, char **argv)
 | |
| {
 | |
|     printf("ByeBye\r\n");
 | |
|     s_repl->del(s_repl);
 | |
|     return 0;
 | |
| }
 | |
| 
 | |
| // Enter "quit" to exit REPL environment
 | |
| TEST_CASE("esp console repl test", "[console][ignore]")
 | |
| {
 | |
|     esp_console_repl_config_t repl_config = ESP_CONSOLE_REPL_CONFIG_DEFAULT();
 | |
|     esp_console_dev_uart_config_t uart_config = ESP_CONSOLE_DEV_UART_CONFIG_DEFAULT();
 | |
|     TEST_ESP_OK(esp_console_new_repl_uart(&uart_config, &repl_config, &s_repl));
 | |
| 
 | |
|     esp_console_cmd_t cmd = {
 | |
|         .command = "quit",
 | |
|         .help = "Quit REPL environment",
 | |
|         .func = &do_cmd_quit
 | |
|     };
 | |
|     TEST_ESP_OK(esp_console_cmd_register(&cmd));
 | |
| 
 | |
|     TEST_ESP_OK(esp_console_start_repl(s_repl));
 | |
|     vTaskDelay(pdMS_TO_TICKS(2000));
 | |
| }
 | 
