mirror of
https://github.com/platformio/platformio-core.git
synced 2025-07-30 18:17:13 +02:00
Fix wrong line number for INO file when `#warning
` directive is used // Resolve #742
This commit is contained in:
@ -78,8 +78,12 @@ PlatformIO 3.0
|
||||
(`issue #522 <https://github.com/platformio/platformio/issues/522>`_)
|
||||
* Warn about unknown options in project configuration file ``platformio.ini``
|
||||
(`issue #740 <https://github.com/platformio/platformio/issues/740>`_)
|
||||
* Fixed wrong line number for INO file when ``#warning`` directive is used
|
||||
(`issue #742 <https://github.com/platformio/platformio/issues/742>`_)
|
||||
* Stopped supporting Python 2.6
|
||||
|
||||
------
|
||||
|
||||
* Development platform `Atmel SAM <https://github.com/platformio/platform-atmelsam>`__
|
||||
|
||||
+ Fixed missing analog ports for Adafruit Feather M0 Bluefruit
|
||||
|
@ -18,7 +18,7 @@ from platformio.commands.boards import cli as cmd_boards
|
||||
from platformio.commands.platform import platform_search as cmd_platform_search
|
||||
|
||||
|
||||
def test_board_json_output(platformio_setup, clirunner, validate_cliresult):
|
||||
def test_board_json_output(clirunner, validate_cliresult):
|
||||
result = clirunner.invoke(cmd_boards, ["mbed", "--json-output"])
|
||||
validate_cliresult(result)
|
||||
boards = json.loads(result.output)
|
||||
@ -26,13 +26,13 @@ def test_board_json_output(platformio_setup, clirunner, validate_cliresult):
|
||||
assert any(["mbed" in b['frameworks'] for b in boards])
|
||||
|
||||
|
||||
def test_board_raw_output(platformio_setup, clirunner, validate_cliresult):
|
||||
def test_board_raw_output(clirunner, validate_cliresult):
|
||||
result = clirunner.invoke(cmd_boards, ["energia"])
|
||||
validate_cliresult(result)
|
||||
assert "titiva" in result.output
|
||||
|
||||
|
||||
def test_board_options(platformio_setup, clirunner, validate_cliresult):
|
||||
def test_board_options(clirunner, validate_cliresult):
|
||||
required_opts = set(
|
||||
["fcpu", "frameworks", "id", "mcu", "name", "platform"])
|
||||
|
||||
|
@ -15,7 +15,7 @@
|
||||
from platformio.commands.update import cli as cmd_update
|
||||
|
||||
|
||||
def test_update(platformio_setup, clirunner, validate_cliresult):
|
||||
def test_update(clirunner, validate_cliresult):
|
||||
matches = (
|
||||
"Platform Manager",
|
||||
"Up-to-date",
|
||||
|
@ -21,21 +21,6 @@ from click.testing import CliRunner
|
||||
requests.packages.urllib3.disable_warnings()
|
||||
|
||||
|
||||
@pytest.fixture(scope="session")
|
||||
def platformio_setup(request):
|
||||
pioenvvars = ("ENABLE_TELEMETRY", )
|
||||
for v in pioenvvars:
|
||||
os.environ["PLATFORMIO_SETTING_%s" % v] = "No"
|
||||
|
||||
def platformio_teardown():
|
||||
for v in pioenvvars:
|
||||
_name = "PLATFORMIO_SETTING_%s" % v
|
||||
if _name in os.environ:
|
||||
del os.environ[_name]
|
||||
|
||||
request.addfinalizer(platformio_teardown)
|
||||
|
||||
|
||||
@pytest.fixture(scope="module")
|
||||
def clirunner():
|
||||
return CliRunner()
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
struct MyItem {
|
||||
byte foo[50];
|
||||
int bar;
|
||||
@ -7,8 +6,12 @@ struct MyItem {
|
||||
void setup() {
|
||||
struct MyItem item1;
|
||||
myFunction(&item1);
|
||||
|
||||
|
||||
}
|
||||
|
||||
#warning "Line number is 13"
|
||||
|
||||
void loop() {
|
||||
|
||||
}
|
||||
|
@ -1,4 +1,3 @@
|
||||
|
||||
void setup() {
|
||||
barFunc();
|
||||
fooFunc();
|
||||
|
@ -19,6 +19,7 @@ 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):
|
||||
@ -34,16 +35,12 @@ def pytest_generate_tests(metafunc):
|
||||
metafunc.parametrize("pioproject_dir", project_dirs)
|
||||
|
||||
|
||||
@pytest.mark.examples
|
||||
def test_run(platformio_setup, pioproject_dir):
|
||||
def test_run(clirunner, validate_cliresult, pioproject_dir):
|
||||
if isdir(join(pioproject_dir, ".pioenvs")):
|
||||
util.rmtree_(join(pioproject_dir, ".pioenvs"))
|
||||
|
||||
result = util.exec_command(
|
||||
["platformio", "--force", "run", "--project-dir", pioproject_dir]
|
||||
)
|
||||
if result['returncode'] != 0:
|
||||
pytest.fail(result)
|
||||
result = clirunner.invoke(cmd_run, ["-d", pioproject_dir])
|
||||
validate_cliresult(result)
|
||||
|
||||
# check .elf file
|
||||
pioenvs_dir = join(pioproject_dir, ".pioenvs")
|
||||
|
@ -15,27 +15,30 @@
|
||||
from os import listdir
|
||||
from os.path import dirname, isdir, join, normpath
|
||||
|
||||
import pytest
|
||||
from platformio.commands.ci import cli as cmd_ci
|
||||
|
||||
from platformio import util
|
||||
INOTEST_DIR = normpath(join(dirname(__file__), "ino2cpp"))
|
||||
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
if "piotest_dir" not in metafunc.fixturenames:
|
||||
return
|
||||
test_dir = normpath(join(dirname(__file__), "ino2cpp"))
|
||||
test_dirs = []
|
||||
for name in listdir(test_dir):
|
||||
if isdir(join(test_dir, name)):
|
||||
test_dirs.append(join(test_dir, name))
|
||||
for name in listdir(INOTEST_DIR):
|
||||
if isdir(join(INOTEST_DIR, name)):
|
||||
test_dirs.append(join(INOTEST_DIR, name))
|
||||
test_dirs.sort()
|
||||
metafunc.parametrize("piotest_dir", test_dirs)
|
||||
|
||||
|
||||
@pytest.mark.examples
|
||||
def test_ci(platformio_setup, piotest_dir):
|
||||
result = util.exec_command(
|
||||
["platformio", "--force", "ci", piotest_dir, "-b", "uno"]
|
||||
)
|
||||
if result['returncode'] != 0:
|
||||
pytest.fail(result)
|
||||
def test_example(clirunner, validate_cliresult, piotest_dir):
|
||||
result = clirunner.invoke(cmd_ci, [piotest_dir, "-b", "uno"])
|
||||
validate_cliresult(result)
|
||||
|
||||
|
||||
def test_warning_line(clirunner, validate_cliresult):
|
||||
result = clirunner.invoke(cmd_ci,
|
||||
[join(INOTEST_DIR, "basic"), "-b", "uno"])
|
||||
validate_cliresult(result)
|
||||
assert ('basic.ino:13:2: warning: #warning "Line number is 13"' in
|
||||
result.output)
|
||||
|
Reference in New Issue
Block a user