21# define __VSF_TEST_H__
165# if VSF_USE_TEST == ENABLED
170# ifndef VSF_TEST_CFG_LONGJMP
171# define VSF_TEST_CFG_LONGJMP ENABLED
175# ifndef VSF_TEST_CFG_INTERNAL_TIMEOUT_MS
176# define VSF_TEST_CFG_INTERNAL_TIMEOUT_MS 1000
180# ifndef VSF_TEST_CFG_EXTERNAL_TIMEOUT_MS
181# define VSF_TEST_CFG_EXTERNAL_TIMEOUT_MS 1500
185# ifndef VSF_TEST_CFG_USE_HAL_WDT
186# define VSF_TEST_CFG_USE_HAL_WDT DISABLED
190# ifndef VSF_TEST_CFG_USE_STDIO_DATA_SYNC
191# define VSF_TEST_CFG_USE_STDIO_DATA_SYNC DISABLED
195# ifndef VSF_TEST_CFG_USE_FILE_DATA_SYNC
196# define VSF_TEST_CFG_USE_FILE_DATA_SYNC DISABLED
200# ifndef VSF_TEST_CFG_USE_APPCFG_DATA_SYNC
201# define VSF_TEST_CFG_USE_APPCFG_DATA_SYNC DISABLED
205# ifndef VSF_TEST_CFG_USE_TRACE
206# define VSF_TEST_CFG_USE_TRACE ENABLED
210# ifndef VSF_TEST_CFG_ARRAY_SIZE
211# define VSF_TEST_CFG_ARRAY_SIZE 100
219# define VSF_TEST_ASSERT(__v) \
222 __vsf_test_longjmp(VSF_TEST_RESULT_FAIL, __FILE__, \
223 __LINE__, __FUNCTION__, #__v); \
451# if VSF_TEST_CFG_LONGJMP == ENABLED
598 const char *file_name,
uint32_t line,
599 const char *function_name,
600 const char *condition);
612 const char *file_name,
uint32_t line,
613 const char *function_name,
614 const char *additional_str);
struct ieee80211_ext_chansw_ie data
Definition ieee80211.h:80
unsigned uint32_t
Definition stdint.h:9
unsigned char uint8_t
Definition stdint.h:5
Definition vsf_test.h:358
vsf_test_bool_fn_t * b_fn
Definition vsf_test.h:363
uint8_t expect_wdt
Definition vsf_test.h:380
uint8_t expect_assert
Definition vsf_test.h:385
vsf_test_jmp_fn_t * jmp_fn
Definition vsf_test.h:368
uint8_t type
Definition vsf_test.h:376
char * cfg_str
Definition vsf_test.h:370
Test framework configuration structure.
Definition vsf_test.h:389
struct vsf_test_cfg_t::@110 reboot
Reboot configuration.
vsf_test_wdt_t external
External watchdog configuration.
Definition vsf_test.h:395
bool restart_on_done
Restart from the beginning when test completes or errors occur.
Definition vsf_test.h:415
void(* init)(vsf_test_data_t *data)
Data initialization function.
Definition vsf_test.h:409
struct vsf_test_cfg_t::@109 wdt
Watchdog configuration.
void(* sync)(vsf_test_data_t *data, vsf_test_data_cmd_t cmd)
Data synchronization function.
Definition vsf_test.h:411
vsf_test_reboot_t * external
External reboot function (via reset pin or power pin)
Definition vsf_test.h:403
struct vsf_test_cfg_t::@111 data
Data persistence configuration.
vsf_test_wdt_t internal
Internal watchdog configuration.
Definition vsf_test.h:393
vsf_test_reboot_t * internal
Internal reboot function (chip's internal reset)
Definition vsf_test.h:401
Definition vsf_test.h:305
char * request_str
Definition vsf_test.h:332
const char * file_name
Definition vsf_test.h:349
const char * function_name
Definition vsf_test.h:348
void(* sync)(vsf_test_data_t *data, vsf_test_data_cmd_t cmd)
Definition vsf_test.h:315
uint32_t line
Definition vsf_test.h:351
struct vsf_test_data_t::@106 error
void(* init)(vsf_test_data_t *data)
Definition vsf_test.h:309
uint32_t req_continue
Definition vsf_test.h:337
uint32_t status
Test status, vsf_test_status_t.
Definition vsf_test.h:327
uint32_t idx
Definition vsf_test.h:324
const char * condition
Definition vsf_test.h:350
uint32_t result
Definition vsf_test.h:343
Definition vsf_test.h:418
struct vsf_test_t::@113 reboot
vsf_test_wdt_t external
Definition vsf_test.h:430
vsf_test_case_t test_case_array[VSF_TEST_CFG_ARRAY_SIZE]
Test case array.
Definition vsf_test.h:461
uint32_t test_case_count
Test case count (number of test cases added)
Definition vsf_test.h:459
vsf_test_data_t data
Definition vsf_test.h:449
vsf_test_reboot_t * internal
Use the chip's internal reset, possibly a hot reset.
Definition vsf_test.h:441
jmp_buf * jmp_buf
Definition vsf_test.h:452
bool restart_on_done
Restart from the beginning when test completes or errors occur.
Definition vsf_test.h:456
vsf_test_reboot_t * external
Definition vsf_test.h:444
struct vsf_test_t::@112 wdt
vsf_test_wdt_t internal
Definition vsf_test.h:426
Definition vsf_test.h:263
uint32_t timeout_ms
Definition vsf_test.h:273
void(* feed)(vsf_test_wdt_t *wdt)
The feed function will be called once after each test is completed.
Definition vsf_test.h:269
void(* init)(vsf_test_wdt_t *wdt, uint32_t timeout_ms)
Definition vsf_test.h:267
vk_av_control_type_t type
Definition vsf_audio.h:170
bool vsf_test_add_bool_fn(vsf_test_bool_fn_t *b_fn, char *cfg)
Add to add a test case of VSF_TEST_TYPE_BOOL_FN type.
Definition vsf_test.c:112
void vsf_test_reboot_t(void)
Definition vsf_test.h:260
bool vsf_test_add_expect_assert_case(vsf_test_jmp_fn_t *fn, char *cfg, uint8_t expect_wdt)
Add a test case that expects an assertion.
Definition vsf_test.c:166
bool vsf_test_add_case(vsf_test_jmp_fn_t *fn, char *cfg, uint8_t expect_wdt)
Add a test case of VSF_TEST_TYPE_LONGJMP_FN type.
Definition vsf_test.c:127
void __vsf_test_longjmp(vsf_test_result_t result, const char *file_name, uint32_t line, const char *function_name, const char *condition)
rong jump. the user does not need to directly call this API
Definition vsf_test.c:180
vsf_test_req_t
Definition vsf_test.h:234
@ VSF_TEST_REQ_NO_SUPPORT
Definition vsf_test.h:235
@ VSF_TEST_REQ_SUPPORT
Definition vsf_test.h:236
bool vsf_test_add_simple_case(vsf_test_jmp_fn_t *jmp_fn, char *cfg)
Add a test case of VSF_TEST_TYPE_LONGJMP_FN type (simplified, expect_wdt=0)
Definition vsf_test.c:107
vsf_test_data_cmd_t
Device commands during data synchronization.
Definition vsf_test.h:277
@ VSF_TEST_TESECASE_REQUEST_WRITE
Send test request information, requires an assist device response.
Definition vsf_test.h:289
@ VSF_TEST_TESTCASE_INDEX_READ
Reading the current index requires a response from the assist device.
Definition vsf_test.h:284
@ VSF_TEST_DONE
Definition vsf_test.h:298
@ VSF_TEST_TESTCASE_RESULT_WRITE
Definition vsf_test.h:293
@ VSF_TEST_STATUS_READ
Reading the current state requires a response from the assist device.
Definition vsf_test.h:279
@ VSF_TEST_STATUS_WRITE
Write current state, no assist device response required.
Definition vsf_test.h:281
@ VSF_TEST_TESTCASE_INDEX_WRITE
Write current index, no assist device response required.
Definition vsf_test.h:286
void vsf_test_reboot(vsf_test_result_t result, const char *file_name, uint32_t line, const char *function_name, const char *additional_str)
reboot, usually called inside an exception.
Definition vsf_test.c:226
void vsf_test_jmp_fn_t(void)
Definition vsf_test.h:356
bool vsf_test_add_ex(vsf_test_case_t *test_case)
API Selection Guide.
Definition vsf_test.c:91
bool vsf_test_add_ex_case(vsf_test_jmp_fn_t *fn, char *cfg, vsf_test_type_t type, uint8_t expect_wdt, uint8_t expect_assert)
Add a test case of any type.
Definition vsf_test.c:151
vsf_test_result_t
Definition vsf_test.h:239
@ VSF_TEST_RESULT_ASSIST_FAIL
Definition vsf_test.h:246
@ VSF_TEST_RESULT_PASS
Definition vsf_test.h:240
@ VSF_TEST_RESULT_FAIL
Definition vsf_test.h:243
@ VSF_TEST_RESULT_ASSERT_FAIL
Definition vsf_test.h:244
@ VSF_TEST_RESULT_SKIP
Definition vsf_test.h:241
@ VSF_TEST_RESULT_WDT_FAIL
Definition vsf_test.h:245
@ VSF_TEST_RESULT_FAULT_HANDLER_FAIL
Definition vsf_test.h:247
@ VSF_TEST_RESULT_WDT_PASS
Definition vsf_test.h:242
bool vsf_test_bool_fn_t(void)
Definition vsf_test.h:355
void vsf_test_init(const vsf_test_cfg_t *cfg)
initialize vsf test
Definition vsf_test.c:61
vsf_test_status_t
Definition vsf_test.h:229
@ VSF_TEST_STATUS_IDLE
Definition vsf_test.h:230
@ VSF_TEST_STATUS_RUNNING
Definition vsf_test.h:231
bool vsf_test_add_bool_fn_case(vsf_test_bool_fn_t *fn, char *cfg, uint8_t expect_wdt)
Add a test case of VSF_TEST_TYPE_BOOL_FN type.
Definition vsf_test.c:139
void vsf_test_run_tests(void)
Run all tests. Should be called after all use cases have been initialized.
Definition vsf_test.c:259
#define VSF_TEST_CFG_ARRAY_SIZE
Definition vsf_test.h:211
vsf_test_type_t
Test the type of the function,.
Definition vsf_test.h:251
@ VSF_TEST_TYPE_LONGJMP_FN
Definition vsf_test.h:254
@ VSF_TEST_TYPE_BOOL_FN
Definition vsf_test.h:257