From 07fe02a0a04555c601dc46a91b97529e4a972f56 Mon Sep 17 00:00:00 2001 From: Dennis Klein Date: Sun, 28 Jul 2019 16:28:46 +0200 Subject: [PATCH] Tests.SDK: Add another test --- test/sdk/_topology.cxx | 25 ++++++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/test/sdk/_topology.cxx b/test/sdk/_topology.cxx index 204ae507..7c90e262 100644 --- a/test/sdk/_topology.cxx +++ b/test/sdk/_topology.cxx @@ -105,7 +105,7 @@ TEST_F(Topology, ChangeStateTimeout) blocker.Wait(); } -TEST_F(Topology, ChangeStateFullDeviceLifetime) +TEST_F(Topology, ChangeStateFullDeviceLifecycle) { using fair::mq::sdk::Topology; using fair::mq::sdk::TopologyTransition; @@ -125,4 +125,27 @@ TEST_F(Topology, ChangeStateFullDeviceLifetime) } } +TEST_F(Topology, ChangeStateFullDeviceLifecycle2) +{ + using fair::mq::sdk::Topology; + using fair::mq::sdk::TopologyTransition; + + Topology topo(mDDSTopo, mDDSSession); + for (int i(0); i < 10; ++i) { + for (auto transition : {TopologyTransition::InitDevice, + TopologyTransition::CompleteInit, + TopologyTransition::Bind, + TopologyTransition::Connect, + TopologyTransition::InitTask, + TopologyTransition::Run}) { + ASSERT_EQ(topo.ChangeState(transition).rc, fair::mq::AsyncOpResultCode::Ok); + } + std::this_thread::sleep_for(std::chrono::milliseconds(100)); + for (auto transition : {TopologyTransition::Stop, + TopologyTransition::ResetTask, + TopologyTransition::ResetDevice}) { + ASSERT_EQ(topo.ChangeState(transition).rc, fair::mq::AsyncOpResultCode::Ok); + } + } +} } // namespace