2015-02-19 17:23:22 +02:00
|
|
|
# Copyright (C) Ivan Kravets <me@ikravets.com>
|
|
|
|
# See LICENSE for details.
|
|
|
|
|
2015-02-21 15:15:00 +02:00
|
|
|
from click.testing import CliRunner
|
2015-02-19 17:23:22 +02:00
|
|
|
|
2015-02-21 15:15:00 +02:00
|
|
|
import pytest
|
2015-02-19 17:23:22 +02:00
|
|
|
from platformio import app
|
|
|
|
|
|
|
|
|
2015-02-21 15:15:00 +02:00
|
|
|
@pytest.fixture(scope="session")
|
2015-02-19 17:23:22 +02:00
|
|
|
def platformio_setup(request):
|
|
|
|
prev_settings = dict(
|
|
|
|
enable_telemetry=None,
|
|
|
|
enable_prompts=None
|
|
|
|
)
|
|
|
|
for key, value in prev_settings.iteritems():
|
|
|
|
prev_settings[key] = app.get_setting(key)
|
|
|
|
# disable temporary
|
|
|
|
if prev_settings[key]:
|
|
|
|
app.set_setting(key, False)
|
|
|
|
|
|
|
|
def platformio_teardown():
|
|
|
|
# restore settings
|
|
|
|
for key, value in prev_settings.iteritems():
|
|
|
|
app.set_setting(key, value)
|
|
|
|
|
|
|
|
request.addfinalizer(platformio_teardown)
|
2015-02-21 15:15:00 +02:00
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
|
|
def clirunner():
|
|
|
|
return CliRunner()
|
|
|
|
|
|
|
|
|
|
|
|
@pytest.fixture(scope="session")
|
|
|
|
def validate_cliresult():
|
|
|
|
def decorator(result):
|
|
|
|
assert result.exit_code == 0
|
|
|
|
assert not result.exception
|
|
|
|
assert "error" not in result.output.lower()
|
|
|
|
return decorator
|