Add support for Semihosting and Unit Testing // Resolve #3516

This commit is contained in:
Ivan Kravets
2022-05-05 17:36:15 +03:00
parent bbd56d6eb0
commit 6d1e637518
4 changed files with 6 additions and 5 deletions

View File

@ -48,6 +48,7 @@ Please check `Migration guide from 5.x to 6.0 <https://docs.platformio.org/en/la
- New: `Test Hierarchies <https://docs.platformio.org/en/latest/advanced/unit-testing/structure.html>`_ (`issue #4135 <https://github.com/platformio/platformio-core/issues/4135>`_)
- New: `Custom Testing Framework <https://docs.platformio.org/en/latest/advanced/unit-testing/frameworks/custom/index.html>`_
- New: Using hardware `Simulators <https://docs.platformio.org/en/latest/advanced/unit-testing/simulators/index.html>`__ for Unit Testing (QEMU, Renode, SimAVR, and custom solutions)
- New: `Semihosting <https://docs.platformio.org/en/latest/advanced/unit-testing/semihosting.html>`__ (`issue #3516 <https://github.com/platformio/platformio-core/issues/3516>`_)
- Added a new "test" `build configuration <https://docs.platformio.org/en/latest/projectconf/build_configurations.html>`__
- Added support for the ``socket://`` and ``rfc2217://`` protocols using `test_port <https://docs.platformio.org/en/latest/projectconf/section_env_test.html#test-port>`__ option (`issue #4229 <https://github.com/platformio/platformio-core/issues/4229>`_)
- Added support for a `Custom Unity Library <https://docs.platformio.org/en/latest/advanced/unit-testing/frameworks/custom/examples/custom_unity_library.html>`__ (`issue #3980 <https://github.com/platformio/platformio-core/issues/3980>`_)

2
docs

Submodule docs updated: 785de717db...f9b2218509

View File

@ -113,7 +113,7 @@ class TestRunnerBase:
def stage_building(self):
if self.options.without_building:
return None
click.secho("Building...", bold=self.options.verbose)
click.secho("Building...", bold=True)
targets = ["__test"]
if not self.options.without_debugging:
targets.append("__debug")
@ -127,7 +127,7 @@ class TestRunnerBase:
def stage_uploading(self):
if self.options.without_uploading or not self.platform.is_embedded():
return None
click.secho("Uploading...", bold=self.options.verbose)
click.secho("Uploading...", bold=True)
targets = ["upload"]
if self.options.without_building:
targets.append("nobuild")
@ -143,7 +143,7 @@ class TestRunnerBase:
def stage_testing(self):
if self.options.without_testing:
return None
click.secho("Testing...", bold=self.options.verbose)
click.secho("Testing...", bold=True)
test_port = self.get_test_port()
program_conds = [
not self.platform.is_embedded()