Server IP : 13.213.54.232 / Your IP : 216.73.216.72 Web Server : Apache/2.4.52 (Ubuntu) System : Linux ip-172-31-17-110 6.8.0-1029-aws #31~22.04.1-Ubuntu SMP Thu Apr 24 21:16:18 UTC 2025 x86_64 User : www-data ( 33) PHP Version : 7.1.33-67+ubuntu22.04.1+deb.sury.org+1 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/self/root/lib/modules/6.8.0-1029-aws/build/include/kunit/ |
Upload File : |
/* SPDX-License-Identifier: GPL-2.0 */ /* * KUnit API providing hooks for non-test code to interact with tests. * * Copyright (C) 2020, Google LLC. * Author: Uriel Guajardo <urielguajardo@google.com> */ #ifndef _KUNIT_TEST_BUG_H #define _KUNIT_TEST_BUG_H #include <linux/stddef.h> /* for NULL */ #if IS_ENABLED(CONFIG_KUNIT) #include <linux/jump_label.h> /* For static branch */ #include <linux/sched.h> /* Static key if KUnit is running any tests. */ DECLARE_STATIC_KEY_FALSE(kunit_running); /* Hooks table: a table of function pointers filled in when kunit loads */ extern struct kunit_hooks_table { __printf(3, 4) void (*fail_current_test)(const char*, int, const char*, ...); void *(*get_static_stub_address)(struct kunit *test, void *real_fn_addr); } kunit_hooks; /** * kunit_get_current_test() - Return a pointer to the currently running * KUnit test. * * If a KUnit test is running in the current task, returns a pointer to its * associated struct kunit. This pointer can then be passed to any KUnit * function or assertion. If no test is running (or a test is running in a * different task), returns NULL. * * This function is safe to call even when KUnit is disabled. If CONFIG_KUNIT * is not enabled, it will compile down to nothing and will return quickly no * test is running. */ static inline struct kunit *kunit_get_current_test(void) { if (!static_branch_unlikely(&kunit_running)) return NULL; return current->kunit_test; } /** * kunit_fail_current_test() - If a KUnit test is running, fail it. * * If a KUnit test is running in the current task, mark that test as failed. */ #define kunit_fail_current_test(fmt, ...) do { \ if (static_branch_unlikely(&kunit_running)) { \ /* Guaranteed to be non-NULL when kunit_running true*/ \ kunit_hooks.fail_current_test(__FILE__, __LINE__, \ fmt, ##__VA_ARGS__); \ } \ } while (0) #else static inline struct kunit *kunit_get_current_test(void) { return NULL; } #define kunit_fail_current_test(fmt, ...) do {} while (0) #endif #endif /* _KUNIT_TEST_BUG_H */