diff --git a/tests/test_menu.py b/tests/test_menu.py index 4382470..98ad82b 100644 --- a/tests/test_menu.py +++ b/tests/test_menu.py @@ -20,25 +20,30 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. -import os import shutil +import snack +import pytest from kas import kas -INPUTS = iter([' ', None, ' ', None]) -ACTIONS = iter([None, 'build', None, 'build']) -SELECTIONS = iter([0, 3]) +@pytest.fixture(autouse=True) +def patch_kas(monkeypatch): + INPUTS = iter([' ', None, ' ', None]) + ACTIONS = iter([None, 'build', None, 'build']) + SELECTIONS = iter([0, 3]) -def mock_runOnce(unused1): - return next(INPUTS) + def mock_runOnce(unused1): + return next(INPUTS) + def mock_buttonPressed(unused1, unused2): + return next(ACTIONS) -def mock_buttonPressed(unused1, unused2): - return next(ACTIONS) + def mock_current(unused1): + return next(SELECTIONS) - -def mock_current(unused1): - return next(SELECTIONS) + monkeypatch.setattr(snack.GridFormHelp, 'runOnce', mock_runOnce) + monkeypatch.setattr(snack.ButtonBar, 'buttonPressed', mock_buttonPressed) + monkeypatch.setattr(snack.Listbox, 'current', mock_current) def file_contains(filename, expected): @@ -57,12 +62,7 @@ def check_bitbake_options(expected): def test_menu(monkeypatch, tmpdir): tdir = str(tmpdir / 'test_menu') shutil.copytree('tests/test_menu', tdir) - cwd = os.getcwd() - os.chdir(tdir) - - monkeypatch.setattr('snack.GridFormHelp.runOnce', mock_runOnce) - monkeypatch.setattr('snack.ButtonBar.buttonPressed', mock_buttonPressed) - monkeypatch.setattr('snack.Listbox.current', mock_current) + monkeypatch.chdir(tdir) # select opt1 & build kas.kas(['menu']) @@ -79,5 +79,3 @@ def test_menu(monkeypatch, tmpdir): kas.kas(['menu']) assert file_contains('build/conf/local.conf', 'OPT1 = "1"\n') assert check_bitbake_options('-c build target2\n') - - os.chdir(cwd)