Files
kicad-mcp-server/tests/test_real_pcbnew_matrix.py
2026-06-12 12:35:36 -04:00

44 lines
1.1 KiB
Python

import os
import sys
from pathlib import Path
import pytest
PYTHON_DIR = Path(__file__).parent.parent / "python"
sys.path.insert(0, str(PYTHON_DIR))
pytestmark = [
pytest.mark.integration,
pytest.mark.real_pcbnew,
pytest.mark.linux,
]
@pytest.fixture(autouse=True)
def require_real_pcbnew() -> None:
if os.environ.get("KICAD_USE_REAL_PCBNEW") != "1":
pytest.skip("real pcbnew smoke tests require KICAD_USE_REAL_PCBNEW=1")
def test_project_commands_create_and_load_board_with_real_pcbnew(tmp_path: Path) -> None:
import pcbnew
from commands.project import ProjectCommands
version = pcbnew.GetBuildVersion()
assert version
assert not str(version).endswith("-stub")
commands = ProjectCommands()
result = commands.create_project({"name": "matrix_smoke", "path": str(tmp_path)})
assert result["success"] is True, result
board_path = Path(result["project"]["boardPath"])
assert board_path.exists()
board = pcbnew.LoadBoard(str(board_path))
assert board is not None
assert hasattr(board, "GetFileName")
assert board.GetFileName().endswith(".kicad_pcb")