zephyr/tests/kernel/poll/src/main.c
NingX Zhao cb4a629bc8 tests: removing incorrect testcases of poll
These two test cases both are fault injection test cases,
and there are designed for testing some negative branches
to improve code coverage. But I find that this branch
shouldn't be tested, because the spinlock will be locked
before a procedure performs here, and then it will trigger
an assert error and the process will be rescheduled to the
handler function, and terminated the current test case,
so spinlock will never be unlocked. And it will impact
the next test case in the same test suite(the next testcase
will be never get spinlock).

Signed-off-by: NingX Zhao <ningx.zhao@intel.com>
2021-11-29 18:26:02 -05:00

92 lines
3.1 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_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_threadstate),
ztest_1cpu_unit_test(test_detect_is_polling),
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);
}