taolib.testing.remote.probe#
远端探测接口(uname -> conda 检查 -> 探测命令)。
该模块提供兼容接口 probe_remote,并暴露默认命令常量。 更可扩展的用法可以直接使用 RemoteProber、RemoteProbeCommands 与 RemoteProbeRunOptions。
Attributes#
Classes#
远端探测使用的命令集合。 |
|
远端探测结果。 |
|
远端命令执行选项与错误处理策略。 |
|
远端探测执行器(可注入连接工厂,便于测试与扩展)。 |
Functions#
|
兼容接口:连接远端并执行探测命令,返回结构化结果。 |
Module Contents#
- taolib.testing.remote.probe.DEFAULT_CONDA_ACTIVATE_CMD#
- taolib.testing.remote.probe.DEFAULT_ENCODING#
- taolib.testing.remote.probe.DEFAULT_PROBE_CMD#
- taolib.testing.remote.probe.DEFAULT_TOOLS_ENV_CMD#
- class taolib.testing.remote.probe.RemoteProbeCommands#
远端探测使用的命令集合。
命令分为两类: - prefix 命令:tools_env_cmd、conda_activate_cmd,会在同一执行上下文中叠加生效; - 常规命令:uname_cmd、check_conda_cmd、probe_cmd,会在远端依次运行。
- class taolib.testing.remote.probe.RemoteProbeReport#
远端探测结果。
语义约定: - conda_available=False 时,不会尝试执行 probe_cmd(probe_attempted=False, probe_ok=None)。 - conda_available=True 且 probe_attempted=True 时,probe_ok 表示探测命令退出状态是否成功。
- class taolib.testing.remote.probe.RemoteProbeRunOptions#
远端命令执行选项与错误处理策略。
encoding 与 run_kwargs 会被合并用于 Connection.run(...)。 raise_on_* 用于控制缺少 conda 或 probe 失败时,是返回结构化结果还是抛出异常。 timeout 用于设置命令执行超时时间(秒)。 retry 用于设置命令执行失败时的最大重试次数。 retry_delay 用于设置重试间隔时间(秒)。
- run_kwargs: collections.abc.Mapping[str, Any] | None = None#
- class taolib.testing.remote.probe.RemoteProber#
远端探测执行器(可注入连接工厂,便于测试与扩展)。
- connection_factory: taolib.testing.remote.connection.ConnectionFactory | None = None#
- probe(ssh_config: collections.abc.Mapping[str, Any]) taolib.testing.remote.probe_models.RemoteProbeReport#
- taolib.testing.remote.probe.probe_remote(ssh_config: collections.abc.Mapping[str, Any], *, tools_env_cmd: str = DEFAULT_TOOLS_ENV_CMD, conda_activate_cmd: str = DEFAULT_CONDA_ACTIVATE_CMD, probe_cmd: str = DEFAULT_PROBE_CMD, encoding: str = DEFAULT_ENCODING, check_conda_cmd: str = 'command -v conda', uname_cmd: str = 'uname -a', connection_factory: taolib.testing.remote.connection.ConnectionFactory | None = None, run_kwargs: collections.abc.Mapping[str, Any] | None = None, raise_on_conda_missing: bool = False, raise_on_probe_failure: bool = False, timeout: int | None = None, retry: int = 0) taolib.testing.remote.probe_models.RemoteProbeReport#
兼容接口:连接远端并执行探测命令,返回结构化结果。
- 参数:
ssh_config -- SSH 配置映射,包含 host、user 等信息。
tools_env_cmd -- 工具环境配置命令,默认为 DEFAULT_TOOLS_ENV_CMD。
conda_activate_cmd -- Conda 激活命令,默认为 DEFAULT_CONDA_ACTIVATE_CMD。
probe_cmd -- 探测命令,默认为 DEFAULT_PROBE_CMD。
encoding -- 输出编码,默认为 'utf-8'。
check_conda_cmd -- 检查 conda 是否可用的命令。
uname_cmd -- 获取系统信息的命令。
connection_factory -- 连接工厂,可用于注入自定义连接行为。
run_kwargs -- 额外的运行参数。
raise_on_conda_missing -- conda 缺失时是否抛出异常。
raise_on_probe_failure -- 探测失败时是否抛出异常。
timeout -- 命令执行超时时间(秒)。
retry -- 命令执行失败时的最大重试次数。
- 返回:
包含探测结果的报告对象。
- 返回类型:
- 抛出:
RemoteConfigError -- SSH 配置无效时。
RemoteExecutionError -- 执行命令失败时(取决于 raise_on_* 选项)。