From 0ac19741937e007ebb45791f53d413d21055feda Mon Sep 17 00:00:00 2001 From: Yong He Date: Mon, 10 Jan 2022 13:16:30 -0800 Subject: Enable running tests in parallel. (#2078) * Enable running tests in parallel. * Fix linux build. * Add pthread dependency for slang-test. * Fix teamcity output. * Fix race condition. * Make testReporter thread safe. * Clean up. * Fix. * trigger build * Fix. Co-authored-by: Yong He Co-authored-by: Theresa Foley --- source/compiler-core/slang-visual-studio-compiler-util.cpp | 5 +++-- source/core/slang-writer.cpp | 2 ++ source/core/slang-writer.h | 3 +++ 3 files changed, 8 insertions(+), 2 deletions(-) (limited to 'source') diff --git a/source/compiler-core/slang-visual-studio-compiler-util.cpp b/source/compiler-core/slang-visual-studio-compiler-util.cpp index e2c488ee9..9bdfd406a 100644 --- a/source/compiler-core/slang-visual-studio-compiler-util.cpp +++ b/source/compiler-core/slang-visual-studio-compiler-util.cpp @@ -87,8 +87,7 @@ namespace Slang // https://docs.microsoft.com/en-us/cpp/build/reference/compiler-options-listed-alphabetically?view=vs-2019 cmdLine.addArg("/nologo"); - // Generate complete debugging information - cmdLine.addArg("/Zi"); + // Display full path of source files in diagnostics cmdLine.addArg("/FC"); @@ -139,6 +138,8 @@ namespace Slang // /Fd - followed by name of the pdb file if (options.debugInfoType != DebugInfoType::None) { + // Generate complete debugging information + cmdLine.addArg("/Zi"); cmdLine.addPrefixPathArg("/Fd", options.modulePath, ".pdb"); } diff --git a/source/core/slang-writer.cpp b/source/core/slang-writer.cpp index 3b1a5756a..849cb2da0 100644 --- a/source/core/slang-writer.cpp +++ b/source/core/slang-writer.cpp @@ -71,6 +71,7 @@ ISlangUnknown* BaseWriter::getInterface(const Guid& guid) SLANG_NO_THROW char* SLANG_MCALL AppendBufferWriter::beginAppendBuffer(size_t maxNumChars) { + mutex.lock(); m_appendBuffer.setCount(maxNumChars); return m_appendBuffer.getBuffer(); } @@ -82,6 +83,7 @@ SLANG_NO_THROW SlangResult SLANG_MCALL AppendBufferWriter::endAppendBuffer(char* SlangResult res = write(buffer, numChars); // Clear so that buffer can't be written from again without assert m_appendBuffer.clear(); + mutex.unlock(); return res; } diff --git a/source/core/slang-writer.h b/source/core/slang-writer.h index 7c768a22f..ccdcb3747 100644 --- a/source/core/slang-writer.h +++ b/source/core/slang-writer.h @@ -8,6 +8,8 @@ #include "slang-list.h" +#include + namespace Slang { @@ -81,6 +83,7 @@ public: protected: List m_appendBuffer; + std::mutex mutex; }; class CallbackWriter : public AppendBufferWriter -- cgit v1.2.3