mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 10:07:14 +02:00
Custom transport for Unit Testing
This commit is contained in:
33
HISTORY.rst
33
HISTORY.rst
@ -15,6 +15,7 @@ PlatformIO 3.0
|
|||||||
- Compatibility with the popular IDEs: Atom, VSCode, Eclipse, Sublime Text, etc
|
- Compatibility with the popular IDEs: Atom, VSCode, Eclipse, Sublime Text, etc
|
||||||
- Windows, MacOS, Linux (+ARMv6-8)
|
- Windows, MacOS, Linux (+ARMv6-8)
|
||||||
|
|
||||||
|
* Custom ``test_transport`` for `PIO Unit Testing <http://docs.platformio.org/page/plus/unit-testing.html>`__ Engine
|
||||||
* Configure Serial Port Monitor in `Project Configuration File "platformio.ini" <http://docs.platformio.org/page/projectconf.html>`__
|
* Configure Serial Port Monitor in `Project Configuration File "platformio.ini" <http://docs.platformio.org/page/projectconf.html>`__
|
||||||
(`issue #787 <https://github.com/platformio/platformio-core/issues/787>`_)
|
(`issue #787 <https://github.com/platformio/platformio-core/issues/787>`_)
|
||||||
* Project generator for `VIM <http://docs.platformio.org/page/ide/vim.html>`__
|
* Project generator for `VIM <http://docs.platformio.org/page/ide/vim.html>`__
|
||||||
@ -137,11 +138,11 @@ PlatformIO 3.0
|
|||||||
command
|
command
|
||||||
(`issue #430 <https://github.com/platformio/platformio-core/issues/430>`_)
|
(`issue #430 <https://github.com/platformio/platformio-core/issues/430>`_)
|
||||||
* List supported frameworks, SDKs with a new
|
* List supported frameworks, SDKs with a new
|
||||||
`pio platform frameworks <http://docs.platformio.org/en/latest/userguide/platforms/cmd_frameworks.htmll>`__ command
|
`pio platform frameworks <http://docs.platformio.org/page/userguide/platforms/cmd_frameworks.htmll>`__ command
|
||||||
* Visual Studio Code extension for PlatformIO
|
* Visual Studio Code extension for PlatformIO
|
||||||
(`issue #619 <https://github.com/platformio/platformio-core/issues/619>`_)
|
(`issue #619 <https://github.com/platformio/platformio-core/issues/619>`_)
|
||||||
* Added new options ``--no-reset``, ``--monitor-rts`` and ``--monitor-dtr``
|
* Added new options ``--no-reset``, ``--monitor-rts`` and ``--monitor-dtr``
|
||||||
to `pio test <http://docs.platformio.org/en/latest/userguide/cmd_test.html>`__
|
to `pio test <http://docs.platformio.org/page/userguide/cmd_test.html>`__
|
||||||
command (allows to avoid automatic board's auto-reset when gathering test results)
|
command (allows to avoid automatic board's auto-reset when gathering test results)
|
||||||
* Added support for templated methods in ``*.ino to *.cpp`` converter
|
* Added support for templated methods in ``*.ino to *.cpp`` converter
|
||||||
(`pull #858 <https://github.com/platformio/platformio-core/pull/858>`_)
|
(`pull #858 <https://github.com/platformio/platformio-core/pull/858>`_)
|
||||||
@ -279,7 +280,7 @@ PlatformIO 3.0
|
|||||||
* Custom boards per project with ``boards_dir`` option in
|
* Custom boards per project with ``boards_dir`` option in
|
||||||
`Project Configuration File "platformio.ini" <http://docs.platformio.org/page/projectconf.html>`__
|
`Project Configuration File "platformio.ini" <http://docs.platformio.org/page/projectconf.html>`__
|
||||||
(`issue #515 <https://github.com/platformio/platformio-core/issues/515>`_)
|
(`issue #515 <https://github.com/platformio/platformio-core/issues/515>`_)
|
||||||
* Unix shell-style wildcards for `upload_port <http://docs.platformio.org/page/projectconf.html#upload-port>`_
|
* Unix shell-style wildcards for `upload_port <http://docs.platformio.org/page/projectconf/section_env_upload.html#upload-port>`_
|
||||||
(`issue #839 <https://github.com/platformio/platformio-core/issues/839>`_)
|
(`issue #839 <https://github.com/platformio/platformio-core/issues/839>`_)
|
||||||
* Refactored `Library Dependency Finder (LDF) <http://docs.platformio.org/page/librarymanager/ldf.html>`__
|
* Refactored `Library Dependency Finder (LDF) <http://docs.platformio.org/page/librarymanager/ldf.html>`__
|
||||||
C/C++ Preprocessor for conditional syntax (``#ifdef``, ``#if``, ``#else``,
|
C/C++ Preprocessor for conditional syntax (``#ifdef``, ``#if``, ``#else``,
|
||||||
@ -406,7 +407,7 @@ PlatformIO 3.0
|
|||||||
* Improved Project Generator when custom ``--project-option`` is passed to
|
* Improved Project Generator when custom ``--project-option`` is passed to
|
||||||
`platformio init <http://docs.platformio.org/page/userguide/cmd_init.html>`__
|
`platformio init <http://docs.platformio.org/page/userguide/cmd_init.html>`__
|
||||||
command
|
command
|
||||||
* Deprecated ``lib_force`` option, please use `lib_deps <http://docs.platformio.org/page/projectconf.html#lib-deps>`__ instead
|
* Deprecated ``lib_force`` option, please use `lib_deps <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps>`__ instead
|
||||||
* Return valid exit code from ``plaformio test`` command
|
* Return valid exit code from ``plaformio test`` command
|
||||||
* Fixed Project Generator for CLion IDE using Windows OS
|
* Fixed Project Generator for CLion IDE using Windows OS
|
||||||
(`issue #785 <https://github.com/platformio/platformio-core/issues/785>`_)
|
(`issue #785 <https://github.com/platformio/platformio-core/issues/785>`_)
|
||||||
@ -484,7 +485,7 @@ PlatformIO 3.0
|
|||||||
|
|
||||||
* Library Manager 3.0
|
* Library Manager 3.0
|
||||||
|
|
||||||
+ Project dependencies per build environment using `lib_deps <http://docs.platformio.org/page/projectconf.html#lib-deps>`__ option
|
+ Project dependencies per build environment using `lib_deps <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps>`__ option
|
||||||
(`issue #413 <https://github.com/platformio/platformio-core/issues/413>`_)
|
(`issue #413 <https://github.com/platformio/platformio-core/issues/413>`_)
|
||||||
+ `Semantic Versioning <http://semver.org/>`__ for library commands and
|
+ `Semantic Versioning <http://semver.org/>`__ for library commands and
|
||||||
dependencies
|
dependencies
|
||||||
@ -508,10 +509,10 @@ PlatformIO 3.0
|
|||||||
+ Check library compatibility with project environment before building
|
+ Check library compatibility with project environment before building
|
||||||
(`issue #415 <https://github.com/platformio/platformio-core/issues/415>`_)
|
(`issue #415 <https://github.com/platformio/platformio-core/issues/415>`_)
|
||||||
+ Control Library Dependency Finder for compatibility using
|
+ Control Library Dependency Finder for compatibility using
|
||||||
`lib_compat_mode <http://docs.platformio.org/page/projectconf.html#lib-compat-mode>`__
|
`lib_compat_mode <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-compat-mode>`__
|
||||||
option
|
option
|
||||||
+ Custom library storages/directories with
|
+ Custom library storages/directories with
|
||||||
`lib_extra_dirs <http://docs.platformio.org/page/projectconf.html#lib-extra-dirs>`__ option
|
`lib_extra_dirs <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-extra-dirs>`__ option
|
||||||
(`issue #537 <https://github.com/platformio/platformio-core/issues/537>`_)
|
(`issue #537 <https://github.com/platformio/platformio-core/issues/537>`_)
|
||||||
+ Handle extra build flags, source filters and build script from
|
+ Handle extra build flags, source filters and build script from
|
||||||
`library.json <http://docs.platformio.org/page/librarymanager/config.html>`__
|
`library.json <http://docs.platformio.org/page/librarymanager/config.html>`__
|
||||||
@ -767,11 +768,11 @@ PlatformIO 2.0
|
|||||||
`platformio lib search <http://docs.platformio.org/page/userguide/lib/cmd_search.html>`__
|
`platformio lib search <http://docs.platformio.org/page/userguide/lib/cmd_search.html>`__
|
||||||
command
|
command
|
||||||
(`issue #604 <https://github.com/platformio/platformio-core/issues/604>`_)
|
(`issue #604 <https://github.com/platformio/platformio-core/issues/604>`_)
|
||||||
* Allowed to specify default environments `env_default <http://docs.platformio.org/page/projectconf.html#env-default>`__
|
* Allowed to specify default environments `env_default <http://docs.platformio.org/page/projectconf/section_platformio.html#env-default>`__
|
||||||
which should be processed by default with ``platformio run`` command
|
which should be processed by default with ``platformio run`` command
|
||||||
(`issue #576 <https://github.com/platformio/platformio-core/issues/576>`_)
|
(`issue #576 <https://github.com/platformio/platformio-core/issues/576>`_)
|
||||||
* Allowed to unflag(remove) base/initial flags using
|
* Allowed to unflag(remove) base/initial flags using
|
||||||
`build_unflags <http://docs.platformio.org/page/projectconf.html#build-unflags>`__
|
`build_unflags <http://docs.platformio.org/page/projectconf/section_env_build.html#build-unflags>`__
|
||||||
option
|
option
|
||||||
(`issue #559 <https://github.com/platformio/platformio-core/issues/559>`_)
|
(`issue #559 <https://github.com/platformio/platformio-core/issues/559>`_)
|
||||||
* Allowed multiple VID/PID pairs when detecting serial ports
|
* Allowed multiple VID/PID pairs when detecting serial ports
|
||||||
@ -1219,12 +1220,12 @@ PlatformIO 2.0
|
|||||||
~~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
* Allowed to exclude/include source files from build process using
|
* Allowed to exclude/include source files from build process using
|
||||||
`src_filter <http://docs.platformio.org/page/projectconf.html#src-filter>`__
|
`src_filter <http://docs.platformio.org/page/projectconf/section_env_build.html#src-filter>`__
|
||||||
(`issue #240 <https://github.com/platformio/platformio-core/issues/240>`_)
|
(`issue #240 <https://github.com/platformio/platformio-core/issues/240>`_)
|
||||||
* Launch own extra script before firmware building/uploading processes
|
* Launch own extra script before firmware building/uploading processes
|
||||||
(`issue #239 <https://github.com/platformio/platformio-core/issues/239>`_)
|
(`issue #239 <https://github.com/platformio/platformio-core/issues/239>`_)
|
||||||
* Specify own path to the linker script (ld) using
|
* Specify own path to the linker script (ld) using
|
||||||
`build_flags <http://docs.platformio.org/page/projectconf.html#build-flags>`__
|
`build_flags <http://docs.platformio.org/page/projectconf/section_env_build.html#build-flags>`__
|
||||||
option
|
option
|
||||||
(`issue #233 <https://github.com/platformio/platformio-core/issues/233>`_)
|
(`issue #233 <https://github.com/platformio/platformio-core/issues/233>`_)
|
||||||
* Specify library compatibility with the all platforms/frameworks
|
* Specify library compatibility with the all platforms/frameworks
|
||||||
@ -1328,11 +1329,11 @@ PlatformIO 2.0
|
|||||||
(`issue #192 <https://github.com/platformio/platformio-core/issues/192>`_)
|
(`issue #192 <https://github.com/platformio/platformio-core/issues/192>`_)
|
||||||
* Control verbosity of `platformio run <http://docs.platformio.org/page/userguide/cmd_run.html#cmdoption-platformio-run-v>`_ command via ``-v/--verbose`` option
|
* Control verbosity of `platformio run <http://docs.platformio.org/page/userguide/cmd_run.html#cmdoption-platformio-run-v>`_ command via ``-v/--verbose`` option
|
||||||
* Add library dependencies for build environment using
|
* Add library dependencies for build environment using
|
||||||
`lib_install <http://docs.platformio.org/page/projectconf.html#lib-install>`_
|
`lib_install <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps>`_
|
||||||
option in ``platformio.ini``
|
option in ``platformio.ini``
|
||||||
(`issue #134 <https://github.com/platformio/platformio-core/issues/134>`_)
|
(`issue #134 <https://github.com/platformio/platformio-core/issues/134>`_)
|
||||||
* Specify libraries which are compatible with build environment using
|
* Specify libraries which are compatible with build environment using
|
||||||
`lib_use <http://docs.platformio.org/page/projectconf.html#lib-use>`_
|
`lib_use <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-deps>`_
|
||||||
option in ``platformio.ini``
|
option in ``platformio.ini``
|
||||||
(`issue #148 <https://github.com/platformio/platformio-core/issues/148>`_)
|
(`issue #148 <https://github.com/platformio/platformio-core/issues/148>`_)
|
||||||
* Add more boards to PlatformIO project with
|
* Add more boards to PlatformIO project with
|
||||||
@ -1468,7 +1469,7 @@ PlatformIO 1.0
|
|||||||
development platform
|
development platform
|
||||||
* Added
|
* Added
|
||||||
`Project Configuration <http://docs.platformio.org/page/projectconf.html>`__
|
`Project Configuration <http://docs.platformio.org/page/projectconf.html>`__
|
||||||
option named `envs_dir <http://docs.platformio.org/page/projectconf.html#envs-dir>`__
|
option named `envs_dir <http://docs.platformio.org/page/projectconf/section_platformio.html#envs-dir>`__
|
||||||
* Disabled "prompts" automatically for *Continuous Integration* systems
|
* Disabled "prompts" automatically for *Continuous Integration* systems
|
||||||
(`issue #103 <https://github.com/platformio/platformio-core/issues/103>`_)
|
(`issue #103 <https://github.com/platformio/platformio-core/issues/103>`_)
|
||||||
* Fixed firmware uploading for
|
* Fixed firmware uploading for
|
||||||
@ -1512,7 +1513,7 @@ PlatformIO 1.0
|
|||||||
`#48 <https://github.com/platformio/platformio-core/issues/48>`_,
|
`#48 <https://github.com/platformio/platformio-core/issues/48>`_,
|
||||||
`#50 <https://github.com/platformio/platformio-core/issues/50>`_,
|
`#50 <https://github.com/platformio/platformio-core/issues/50>`_,
|
||||||
`#55 <https://github.com/platformio/platformio-core/pull/55>`_)
|
`#55 <https://github.com/platformio/platformio-core/pull/55>`_)
|
||||||
* Added `src_dir <http://docs.platformio.org/page/projectconf.html#src-dir>`__
|
* Added `src_dir <http://docs.platformio.org/page/projectconf/section_platformio.html#src-dir>`__
|
||||||
option to ``[platformio]`` section of
|
option to ``[platformio]`` section of
|
||||||
`platformio.ini <http://docs.platformio.org/page/projectconf.html>`__
|
`platformio.ini <http://docs.platformio.org/page/projectconf.html>`__
|
||||||
which allows to redefine location to project's source directory
|
which allows to redefine location to project's source directory
|
||||||
@ -1523,7 +1524,7 @@ PlatformIO 1.0
|
|||||||
commands which allows to return the output in `JSON <http://en.wikipedia.org/wiki/JSON>`_ format
|
commands which allows to return the output in `JSON <http://en.wikipedia.org/wiki/JSON>`_ format
|
||||||
(`issue #42 <https://github.com/platformio/platformio-core/issues/42>`_)
|
(`issue #42 <https://github.com/platformio/platformio-core/issues/42>`_)
|
||||||
* Allowed to ignore some libs from *Library Dependency Finder* via
|
* Allowed to ignore some libs from *Library Dependency Finder* via
|
||||||
`lib_ignore <http://docs.platformio.org/page/projectconf.html#lib-ignore>`_ option
|
`lib_ignore <http://docs.platformio.org/page/projectconf/section_env_library.html#lib-ignore>`_ option
|
||||||
* Improved `platformio run <http://docs.platformio.org/page/userguide/cmd_run.html>`__
|
* Improved `platformio run <http://docs.platformio.org/page/userguide/cmd_run.html>`__
|
||||||
command: asynchronous output for build process, timing and detailed
|
command: asynchronous output for build process, timing and detailed
|
||||||
information about environment configuration
|
information about environment configuration
|
||||||
|
2
docs
2
docs
Submodule docs updated: 00924a1ed8...58f083325e
@ -81,7 +81,7 @@ def _get_installed_platform_data(platform,
|
|||||||
name=p.name,
|
name=p.name,
|
||||||
title=p.title,
|
title=p.title,
|
||||||
description=p.description,
|
description=p.description,
|
||||||
version=p.version, # comment before dump
|
version=p.version,
|
||||||
homepage=p.homepage,
|
homepage=p.homepage,
|
||||||
repository=p.repository_url,
|
repository=p.repository_url,
|
||||||
url=p.vendor_url,
|
url=p.vendor_url,
|
||||||
|
@ -122,18 +122,19 @@ def cli(ctx, environment, target, upload_port, project_dir, silent, verbose,
|
|||||||
|
|
||||||
class EnvironmentProcessor(object):
|
class EnvironmentProcessor(object):
|
||||||
|
|
||||||
KNOWN_OPTIONS = ("platform", "framework", "board", "board_mcu",
|
KNOWN_OPTIONS = (
|
||||||
"board_f_cpu", "board_f_flash", "board_flash_mode",
|
"platform", "framework", "board", "board_mcu", "board_f_cpu",
|
||||||
"build_flags", "src_build_flags", "build_unflags",
|
"board_f_flash", "board_flash_mode", "build_flags", "src_build_flags",
|
||||||
"src_filter", "extra_script", "targets", "upload_port",
|
"build_unflags", "src_filter", "extra_script", "targets",
|
||||||
"upload_protocol", "upload_speed", "upload_flags",
|
"upload_port", "upload_protocol", "upload_speed", "upload_flags",
|
||||||
"upload_resetmethod", "lib_deps", "lib_ignore",
|
"upload_resetmethod", "lib_deps", "lib_ignore", "lib_extra_dirs",
|
||||||
"lib_extra_dirs", "lib_ldf_mode", "lib_compat_mode",
|
"lib_ldf_mode", "lib_compat_mode", "piotest", "test_transport",
|
||||||
"piotest", "test_ignore", "test_port", "debug_tool",
|
"test_ignore", "test_port", "debug_tool", "debug_port",
|
||||||
"debug_port", "debug_init_cmds", "debug_extra_cmds",
|
"debug_init_cmds", "debug_extra_cmds", "debug_server",
|
||||||
"debug_server", "debug_init_break", "debug_load_cmd")
|
"debug_init_break", "debug_load_cmd")
|
||||||
|
|
||||||
IGNORE_BUILD_OPTIONS = ("debug_tool", "debug_port", "debug_init_cmds",
|
IGNORE_BUILD_OPTIONS = ("test_transport", "test_ignore", "test_port",
|
||||||
|
"debug_tool", "debug_port", "debug_init_cmds",
|
||||||
"debug_extra_cmds", "debug_server",
|
"debug_extra_cmds", "debug_server",
|
||||||
"debug_init_break", "debug_load_cmd")
|
"debug_init_break", "debug_load_cmd")
|
||||||
|
|
||||||
@ -168,13 +169,12 @@ class EnvironmentProcessor(object):
|
|||||||
self.options[k] = self.options[k].strip()
|
self.options[k] = self.options[k].strip()
|
||||||
|
|
||||||
if not self.silent:
|
if not self.silent:
|
||||||
click.echo("[%s] Processing %s (%s)" %
|
click.echo("[%s] Processing %s (%s)" % (
|
||||||
(datetime.now().strftime("%c"),
|
datetime.now().strftime("%c"),
|
||||||
click.style(self.name, fg="cyan", bold=True),
|
click.style(self.name, fg="cyan", bold=True), "; ".join([
|
||||||
"; ".join([
|
"%s: %s" % (k, v.replace("\n", ", "))
|
||||||
"%s: %s" % (k, v.replace("\n", ", "))
|
for k, v in self.options.items()
|
||||||
for k, v in self.options.items()
|
])))
|
||||||
])))
|
|
||||||
click.secho("-" * terminal_width, bold=True)
|
click.secho("-" * terminal_width, bold=True)
|
||||||
|
|
||||||
self.options = self._validate_options(self.options)
|
self.options = self._validate_options(self.options)
|
||||||
@ -217,8 +217,8 @@ class EnvironmentProcessor(object):
|
|||||||
# warn about unknown options
|
# warn about unknown options
|
||||||
if k not in self.KNOWN_OPTIONS:
|
if k not in self.KNOWN_OPTIONS:
|
||||||
click.secho(
|
click.secho(
|
||||||
"Detected non-PlatformIO `%s` option in `[env:]` section" %
|
"Detected non-PlatformIO `%s` option in `[env:%s]` section"
|
||||||
k,
|
% (k, self.name),
|
||||||
fg="yellow")
|
fg="yellow")
|
||||||
result[k] = v
|
result[k] = v
|
||||||
return result
|
return result
|
||||||
@ -357,10 +357,9 @@ def print_summary(results, start_time):
|
|||||||
err=status is False)
|
err=status is False)
|
||||||
|
|
||||||
print_header(
|
print_header(
|
||||||
"[%s] Took %.2f seconds" %
|
"[%s] Took %.2f seconds" % (
|
||||||
((click.style("SUCCESS", fg="green", bold=True)
|
(click.style("SUCCESS", fg="green", bold=True) if successed else
|
||||||
if successed else click.style("ERROR", fg="red", bold=True)),
|
click.style("ERROR", fg="red", bold=True)), time() - start_time),
|
||||||
time() - start_time),
|
|
||||||
is_error=not successed)
|
is_error=not successed)
|
||||||
|
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user