Crash when debugging tests by disabling thread_local in /MT context

This commit is contained in:
Gordon 2020-07-26 17:18:25 +01:00 committed by RevoluPowered
parent 3842e8c465
commit 968bfdb72a
1 changed files with 7 additions and 0 deletions

View File

@ -9,6 +9,13 @@ env_tests = env.Clone()
# Enable test framework and inform it of configuration method. # Enable test framework and inform it of configuration method.
env_tests.Append(CPPDEFINES=["DOCTEST_CONFIG_IMPLEMENT"]) env_tests.Append(CPPDEFINES=["DOCTEST_CONFIG_IMPLEMENT"])
# We must disable the THREAD_LOCAL entirely in doctest to prevent crashes on debugging
# Since we link with /MT thread_local is always expired when the header is used
# So the debugger crashes the engine and it causes weird errors
# Explained in https://github.com/onqtam/doctest/issues/401
if env_tests["platform"] == "windows":
env_tests.Append(CPPDEFINES=[("DOCTEST_THREAD_LOCAL", "")])
env_tests.add_source_files(env.tests_sources, "*.cpp") env_tests.add_source_files(env.tests_sources, "*.cpp")
lib = env_tests.add_library("tests", env.tests_sources) lib = env_tests.add_library("tests", env.tests_sources)