IVGCVSW-3937 Refactor the command thread
* Integrated the Join method into Stop
* Updated the unit tests accordingly
* General code refactoring
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: If8537e77b3d3ff2b780f58a07df01191a91d83d2
diff --git a/src/profiling/test/ProfilingTests.cpp b/src/profiling/test/ProfilingTests.cpp
index d14791c..9dd7cd3 100644
--- a/src/profiling/test/ProfilingTests.cpp
+++ b/src/profiling/test/ProfilingTests.cpp
@@ -174,7 +174,6 @@
commandThread0.Start();
commandThread0.Stop();
- commandThread0.Join();
BOOST_CHECK(profilingStateMachine.GetCurrentState() == ProfilingState::Active);
@@ -188,11 +187,15 @@
testProfilingConnectionTimeOutError);
commandThread1.Start();
- commandThread1.Join();
+
+ std::this_thread::sleep_for(std::chrono::milliseconds(100));
+
+ BOOST_CHECK(!commandThread1.IsRunning());
+ commandThread1.Stop();
BOOST_CHECK(profilingStateMachine.GetCurrentState() == ProfilingState::WaitingForAck);
//now commandThread1 should persist after a timeout
- commandThread1.StopAfterTimeout(false);
+ commandThread1.SetStopAfterTimeout(false);
commandThread1.Start();
for (int i = 0; i < 100; i++)
@@ -208,11 +211,9 @@
}
commandThread1.Stop();
- commandThread1.Join();
BOOST_CHECK(profilingStateMachine.GetCurrentState() == ProfilingState::Active);
-
CommandThread commandThread2(1,
false,
commandHandlerRegistry,
@@ -226,13 +227,13 @@
if (!commandThread2.IsRunning())
{
//commandThread2 should stop once it encounters a non timing error
- commandThread2.Join();
return;
}
std::this_thread::sleep_for(std::chrono::milliseconds(5));
}
BOOST_ERROR("commandThread2 has failed to stop");
+ commandThread2.Stop();
}
BOOST_AUTO_TEST_CASE(CheckEncodeVersion)