From ca3a7eb1f9abb9f63cc3783fe02b0937bfa08d4e Mon Sep 17 00:00:00 2001 From: Ed Date: Fri, 19 Apr 2024 12:01:58 +0100 Subject: [PATCH] More efficient midi test bin build --- tests/conftest.py | 17 ++++++----------- 1 file changed, 6 insertions(+), 11 deletions(-) diff --git a/tests/conftest.py b/tests/conftest.py index b1973ed1..5af8bac1 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -5,6 +5,7 @@ import time import Pyxsim from pathlib import Path from midi_test_helpers import MIDI_TEST_CONFIGS +import subprocess @pytest.fixture() def test_file(request): @@ -42,17 +43,11 @@ def pytest_addoption(parser): def options(request): yield request.config.option -# We use the same binary multiple times so just build once +# We use the same binary multiple times so just build once for all MIDI tests @pytest.fixture(scope="session") def build_midi(): - all_build_success = True - for config in MIDI_TEST_CONFIGS: - xe = str(Path(__file__).parent / f"test_midi/bin/{config}/test_midi_{config}.xe") + cmd = "xmake -C test_midi -j" + result = subprocess.run(cmd, capture_output=True, text=True, shell=True) + all_build_success = result.returncode - success, output = Pyxsim._build(xe, build_options=["-j"]) - all_build_success |= success - - if not all_build_success: - print(f"ERROR MIDI Build failed: {output}") - - return str(Path(__file__).parent / f"test_midi/bin/") if all_build_success else False + return str(Path(__file__).parent / f"test_midi/bin/") if all_build_success == 0 else False