| """pytest 共享夹具与导入路径设置。 | |
| 底座包位于 ``<repo>/core``,以**顶层包**方式导入:把 ``<repo>/core`` 目录加入 | |
| ``sys.path`` 后,``kernel`` / ``services`` 即可作为顶层包导入——这与运行期 | |
| ``streamlit run core/app.py`` 的启动方式一致(届时 ``core/`` 目录位于 | |
| ``sys.path[0]``)。同时把仓库根目录加入 ``sys.path``,使顶层 ``skills`` / | |
| ``utils`` / ``layers`` 包可被发现。 | |
| 注:底座目录此前名为 ``platform``,会遮蔽标准库 ``platform`` 模块;现已重命名为 | |
| ``core``,不再有任何标准库同名冲突,故无需特殊处理。 | |
| """ | |
| import os | |
| import sys | |
| _REPO_ROOT = os.path.dirname(os.path.dirname(os.path.abspath(__file__))) | |
| _CORE_DIR = os.path.join(_REPO_ROOT, "core") | |
| # 顺序:core 目录在前,使 kernel/services 作为顶层包导入; | |
| # 仓库根在后,使顶层 skills 包可被 discover。 | |
| for _p in (_CORE_DIR, _REPO_ROOT): | |
| if _p not in sys.path: | |
| sys.path.insert(0, _p) | |