diff options
author | Finn Williams <Finn.Williams@arm.com> | 2020-04-16 16:57:59 +0100 |
---|---|---|
committer | Finn Williams <Finn.Williams@arm.com> | 2020-04-16 17:15:24 +0100 |
commit | 38939ffbdf2ddffd4e7d4a283796c5cbab14e804 (patch) | |
tree | 38ba2f2a0aaf5c9a8809408933d09a195ed22d4c /src/profiling/test/ProfilingGuidTest.cpp | |
parent | d9ba1a7970157464e857319a46f5ade568635121 (diff) | |
download | armnn-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.cpp | 25 |
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() |