Zephyr Project API 3.7.0
A Scalable Open Source RTOS
Loading...
Searching...
No Matches
ztest_test.h File Reference

Zephyr testing framework _test. More...

#include <zephyr/app_memory/app_memdomain.h>
#include <zephyr/init.h>
#include <zephyr/sys/iterable_sections.h>
#include <stdbool.h>
#include <zephyr/syscalls/ztest_test.h>

Go to the source code of this file.

Data Structures

struct  ztest_expected_result_entry
 A single expectation entry allowing tests to fail/skip and be considered passing. More...
 
struct  ztest_unit_test
 
struct  ztest_suite_stats
 Stats about a ztest suite. More...
 
struct  ztest_unit_test_stats
 
struct  ztest_suite_node
 A single node of test suite. More...
 
struct  ztest_arch_api
 Structure for architecture specific APIs. More...
 

Macros

#define ZTEST_EXPECT_FAIL(_suite_name, _test_name)    __ZTEST_EXPECT(_suite_name, _test_name, ZTEST_EXPECTED_RESULT_FAIL)
 Expect a test to fail (mark it passing if it failed)
 
#define ZTEST_EXPECT_SKIP(_suite_name, _test_name)    __ZTEST_EXPECT(_suite_name, _test_name, ZTEST_EXPECTED_RESULT_SKIP)
 Expect a test to skip (mark it passing if it failed)
 
#define ZTEST_TEST_COUNT   (_ztest_unit_test_list_end - _ztest_unit_test_list_start)
 Number of registered unit tests.
 
#define ZTEST_SUITE_COUNT   (_ztest_suite_node_list_end - _ztest_suite_node_list_start)
 Number of registered test suites.
 
#define ZTEST_SUITE(SUITE_NAME, PREDICATE, setup_fn, before_fn, after_fn, teardown_fn)
 Create and register a ztest suite.
 
#define ZTEST_DMEM   K_APP_DMEM(ztest_mem_partition)
 Make data section used by Ztest userspace accessible.
 
#define ZTEST_BMEM   K_APP_BMEM(ztest_mem_partition)
 Make bss section used by Ztest userspace accessible.
 
#define ZTEST_SECTION   K_APP_DMEM_SECTION(ztest_mem_partition)
 Ztest data section for accessing data from userspace.
 
#define ZTEST(suite, fn)   Z_ZTEST(suite, fn, 0)
 Create and register a new unit test.
 
#define ZTEST_USER(suite, fn)   Z_ZTEST(suite, fn, K_USER)
 Define a test function that should run as a user thread.
 
#define ZTEST_F(suite, fn)   Z_ZTEST_F(suite, fn, 0)
 Define a test function.
 
#define ZTEST_USER_F(suite, fn)   Z_ZTEST_F(suite, fn, K_USER)
 Define a test function that should run as a user thread.
 
#define ZTEST_RULE(name, before_each_fn, after_each_fn)
 Define a test rule that will run before/after each unit test.
 
#define ztest_run_test_suite(suite, shuffle, suite_iter, case_iter)    z_ztest_run_test_suite(STRINGIFY(suite), shuffle, suite_iter, case_iter)
 Run the specified test suite.
 

Typedefs

typedef void *(* ztest_suite_setup_t) (void)
 Setup function to run before running this suite.
 
typedef void(* ztest_suite_before_t) (void *fixture)
 Function to run before each test in this suite.
 
typedef void(* ztest_suite_after_t) (void *fixture)
 Function to run after each test in this suite.
 
typedef void(* ztest_suite_teardown_t) (void *fixture)
 Teardown function to run after running this suite.
 
typedef bool(* ztest_suite_predicate_t) (const void *global_state)
 An optional predicate function to determine if the test should run.
 
typedef void(* ztest_rule_cb) (const struct ztest_unit_test *test, void *data)
 Test rule callback function signature.
 

Enumerations

enum  ztest_expected_result { ZTEST_EXPECTED_RESULT_FAIL = 0 , ZTEST_EXPECTED_RESULT_SKIP }
 The expected result of a test. More...
 
enum  ztest_result {
  ZTEST_RESULT_PENDING , ZTEST_RESULT_PASS , ZTEST_RESULT_FAIL , ZTEST_RESULT_SKIP ,
  ZTEST_RESULT_SUITE_SKIP , ZTEST_RESULT_SUITE_FAIL
}
 The result of the current running test. More...
 
enum  ztest_phase {
  TEST_PHASE_SETUP , TEST_PHASE_BEFORE , TEST_PHASE_TEST , TEST_PHASE_AFTER ,
  TEST_PHASE_TEARDOWN , TEST_PHASE_FRAMEWORK
}
 Each enum member represents a distinct phase of execution for the test binary. More...
 

Functions

void ztest_run_all (const void *state, bool shuffle, int suite_iter, int case_iter)
 Default entry point for running or listing registered unit tests.
 
int ztest_run_test_suites (const void *state, bool shuffle, int suite_iter, int case_iter)
 Run the registered unit tests which return true from their predicate function.
 
void ztest_verify_all_test_suites_ran (void)
 Fails the test if any of the registered tests did not run.
 
void ztest_test_fail (void)
 Fail the currently running test.
 
void ztest_test_pass (void)
 Pass the currently running test.
 
void ztest_test_skip (void)
 Skip the current test.
 
void ztest_skip_failed_assumption (void)
 
void ztest_simple_1cpu_before (void *data)
 A 'before' function to use in test suites that just need to start 1cpu.
 
void ztest_simple_1cpu_after (void *data)
 A 'after' function to use in test suites that just need to stop 1cpu.
 
void sys_clock_tick_set (uint64_t tick)
 

Variables

struct k_mem_partition ztest_mem_partition
 

Detailed Description

Zephyr testing framework _test.

Function Documentation

◆ sys_clock_tick_set()

void sys_clock_tick_set ( uint64_t  tick)