tests(dds): enable GTest smoke-tests and add async-capable realistic MockDDS with GTest async subscription test

This commit is contained in:
Copilot authored and Torsten Wierschin committed 2026-07-20 18:23:40 +02:00
1 parent 14988660cd
commit 6d8d843ee0
4 files changed
+115 -8

No files matched your search

@@ -2,21 +2,24 @@
#include <string>
#include <functional>
#include <vector>
#include <chrono>
namespace MockDDS {
// Richer mock for migration smoke-tests:
// - publish(topic, payload)
// - publish(topic, payload) : synchronous publish
// - publish_async(topic, payload, delay_ms) : asynchronous publish (background dispatcher)
// - subscribe(topic, callback) -> subscription id
// - unsubscribe(topic, subscription id)
// - take_last(topic), get_queue(topic)
// - clear_all()
// - sequence numbers per topic (as simple integer appended to payload meta)
// - sequence numbers per topic (integer appended to payload meta)
using Subscriber = std::function<void(const std::string &payload)>;
using SubscriptionId = unsigned long;
void publish(const std::string &topic, const std::string &msg);
void publish_async(const std::string &topic, const std::string &msg, unsigned delay_ms = 0);
SubscriptionId subscribe(const std::string &topic, Subscriber cb);
void unsubscribe(const std::string &topic, SubscriptionId id);
std::string take_last(const std::string &topic);