diff options
Diffstat (limited to 'modules/remote/tests/remote_loopback.cpp')
-rw-r--r-- | modules/remote/tests/remote_loopback.cpp | 29 |
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; |