pytest-testkit 1.0.3a1__tar.gz → 1.0.3a2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {pytest_testkit-1.0.3a1/pytest_testkit.egg-info → pytest_testkit-1.0.3a2}/PKG-INFO +1 -1
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pyproject.toml +1 -1
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/device.py +7 -3
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2/pytest_testkit.egg-info}/PKG-INFO +1 -1
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/LICENSE +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/MANIFEST.in +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/README.md +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/base/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/base/excel.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/base/ftp.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/base/local_exec.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/base/sftp.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/base/ssh.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/allocator.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/manager.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/log/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/log/filters.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/log/infra_logger.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/log/manager.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/pre_action/__init__.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/pre_action/action.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/pre_action/exceptions.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/pre_action/registry.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/plugin.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit.egg-info/SOURCES.txt +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit.egg-info/dependency_links.txt +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit.egg-info/entry_points.txt +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit.egg-info/requires.txt +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit.egg-info/top_level.txt +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/requirements.txt +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/setup.cfg +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_collect_case_with_inifile.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_creation.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_exit_docker.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_getitem.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_integration.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_is_interactive_shell.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_non_shell_commands.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_sendcmd.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_sendcmd_interactive.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_env_nodes_filter.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_get_inifile_info.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_get_item_case_info.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_local_exec.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_local_interactive.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_log_factory.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_log_factory_integration.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_security_features.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_ssh_cwd.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_ssh_file_ops.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_ssh_ignore_err.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_ssh_only_stdout.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_ssh_remove_command_echo.py +0 -0
- {pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_ssh_success.py +0 -0
|
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "pytest_testkit"
|
|
7
|
-
version = "1.0.
|
|
7
|
+
version = "1.0.3a2"
|
|
8
8
|
description = "Pytest plugin for Infra logging framework and environment management"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
license = { file = "LICENSE" }
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/device.py
RENAMED
|
@@ -773,6 +773,7 @@ class Device:
|
|
|
773
773
|
|
|
774
774
|
# 发送命令日志: HTML location 列显示 sendcmd[设备短名],
|
|
775
775
|
# 消息不带 shell 提示符只打印命令本身
|
|
776
|
+
new_prompt = getattr(ssh_connect, "last_prompt", "") if ssh_connect else ""
|
|
776
777
|
if echo_output and not _SESSION_QUIET_STDOUT:
|
|
777
778
|
node_tag = f"[{_short_name(self.name)}]"
|
|
778
779
|
send_msg = cmd
|
|
@@ -793,9 +794,6 @@ class Device:
|
|
|
793
794
|
echo_parts.append(stderr)
|
|
794
795
|
result_echo = "\n".join(echo_parts)
|
|
795
796
|
if result_echo:
|
|
796
|
-
new_prompt = (
|
|
797
|
-
getattr(ssh_connect, "last_prompt", "") if ssh_connect else ""
|
|
798
|
-
)
|
|
799
797
|
# 回显结果以shell提示符结尾移除它, 没有提示符则直接打印不拼装
|
|
800
798
|
if new_prompt and result_echo.endswith(new_prompt):
|
|
801
799
|
recv_msg = result_echo[: -len(new_prompt)].rstrip("\n")
|
|
@@ -805,6 +803,12 @@ class Device:
|
|
|
805
803
|
else:
|
|
806
804
|
logger.info("(empty)", extra={"op_type": f"recvcmd{node_tag}"})
|
|
807
805
|
|
|
806
|
+
# 移除 stdout 末尾的 shell 提示符
|
|
807
|
+
if new_prompt:
|
|
808
|
+
stdout_val = result_dict.get("stdout", "") or ""
|
|
809
|
+
if stdout_val.endswith(new_prompt):
|
|
810
|
+
result_dict["stdout"] = stdout_val[: -len(new_prompt)]
|
|
811
|
+
|
|
808
812
|
logger.info(f"test tzing: {result_dict}")
|
|
809
813
|
|
|
810
814
|
# 按用户原始 only_stdout 决定返回值
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/__init__.py
RENAMED
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/allocator.py
RENAMED
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/environment/manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/common/log/infra_logger.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit/lib/pre_action/exceptions.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/pytest_testkit.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_is_interactive_shell.py
RENAMED
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_non_shell_commands.py
RENAMED
|
File without changes
|
|
File without changes
|
{pytest_testkit-1.0.3a1 → pytest_testkit-1.0.3a2}/tests/test_docker_proxy_sendcmd_interactive.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|