Zephyr Project API  3.2.0
A Scalable Open Source RTOS
ztest_test_deprecated.h
Go to the documentation of this file.
1/*
2 * Copyright (c) 2016 Intel Corporation
3 *
4 * SPDX-License-Identifier: Apache-2.0
5 */
6
13#ifndef ZEPHYR_TESTSUITE_ZTEST_TEST_H_
14#define ZEPHYR_TESTSUITE_ZTEST_TEST_H_
15
17#include <zephyr/init.h>
18#include <stdbool.h>
19
20#ifdef __cplusplus
21extern "C" {
22#endif
23
24struct unit_test {
25 const char *name;
26 void (*test)(void);
27 void (*setup)(void);
28 void (*teardown)(void);
30};
31
42};
43
50 const char *name;
60 bool (*predicate)(const void *state);
63};
64
65extern struct ztest_suite_node _ztest_suite_node_list_start[];
66extern struct ztest_suite_node _ztest_suite_node_list_end[];
67
79#define ztest_register_test_suite(SUITE_NAME, PREDICATE, args...) \
80 ztest_test_suite(SUITE_NAME, ##args); \
81 struct ztest_suite_stats UTIL_CAT(z_ztest_test_node_stats_, SUITE_NAME); \
82 static STRUCT_SECTION_ITERABLE(ztest_suite_node, z_ztest_test_node_##SUITE_NAME) = { \
83 .name = #SUITE_NAME, \
84 .suite = _##SUITE_NAME, \
85 .predicate = PREDICATE, \
86 .stats = &UTIL_CAT(z_ztest_test_node_stats_, SUITE_NAME), \
87 };
88
96
107
118int z_ztest_run_test_suite(const char *name, struct unit_test *suite);
119
137
147
152
160static inline void unit_test_noop(void)
161{
162}
163
174#define ztest_unit_test_setup_teardown(fn, setup, teardown) \
175 { \
176 STRINGIFY(fn), fn, setup, teardown, 0 \
177 }
178
191#define ztest_user_unit_test_setup_teardown(fn, setup, teardown) \
192 { \
193 STRINGIFY(fn), fn, setup, teardown, K_USER \
194 }
195
203#define ztest_unit_test(fn) \
204 ztest_unit_test_setup_teardown(fn, unit_test_noop, unit_test_noop)
205
215#define ztest_user_unit_test(fn) \
216 ztest_user_unit_test_setup_teardown(fn, unit_test_noop, unit_test_noop)
217
226#ifdef CONFIG_SMP
227#define ztest_1cpu_unit_test(fn) \
228 ztest_unit_test_setup_teardown(fn, z_test_1cpu_start, z_test_1cpu_stop)
229#else
230#define ztest_1cpu_unit_test(fn) ztest_unit_test(fn)
231#endif
232
241#ifdef CONFIG_SMP
242#define ztest_1cpu_user_unit_test(fn) \
243 ztest_user_unit_test_setup_teardown(fn, z_test_1cpu_start, z_test_1cpu_stop)
244#else
245#define ztest_1cpu_user_unit_test(fn) ztest_user_unit_test(fn)
246#endif
247
248/* definitions for use with testing application shared memory */
249#ifdef CONFIG_USERSPACE
250#define ZTEST_DMEM K_APP_DMEM(ztest_mem_partition)
251#define ZTEST_BMEM K_APP_BMEM(ztest_mem_partition)
252#define ZTEST_SECTION K_APP_DMEM_SECTION(ztest_mem_partition)
254#else
255#define ZTEST_DMEM
256#define ZTEST_BMEM
257#define ZTEST_SECTION .data
258#endif
259
275#define ztest_test_suite(suite, ...) \
276 static ZTEST_DMEM struct unit_test _##suite[] = { __VA_ARGS__, { 0 } }
282#define ztest_run_test_suite(suite) \
283 z_ztest_run_test_suite(#suite, _##suite)
284
289#ifdef __cplusplus
290}
291#endif
292
293#endif /* ZEPHYR_TESTSUITE_ZTEST_TEST_H_ */
void ztest_test_pass(void)
Pass the currently running test.
struct k_mem_partition ztest_mem_partition
void ztest_test_fail(void)
Fail the currently running test.
void ztest_test_skip(void)
Skip the current test.
static void unit_test_noop(void)
Do nothing, successfully.
Definition: ztest_test_deprecated.h:160
state
Definition: http_parser_state.h:29
#define bool
Definition: stdbool.h:13
__UINT32_TYPE__ uint32_t
Definition: stdint.h:90
Memory Partition.
Definition: mem_domain.h:55
Definition: ztest_test_deprecated.h:24
void(* setup)(void)
Definition: ztest_test_deprecated.h:27
void(* teardown)(void)
Definition: ztest_test_deprecated.h:28
uint32_t thread_options
Definition: ztest_test_deprecated.h:29
void(* test)(void)
Definition: ztest_test_deprecated.h:26
const char * name
Definition: ztest_test_deprecated.h:25
Definition: ztest_test_deprecated.h:48
struct unit_test * suite
Definition: ztest_test_deprecated.h:52
const char * name
Definition: ztest_test_deprecated.h:50
struct ztest_suite_stats * stats
Definition: ztest_test_deprecated.h:62
bool(* predicate)(const void *state)
Definition: ztest_test_deprecated.h:60
Definition: ztest_test_deprecated.h:35
uint32_t skip_count
Definition: ztest_test_deprecated.h:39
uint32_t fail_count
Definition: ztest_test_deprecated.h:41
uint32_t run_count
Definition: ztest_test_deprecated.h:37
int ztest_run_registered_test_suites(const void *state)
void ztest_verify_all_registered_test_suites_ran(void)
Fails the test if any of the registered tests did not run.