Fix an issue with multiple symbol definitions when framework uses own Unity // Resolve #4259

This commit is contained in:
Ivan Kravets
2022-05-12 15:34:50 +03:00
parent de7d710943
commit 79b2bfdefe
2 changed files with 4 additions and 4 deletions

View File

@ -26,6 +26,7 @@ def ConfigureTestTarget(env):
CPPDEFINES=["UNIT_TEST", "PIO_UNIT_TESTING"],
PIOTEST_SRC_FILTER=[f"+<*.{ext}>" for ext in piotool.SRC_BUILD_EXT],
)
env.Prepend(CPPPATH=["$PROJECT_TEST_DIR"])
if "PIOTEST_RUNNING_NAME" in env:
test_name = env["PIOTEST_RUNNING_NAME"]
@ -34,7 +35,7 @@ def ConfigureTestTarget(env):
# skip nested tests (user's side issue?)
if not test_name or os.path.basename(test_name).startswith("test_"):
break
env.Append(
env.Prepend(
PIOTEST_SRC_FILTER=[
f"+<{test_name}{os.path.sep}*.{ext}>"
for ext in piotool.SRC_BUILD_EXT
@ -42,12 +43,11 @@ def ConfigureTestTarget(env):
CPPPATH=[os.path.join("$PROJECT_TEST_DIR", test_name)],
)
env.Append(
env.Prepend(
PIOTEST_SRC_FILTER=[f"+<$PIOTEST_RUNNING_NAME{os.path.sep}>"],
CPPPATH=[os.path.join("$PROJECT_TEST_DIR", "$PIOTEST_RUNNING_NAME")],
)
env.Append(CPPPATH=["$PROJECT_TEST_DIR"])
test_runner = TestRunnerFactory.new(
TestSuite(env["PIOENV"], env.get("PIOTEST_RUNNING_NAME", "*")),
env.GetProjectConfig(),

View File

@ -216,7 +216,7 @@ void unityOutputComplete(void) { unittest_uart_end(); }
UNITY_CONFIG_DIR=os.path.join("$BUILD_DIR", "unity_config"),
BUILD_UNITY_CONFIG_DIR=os.path.join("$BUILD_DIR", "unity_config_build"),
)
env.Append(CPPPATH=["$UNITY_CONFIG_DIR"])
env.Prepend(CPPPATH=["$UNITY_CONFIG_DIR"])
self.generate_unity_extras(env.subst("$UNITY_CONFIG_DIR"))
env.BuildSources("$BUILD_UNITY_CONFIG_DIR", "$UNITY_CONFIG_DIR")
return env