summaryrefslogtreecommitdiff
path: root/modules/remote/tests
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-10-21 17:52:46 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-10-21 17:52:46 +0200
commitf2a1a3f56768d9aa03796808206f067daa5e0aa0 (patch)
treedfda93c68047a36c89e2a7af2000337c18e5558b /modules/remote/tests
parent545abfe5eb973c83ee38a799add02605c05af26d (diff)
Working towards proper rpc reference example
Diffstat (limited to 'modules/remote/tests')
-rw-r--r--modules/remote/tests/remote_loopback.cpp29
1 files changed, 29 insertions, 0 deletions
diff --git a/modules/remote/tests/remote_loopback.cpp b/modules/remote/tests/remote_loopback.cpp
index 61ff0bc..0450c21 100644
--- a/modules/remote/tests/remote_loopback.cpp
+++ b/modules/remote/tests/remote_loopback.cpp
@@ -12,6 +12,35 @@ using TestInterface = Interface<
}
+SAW_TEST("Remote Loopback RPC"){
+ using namespace saw;
+
+ event_loop loop;
+ wait_scope wait{loop};
+
+ remote<rmt::Loopback> rmt;
+
+ auto eov = rmt.parse_address(0u);
+ SAW_EXPECT(eov.is_value(), "Didn't parse correctly");
+ auto& addr = eov.get_value();
+
+ auto eo_u32_srv = rmt.template data_listen<sch::UInt32, encode::Native>(*addr);
+ SAW_EXPECT(eo_u32_srv.is_value(), std::string{"Couldn't listen: "} + std::string{eo_u32_srv.get_error().get_category()});
+ auto& u32_srv = eo_u32_srv.get_value();
+
+ auto eo_u64_srv = rmt.template data_listen<sch::UInt64, encode::Native>(*addr);
+ SAW_EXPECT(eo_u64_srv.is_value(), std::string{"Couldn't listen: "} + std::string{eo_u64_srv.get_error().get_category()});
+ auto& u64_srv = eo_u64_srv.get_value();
+
+ auto eo_rpc_srv = rmt.template listen<sch::TestInterface>(*addr);
+ SAW_EXPECT(eo_rpc_srv.is_value(), std::string{"Couldn't listen: "} + std::string{eo_rpc_srv.get_error().get_category()});
+ auto& rpc_srv = eo_rpc_srv.get_value();
+
+ id<sch::UInt32> id32{0u};
+ id<sch::UInt64> id64{0u};
+
+}
+
SAW_TEST("Remote Loopback Data"){
using namespace saw;