From 3a7b0d2c9d5935ee25b7097e89118838d472062f Mon Sep 17 00:00:00 2001 From: Ivan Kravets Date: Wed, 31 Aug 2016 12:49:10 +0300 Subject: [PATCH] Fix INO to CPP converting when 2-tokens type is used --- platformio/__init__.py | 2 +- platformio/builder/tools/piomisc.py | 4 ++-- tests/conftest.py | 1 - tests/ino2cpp/multifiles/bar.ino | 5 +++-- tests/ino2cpp/multifiles/foo.pde | 4 ++-- tests/test_examples.py | 11 +++++++---- 6 files changed, 15 insertions(+), 12 deletions(-) diff --git a/platformio/__init__.py b/platformio/__init__.py index 723890c0..7c94ebc9 100644 --- a/platformio/__init__.py +++ b/platformio/__init__.py @@ -14,7 +14,7 @@ import sys -VERSION = (3, 0, "0b2") +VERSION = (3, 0, "0b3") __version__ = ".".join([str(s) for s in VERSION]) __title__ = "platformio" diff --git a/platformio/builder/tools/piomisc.py b/platformio/builder/tools/piomisc.py index 33d9b2cb..75f748a5 100644 --- a/platformio/builder/tools/piomisc.py +++ b/platformio/builder/tools/piomisc.py @@ -31,8 +31,8 @@ from platformio import util class InoToCPPConverter(object): PROTOTYPE_RE = re.compile(r"""^( - ([a-z_\d]+\*?){1,2} # return type - (\s+[a-z_\d]+\s*) # name of prototype + ([a-z_\d]+\*?\s+){1,2} # return type + ([a-z_\d]+\s*) # name of prototype \([a-z_,\.\*\&\[\]\s\d]*\) # arguments )\s*\{ # must end with { """, re.X | re.M | re.I) diff --git a/tests/conftest.py b/tests/conftest.py index 9af9b6f7..46670a44 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -32,7 +32,6 @@ def validate_cliresult(): def decorator(result): assert result.exit_code == 0 assert not result.exception - assert "error" not in result.output.lower() return decorator diff --git a/tests/ino2cpp/multifiles/bar.ino b/tests/ino2cpp/multifiles/bar.ino index 5eac56d9..6040586a 100644 --- a/tests/ino2cpp/multifiles/bar.ino +++ b/tests/ino2cpp/multifiles/bar.ino @@ -1,3 +1,4 @@ -void barFunc () { // my comment - +unsigned int barFunc () // my comment +{ + return 0; } \ No newline at end of file diff --git a/tests/ino2cpp/multifiles/foo.pde b/tests/ino2cpp/multifiles/foo.pde index 785166cd..9b2913cb 100644 --- a/tests/ino2cpp/multifiles/foo.pde +++ b/tests/ino2cpp/multifiles/foo.pde @@ -9,5 +9,5 @@ void loop() { } char* fooFunc() { - return buf; -} \ No newline at end of file + return buf; +} diff --git a/tests/test_examples.py b/tests/test_examples.py index 75278d9c..42ff2b5e 100644 --- a/tests/test_examples.py +++ b/tests/test_examples.py @@ -19,7 +19,6 @@ from os.path import dirname, getsize, isdir, isfile, join, normpath import pytest from platformio import util -from platformio.commands.run import cli as cmd_run def pytest_generate_tests(metafunc): @@ -35,12 +34,16 @@ def pytest_generate_tests(metafunc): metafunc.parametrize("pioproject_dir", project_dirs) -def test_run(clirunner, validate_cliresult, pioproject_dir): +@pytest.mark.examples +def test_run(pioproject_dir): if isdir(join(pioproject_dir, ".pioenvs")): util.rmtree_(join(pioproject_dir, ".pioenvs")) - result = clirunner.invoke(cmd_run, ["-d", pioproject_dir]) - validate_cliresult(result) + result = util.exec_command( + ["platformio", "--force", "run", "--project-dir", pioproject_dir] + ) + if result['returncode'] != 0: + pytest.fail(result) # check .elf file pioenvs_dir = join(pioproject_dir, ".pioenvs")