8#include <userver/engine/task/task_processor_fwd.hpp>
9#include <userver/formats/json/serialize.hpp>
10#include <userver/formats/json/value.hpp>
11#include <userver/utils/function_ref.hpp>
13USERVER_NAMESPACE_BEGIN
20using TestpointCallback =
utils::function_ref<
void(
const formats::
json::Value&)>;
26bool IsTestpointEnabled(std::string_view name)
noexcept;
28void ExecuteTestpointCoro(std::string_view name,
const formats::
json::Value& json, TestpointCallback callback);
30void ExecuteTestpointBlocking(
31 std::string_view name,
33 TestpointCallback callback,
34 engine::TaskProcessor& task_processor
37void DoNothing(
const formats::
json::Value&)
noexcept;
60#define TESTPOINT_CALLBACK(name, json, callback)
62 if (__builtin_expect(!USERVER_NAMESPACE
::testsuite::AreTestpointsAvailable(), true)) break;
65 const auto& userver_impl_tp_name = name;
66 if (!USERVER_NAMESPACE
::testsuite::impl::IsTestpointEnabled(userver_impl_tp_name)) break;
68 USERVER_NAMESPACE
::testsuite::impl::ExecuteTestpointCoro(userver_impl_tp_name, json, callback);
60#define TESTPOINT_CALLBACK(name, json, callback) …
87#define TESTPOINT(name, json) TESTPOINT_CALLBACK(name, json, USERVER_NAMESPACE
::testsuite::impl::DoNothing)
97#define TESTPOINT_CALLBACK_NONCORO(name, json, task_processor, callback)
99 if (__builtin_expect(!USERVER_NAMESPACE
::testsuite::AreTestpointsAvailable(), true)) break;
102 const auto& userver_impl_tp_name = name;
103 if (!USERVER_NAMESPACE
::testsuite::impl::IsTestpointEnabled(userver_impl_tp_name)) break;
105 USERVER_NAMESPACE
::testsuite::impl::ExecuteTestpointBlocking(
106 userver_impl_tp_name, json, callback, task_processor
97#define TESTPOINT_CALLBACK_NONCORO(name, json, task_processor, callback) …
118#define TESTPOINT_NONCORO(name, json, task_processor)
118#define TESTPOINT_NONCORO(name, json, task_processor) …