summaryrefslogtreecommitdiff
path: root/tools/slang-test/test-reporter.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tools/slang-test/test-reporter.cpp')
-rw-r--r--tools/slang-test/test-reporter.cpp11
1 files changed, 9 insertions, 2 deletions
diff --git a/tools/slang-test/test-reporter.cpp b/tools/slang-test/test-reporter.cpp
index ee8421e81..b2d0d1a54 100644
--- a/tools/slang-test/test-reporter.cpp
+++ b/tools/slang-test/test-reporter.cpp
@@ -140,18 +140,25 @@ void TestReporter::addResult(TestResult result)
{
assert(m_inTest);
+ std::lock_guard<std::recursive_mutex> lock(m_mutex);
+
m_currentInfo.testResult = combine(m_currentInfo.testResult, result);
m_numCurrentResults++;
}
void TestReporter::addExecutionTime(double time)
{
+ std::lock_guard<std::recursive_mutex> lock(m_mutex);
+
m_currentInfo.executionTime = time;
}
void TestReporter::addResultWithLocation(TestResult result, const char* testText, const char* file, int line)
{
assert(m_inTest);
+
+ std::lock_guard<std::recursive_mutex> lock(m_mutex);
+
m_numCurrentResults++;
m_currentInfo.testResult = combine(m_currentInfo.testResult, result);
@@ -505,8 +512,8 @@ void TestReporter::addTest(const String& testName, TestResult testResult)
void TestReporter::message(TestMessageType type, const String& message)
{
- static std::mutex mutex;
- std::lock_guard<std::mutex> lock(mutex);
+ std::lock_guard<std::recursive_mutex> lock(m_mutex);
+
if (type == TestMessageType::Info)
{
if (m_isVerbose && canWriteStdError())