aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/test/ProfilingGuidTest.cpp
diff options
context:
space:
mode:
authorFinn Williams <Finn.Williams@arm.com>2020-04-16 16:57:59 +0100
committerFinn Williams <Finn.Williams@arm.com>2020-04-16 17:15:24 +0100
commit38939ffbdf2ddffd4e7d4a283796c5cbab14e804 (patch)
tree38ba2f2a0aaf5c9a8809408933d09a195ed22d4c /src/profiling/test/ProfilingGuidTest.cpp
parentd9ba1a7970157464e857319a46f5ade568635121 (diff)
downloadarmnn-38939ffbdf2ddffd4e7d4a283796c5cbab14e804.tar.gz
IVGCVSW-4701 Make the GUIDGenerator thread safe
Signed-off-by: Finn Williams <Finn.Williams@arm.com> Change-Id: Ide55731c51a8b77d71bfa4f3f7f0d122bb643d87
Diffstat (limited to 'src/profiling/test/ProfilingGuidTest.cpp')
-rw-r--r--src/profiling/test/ProfilingGuidTest.cpp25
1 files changed, 25 insertions, 0 deletions
diff --git a/src/profiling/test/ProfilingGuidTest.cpp b/src/profiling/test/ProfilingGuidTest.cpp
index 5782d21cf8..b8f6b88479 100644
--- a/src/profiling/test/ProfilingGuidTest.cpp
+++ b/src/profiling/test/ProfilingGuidTest.cpp
@@ -12,6 +12,7 @@
#include <boost/test/unit_test.hpp>
#include <boost/format.hpp>
+#include <thread>
using namespace armnn::profiling;
@@ -124,4 +125,28 @@ BOOST_AUTO_TEST_CASE(DynamicGuidGeneratorTest)
}
}
+BOOST_AUTO_TEST_CASE (ProfilingGuidThreadTest)
+{
+ ProfilingGuidGenerator profilingGuidGenerator;
+
+ auto guidGenerator = [&profilingGuidGenerator]()
+ {
+ for (int i = 0; i < 1000; ++i)
+ {
+ profilingGuidGenerator.NextGuid();
+ }
+ };
+
+ std::thread t1(guidGenerator);
+ std::thread t2(guidGenerator);
+ std::thread t3(guidGenerator);
+
+ t1.join();
+ t2.join();
+ t3.join();
+
+ uint64_t guid = profilingGuidGenerator.NextGuid();
+ BOOST_CHECK(guid == 3000u);
+}
+
BOOST_AUTO_TEST_SUITE_END()