More efficient midi test bin build

This commit is contained in:
Ed
2024-04-19 12:01:58 +01:00
parent bbd0f2693d
commit ca3a7eb1f9

View File

@@ -5,6 +5,7 @@ import time
import Pyxsim import Pyxsim
from pathlib import Path from pathlib import Path
from midi_test_helpers import MIDI_TEST_CONFIGS from midi_test_helpers import MIDI_TEST_CONFIGS
import subprocess
@pytest.fixture() @pytest.fixture()
def test_file(request): def test_file(request):
@@ -42,17 +43,11 @@ def pytest_addoption(parser):
def options(request): def options(request):
yield request.config.option 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") @pytest.fixture(scope="session")
def build_midi(): def build_midi():
all_build_success = True cmd = "xmake -C test_midi -j"
for config in MIDI_TEST_CONFIGS: result = subprocess.run(cmd, capture_output=True, text=True, shell=True)
xe = str(Path(__file__).parent / f"test_midi/bin/{config}/test_midi_{config}.xe") all_build_success = result.returncode
success, output = Pyxsim._build(xe, build_options=["-j"]) return str(Path(__file__).parent / f"test_midi/bin/") if all_build_success == 0 else False
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