forked from platformio/platformio-core
Fixed "TypeError: unsupported operand type(s)" when system environment variable is used by project configuration parser // Resolve #3377
This commit is contained in:
28
HISTORY.rst
28
HISTORY.rst
@ -1,10 +1,16 @@
|
|||||||
Release Notes
|
Release Notes
|
||||||
=============
|
=============
|
||||||
|
|
||||||
.. _release_notes_4_0:
|
.. _release_notes_4:
|
||||||
|
|
||||||
|
PlatformIO Core 4
|
||||||
|
-----------------
|
||||||
|
|
||||||
|
4.2.1 (2020-02-??)
|
||||||
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
* Fixed "TypeError: unsupported operand type(s)" when system environment variable is used by project configuration parser (`issue #3377 <https://github.com/platformio/platformio-core/issues/3377>`_)
|
||||||
|
|
||||||
PlatformIO Core 4.0
|
|
||||||
-------------------
|
|
||||||
|
|
||||||
4.2.0 (2020-02-12)
|
4.2.0 (2020-02-12)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
@ -182,8 +188,8 @@ PlatformIO Core 4.0
|
|||||||
- Fixed "systemd-udevd" warnings in `99-platformio-udev.rules <http://docs.platformio.org/page/faq.html#platformio-udev-rules>`__ (`issue #2442 <https://github.com/platformio/platformio-core/issues/2442>`_)
|
- Fixed "systemd-udevd" warnings in `99-platformio-udev.rules <http://docs.platformio.org/page/faq.html#platformio-udev-rules>`__ (`issue #2442 <https://github.com/platformio/platformio-core/issues/2442>`_)
|
||||||
- Fixed an issue when package cache (Library Manager) expires too fast (`issue #2559 <https://github.com/platformio/platformio-core/issues/2559>`_)
|
- Fixed an issue when package cache (Library Manager) expires too fast (`issue #2559 <https://github.com/platformio/platformio-core/issues/2559>`_)
|
||||||
|
|
||||||
PlatformIO Core 3.0
|
PlatformIO Core 3
|
||||||
-------------------
|
-----------------
|
||||||
|
|
||||||
3.6.7 (2019-04-23)
|
3.6.7 (2019-04-23)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
@ -783,8 +789,8 @@ PlatformIO Core 3.0
|
|||||||
(`issue #742 <https://github.com/platformio/platformio-core/issues/742>`_)
|
(`issue #742 <https://github.com/platformio/platformio-core/issues/742>`_)
|
||||||
* Stopped supporting Python 2.6
|
* Stopped supporting Python 2.6
|
||||||
|
|
||||||
PlatformIO Core 2.0
|
PlatformIO Core 2
|
||||||
--------------------
|
-----------------
|
||||||
|
|
||||||
2.11.2 (2016-08-02)
|
2.11.2 (2016-08-02)
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
@ -1569,8 +1575,8 @@ PlatformIO Core 2.0
|
|||||||
* Fixed bug with creating copies of source files
|
* Fixed bug with creating copies of source files
|
||||||
(`issue #177 <https://github.com/platformio/platformio-core/issues/177>`_)
|
(`issue #177 <https://github.com/platformio/platformio-core/issues/177>`_)
|
||||||
|
|
||||||
PlatformIO Core 1.0
|
PlatformIO Core 1
|
||||||
-------------------
|
-----------------
|
||||||
|
|
||||||
1.5.0 (2015-05-15)
|
1.5.0 (2015-05-15)
|
||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
@ -1760,8 +1766,8 @@ PlatformIO Core 1.0
|
|||||||
error (`issue #81 <https://github.com/platformio/platformio-core/issues/81>`_)
|
error (`issue #81 <https://github.com/platformio/platformio-core/issues/81>`_)
|
||||||
* Several bug fixes, increased stability and performance improvements
|
* Several bug fixes, increased stability and performance improvements
|
||||||
|
|
||||||
PlatformIO Core 0.0
|
PlatformIO Core Preview
|
||||||
-------------------
|
-----------------------
|
||||||
|
|
||||||
0.10.2 (2015-01-06)
|
0.10.2 (2015-01-06)
|
||||||
~~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~~
|
||||||
|
@ -273,7 +273,9 @@ class ProjectConfigBase(object):
|
|||||||
if envvar_value:
|
if envvar_value:
|
||||||
break
|
break
|
||||||
if envvar_value and option_meta.multiple:
|
if envvar_value and option_meta.multiple:
|
||||||
value += ("" if value == MISSING else "\n") + envvar_value
|
if value == MISSING:
|
||||||
|
value = ""
|
||||||
|
value += ("\n" if value else "") + envvar_value
|
||||||
elif envvar_value and value == MISSING:
|
elif envvar_value and value == MISSING:
|
||||||
value = envvar_value
|
value = envvar_value
|
||||||
|
|
||||||
|
@ -185,6 +185,7 @@ def test_sysenv_options(config):
|
|||||||
assert config.get("env:base", "upload_port") is None
|
assert config.get("env:base", "upload_port") is None
|
||||||
assert config.get("env:extra_2", "upload_port") == "/dev/extra_2/port"
|
assert config.get("env:extra_2", "upload_port") == "/dev/extra_2/port"
|
||||||
os.environ["PLATFORMIO_BUILD_FLAGS"] = "-DSYSENVDEPS1 -DSYSENVDEPS2"
|
os.environ["PLATFORMIO_BUILD_FLAGS"] = "-DSYSENVDEPS1 -DSYSENVDEPS2"
|
||||||
|
os.environ["PLATFORMIO_BUILD_UNFLAGS"] = "-DREMOVE_MACRO"
|
||||||
os.environ["PLATFORMIO_UPLOAD_PORT"] = "/dev/sysenv/port"
|
os.environ["PLATFORMIO_UPLOAD_PORT"] = "/dev/sysenv/port"
|
||||||
os.environ["__PIO_TEST_CNF_EXTRA_FLAGS"] = "-L /usr/local/lib"
|
os.environ["__PIO_TEST_CNF_EXTRA_FLAGS"] = "-L /usr/local/lib"
|
||||||
assert config.get("custom", "extra_flags") == "-L /usr/local/lib"
|
assert config.get("custom", "extra_flags") == "-L /usr/local/lib"
|
||||||
@ -194,6 +195,7 @@ def test_sysenv_options(config):
|
|||||||
]
|
]
|
||||||
assert config.get("env:base", "upload_port") == "/dev/sysenv/port"
|
assert config.get("env:base", "upload_port") == "/dev/sysenv/port"
|
||||||
assert config.get("env:extra_2", "upload_port") == "/dev/extra_2/port"
|
assert config.get("env:extra_2", "upload_port") == "/dev/extra_2/port"
|
||||||
|
assert config.get("env:base", "build_unflags") == ["-DREMOVE_MACRO"]
|
||||||
|
|
||||||
# env var as option
|
# env var as option
|
||||||
assert config.options(env="test_extends") == [
|
assert config.options(env="test_extends") == [
|
||||||
@ -206,6 +208,7 @@ def test_sysenv_options(config):
|
|||||||
"lib_deps",
|
"lib_deps",
|
||||||
"lib_ignore",
|
"lib_ignore",
|
||||||
"custom_builtin_option",
|
"custom_builtin_option",
|
||||||
|
"build_unflags",
|
||||||
"upload_port",
|
"upload_port",
|
||||||
]
|
]
|
||||||
|
|
||||||
@ -215,6 +218,7 @@ def test_sysenv_options(config):
|
|||||||
|
|
||||||
# cleanup system environment variables
|
# cleanup system environment variables
|
||||||
del os.environ["PLATFORMIO_BUILD_FLAGS"]
|
del os.environ["PLATFORMIO_BUILD_FLAGS"]
|
||||||
|
del os.environ["PLATFORMIO_BUILD_UNFLAGS"]
|
||||||
del os.environ["PLATFORMIO_UPLOAD_PORT"]
|
del os.environ["PLATFORMIO_UPLOAD_PORT"]
|
||||||
del os.environ["__PIO_TEST_CNF_EXTRA_FLAGS"]
|
del os.environ["__PIO_TEST_CNF_EXTRA_FLAGS"]
|
||||||
del os.environ["PLATFORMIO_HOME_DIR"]
|
del os.environ["PLATFORMIO_HOME_DIR"]
|
||||||
|
Reference in New Issue
Block a user