- parser: FSM 解析器与仓颉版逐语义对齐,修 S01/S02/S04/Q05 - robot/hardvars: 六类硬件变量工厂,修 r.cj:911 重名 FIXME、Q07 倒序释放 - plugin: Python 插件替代 Lua 桥接,修 S07 三级路径查找 - hd: i2c(每fd锁 Q03/S06)/spi/servo/kalman/mpu6050(S05/Q06)/speaker(S03 实声) - modules: PCA9685 与 Lua 版逐字节对齐;ADS1115 重写(experimental);ADS1256 空桩 - tests: 42 项 pytest 全绿(Mock 总线 journal 断言) - CLI: --dry-run / --test roundtrip / --verbose;运行时零第三方依赖
31 lines
644 B
Python
31 lines
644 B
Python
"""pytest 公共配置:把项目根加入 sys.path(无需安装即可 import pybot)"""
|
||
|
||
import sys
|
||
from pathlib import Path
|
||
|
||
ROOT = Path(__file__).resolve().parent.parent
|
||
sys.path.insert(0, str(ROOT))
|
||
|
||
import pytest # noqa: E402
|
||
|
||
from pybot.hd import i2c, spi # noqa: E402
|
||
|
||
|
||
SCRIPTS_DIR = ROOT / "scripts"
|
||
|
||
|
||
@pytest.fixture()
|
||
def mock_i2c():
|
||
"""切换到 Mock I2C 总线,测试结束恢复真实后端"""
|
||
mock = i2c.use_mock()
|
||
yield mock
|
||
i2c.use_real()
|
||
|
||
|
||
@pytest.fixture()
|
||
def mock_spi():
|
||
"""切换到 Mock SPI 总线,测试结束恢复真实后端"""
|
||
mock = spi.use_mock()
|
||
yield mock
|
||
spi.use_real()
|