summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGordon <gordon@gordonite.tech>2020-07-26 17:18:25 +0100
committerRevoluPowered <gordon@gordonite.tech>2020-07-26 18:24:52 +0100
commit968bfdb72ab443317cfc105c18183977891134e1 (patch)
tree652feb4ab8b3219cd483ce8b7e5a0d10452d7b40
parent3842e8c465b286247eb11263dde6353bf62bf2e2 (diff)
Crash when debugging tests by disabling thread_local in /MT context
-rw-r--r--tests/SCsub7
1 files changed, 7 insertions, 0 deletions
diff --git a/tests/SCsub b/tests/SCsub
index 9c32eb8ec3..84c9fc1ffe 100644
--- a/tests/SCsub
+++ b/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)