Browse Source

Crash when debugging tests by disabling thread_local in /MT context

Gordon 5 years ago
parent
commit
968bfdb72a
1 changed files with 7 additions and 0 deletions
  1. 7 0
      tests/SCsub

+ 7 - 0
tests/SCsub

@@ -9,6 +9,13 @@ env_tests = env.Clone()
 # Enable test framework and inform it of configuration method.
 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")
 
 lib = env_tests.add_library("tests", env.tests_sources)