mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-29 17:47:14 +02:00
Fixed a “TypeError” issue when extending configuration option in “platformio.ini” with the multi-line default value // Resolve #4082
This commit is contained in:
@ -12,6 +12,8 @@ PlatformIO Core 5
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
||||
- Override debugging firmware loading mode using ``--load-mode`` option for `pio debug <https://docs.platformio.org/en/latest/core/userguide/cmd_debug.html>`__ command
|
||||
- Removed debugging "legacy Click" message from CLI (`issue #4083 <https://github.com/platformio/platformio-core/issues/4083>`_)
|
||||
- Fixed a "TypeError: sequence item 1: expected str instance, list found" issue when extending configuration option in `"platformio.ini" <https://docs.platformio.org/page/projectconf.html>`__ with the multi-line default value (`issue #4082 <https://github.com/platformio/platformio-core/issues/4082>`_)
|
||||
|
||||
5.2.1 (2021-10-11)
|
||||
~~~~~~~~~~~~~~~~~~
|
||||
|
@ -295,7 +295,10 @@ class ProjectConfigBase(object):
|
||||
section, option = match.group(1), match.group(2)
|
||||
if section == "sysenv":
|
||||
return os.getenv(option)
|
||||
return self.getraw(section, option)
|
||||
value = self.getraw(section, option)
|
||||
if isinstance(value, list):
|
||||
return "\n".join(value)
|
||||
return value
|
||||
|
||||
def get(self, section, option, default=MISSING):
|
||||
value = None
|
||||
|
@ -63,6 +63,10 @@ targets =
|
||||
[env:test_extends]
|
||||
extends = strict_settings
|
||||
|
||||
[env:inject_base_env]
|
||||
debug_build_flags =
|
||||
${env.debug_build_flags}
|
||||
-D CUSTOM_DEBUG_FLAG
|
||||
|
||||
"""
|
||||
|
||||
@ -150,13 +154,20 @@ def test_sections(config):
|
||||
"custom",
|
||||
"env:base",
|
||||
"env:test_extends",
|
||||
"env:inject_base_env",
|
||||
"env:extra_1",
|
||||
"env:extra_2",
|
||||
]
|
||||
|
||||
|
||||
def test_envs(config):
|
||||
assert config.envs() == ["base", "test_extends", "extra_1", "extra_2"]
|
||||
assert config.envs() == [
|
||||
"base",
|
||||
"test_extends",
|
||||
"inject_base_env",
|
||||
"extra_1",
|
||||
"extra_2",
|
||||
]
|
||||
assert config.default_envs() == ["base", "extra_2"]
|
||||
|
||||
|
||||
@ -274,6 +285,14 @@ def test_get_value(config):
|
||||
assert config.get("env:extra_2", "monitor_speed") == 9600
|
||||
assert config.get("env:base", "build_flags") == ["-D DEBUG=1"]
|
||||
|
||||
# get default value from ConfigOption
|
||||
assert config.get("env:inject_base_env", "debug_build_flags") == [
|
||||
"-Og",
|
||||
"-g2",
|
||||
"-ggdb2",
|
||||
"-D CUSTOM_DEBUG_FLAG",
|
||||
]
|
||||
|
||||
|
||||
def test_items(config):
|
||||
assert config.items("custom") == [
|
||||
@ -445,4 +464,13 @@ def test_dump(tmpdir_factory):
|
||||
],
|
||||
),
|
||||
("env:test_extends", [("extends", ["strict_settings"])]),
|
||||
(
|
||||
"env:inject_base_env",
|
||||
[
|
||||
(
|
||||
"debug_build_flags",
|
||||
["${env.debug_build_flags}", "-D CUSTOM_DEBUG_FLAG"],
|
||||
)
|
||||
],
|
||||
),
|
||||
]
|
||||
|
Reference in New Issue
Block a user