aboutsummaryrefslogtreecommitdiff
path: root/src/profiling/test/ProfilingGuidTest.cpp
diff options
context:
space:
mode:
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()