Add a testcase to detect is_polling, to avoid some issues. Fixed #12405 Signed-off-by: NingX Zhao <ningx.zhao@intel.com>
96 lines
3.3 KiB
C
96 lines
3.3 KiB
C
/*
|
|
* Copyright (c) 2017 Wind River Systems, Inc.
|
|
*
|
|
* SPDX-License-Identifier: Apache-2.0
|
|
*/
|
|
|
|
#include <ztest.h>
|
|
extern void test_poll_no_wait(void);
|
|
extern void test_poll_wait(void);
|
|
extern void test_poll_zero_events(void);
|
|
extern void test_poll_cancel_main_low_prio(void);
|
|
extern void test_poll_cancel_main_high_prio(void);
|
|
extern void test_poll_multi(void);
|
|
extern void test_poll_threadstate(void);
|
|
extern void test_poll_grant_access(void);
|
|
extern void test_poll_fail_grant_access(void);
|
|
extern void test_poll_lower_prio(void);
|
|
extern void test_condition_met_type_err(void);
|
|
extern void test_detect_is_polling(void);
|
|
#ifdef CONFIG_USERSPACE
|
|
extern void test_k_poll_user_num_err(void);
|
|
extern void test_k_poll_user_mem_err(void);
|
|
extern void test_k_poll_user_type_sem_err(void);
|
|
extern void test_k_poll_user_type_signal_err(void);
|
|
extern void test_k_poll_user_type_fifo_err(void);
|
|
extern void test_k_poll_user_type_msgq_err(void);
|
|
extern void test_poll_signal_init_null(void);
|
|
extern void test_poll_signal_check_obj(void);
|
|
extern void test_poll_signal_check_signal(void);
|
|
extern void test_poll_signal_check_result(void);
|
|
extern void test_poll_signal_raise_null(void);
|
|
extern void test_poll_signal_reset_null(void);
|
|
#else
|
|
#define dummy_test(_name) \
|
|
static void _name(void) \
|
|
{ \
|
|
ztest_test_skip(); \
|
|
}
|
|
|
|
dummy_test(test_k_poll_user_num_err);
|
|
dummy_test(test_k_poll_user_mem_err);
|
|
dummy_test(test_k_poll_user_type_sem_err);
|
|
dummy_test(test_k_poll_user_type_signal_err);
|
|
dummy_test(test_k_poll_user_type_fifo_err);
|
|
dummy_test(test_k_poll_user_type_msgq_err);
|
|
dummy_test(test_poll_signal_init_null);
|
|
dummy_test(test_poll_signal_check_obj);
|
|
dummy_test(test_poll_signal_check_signal);
|
|
dummy_test(test_poll_signal_check_result);
|
|
dummy_test(test_poll_signal_raise_null);
|
|
dummy_test(test_poll_signal_reset_null);
|
|
#endif /* CONFIG_USERSPACE */
|
|
|
|
#ifdef CONFIG_64BIT
|
|
#define MAX_SZ 256
|
|
#else
|
|
#define MAX_SZ 128
|
|
#endif
|
|
|
|
K_HEAP_DEFINE(test_heap, MAX_SZ * 4);
|
|
|
|
/*test case main entry*/
|
|
void test_main(void)
|
|
{
|
|
test_poll_grant_access();
|
|
test_poll_fail_grant_access();
|
|
|
|
k_thread_heap_assign(k_current_get(), &test_heap);
|
|
|
|
ztest_test_suite(poll_api,
|
|
ztest_1cpu_user_unit_test(test_poll_no_wait),
|
|
ztest_1cpu_unit_test(test_poll_wait),
|
|
ztest_1cpu_unit_test(test_poll_zero_events),
|
|
ztest_1cpu_unit_test(test_poll_cancel_main_low_prio),
|
|
ztest_1cpu_unit_test(test_poll_cancel_main_high_prio),
|
|
ztest_unit_test(test_poll_multi),
|
|
ztest_1cpu_unit_test(test_poll_lower_prio),
|
|
ztest_1cpu_unit_test(test_poll_threadstate),
|
|
ztest_1cpu_unit_test(test_detect_is_polling),
|
|
ztest_1cpu_unit_test(test_condition_met_type_err),
|
|
ztest_user_unit_test(test_k_poll_user_num_err),
|
|
ztest_user_unit_test(test_k_poll_user_mem_err),
|
|
ztest_user_unit_test(test_k_poll_user_type_sem_err),
|
|
ztest_user_unit_test(test_k_poll_user_type_signal_err),
|
|
ztest_user_unit_test(test_k_poll_user_type_fifo_err),
|
|
ztest_user_unit_test(test_k_poll_user_type_msgq_err),
|
|
ztest_user_unit_test(test_poll_signal_init_null),
|
|
ztest_user_unit_test(test_poll_signal_check_obj),
|
|
ztest_user_unit_test(test_poll_signal_check_signal),
|
|
ztest_user_unit_test(test_poll_signal_check_result),
|
|
ztest_user_unit_test(test_poll_signal_raise_null),
|
|
ztest_user_unit_test(test_poll_signal_reset_null)
|
|
);
|
|
ztest_run_test_suite(poll_api);
|
|
}
|