feat(pybot): bot4cj 的 Python 迁移版(.mt 解析 + 硬件驱动 + 插件系统)
- 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;运行时零第三方依赖
This commit is contained in:
1 parent
85eaa2114e
commit
bba7ee3eb4
31 files changed
+2155
No files matched your search
@@ -0,0 +1,30 @@
|
||||
"""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()
|
||||
Reference in new issue
Block a user