21#include "gdbsupport/selftest.h"
22#include "gdbsupport/observable.h"
77 {&
observer_token4,
"test4", {2, 3, 5}, {0, 1, 2, 3, 5},
81 {
nullptr,
"test6", {4}, {0, 1, 2, 3, 4, 5},
83 {
nullptr,
"test7", {0}, {0},
140 gdb::observers::observable<int> dependency_test_notification
141 (
"dependency_test_notification");
147 for (
int i : insertion_order)
152 std::vector<const gdb::observers::token *> dependency_tokens;
156 if (o.
token !=
nullptr)
157 dependency_test_notification.attach
160 dependency_test_notification.attach (o.
callback, o.
name,
165 dependency_test_notification.notify (1);
184 const gdb::observers::token token1 {}, token2 {} , token3 {};
245 selftests::register_test (
"gdb::observers",
247 selftests::register_test (
"gdb::observers dependency",
static gdb::observers::observable< int > test_notification("test_notification")
static gdb::observers::token observer_token2
static gdb::observers::token observer_token5
static void observer_dependency_test_callback(size_t index)
static int test_third_observer
static gdb::observers::token observer_token0
static int test_second_observer
static void test_dependency()
static gdb::observers::token observer_token1
static void run_dependency_test(std::vector< int > insertion_order)
static void test_second_notification_function(int arg)
static std::vector< dependency_observer_data > test_observers
static std::vector< int > dependency_test_counters
static int test_first_observer
static void test_third_notification_function(int arg)
static void test_first_notification_function(int arg)
static gdb::observers::token observer_token4
static void notify_check_counters(int one, int two, int three)
static gdb::observers::token observer_token3
void _initialize_observer_selftest()
gdb::observers::token * token
std::vector< int > all_dependencies
std::vector< int > direct_dependencies
std::function< void(int)> callback