fix(ddic): create 命令消费 JSON description(--description 优先→JSON→回退名);upload testclasses XML 包裹通道(S4T 三轮实证);SKILL 错误速查表 +4 条 NW740 实证(ADT 创建不持久化文本/classes 激活空响应/unknown comments/STRG+comptype 陷阱)

This commit is contained in:
吴让宇
2026-09-14 10:37:43 +08:00
parent 43037e2379
commit 66ec30fc99
6 changed files with 72 additions and 4 deletions
+5
View File
@@ -919,6 +919,9 @@ class DdicMixin:
logger.info("RUN PROGRAM: POST %s", url)
resp = self.session.post(url, headers=hdrs)
logger.info("RUN PROGRAM RESPONSE: HTTP %s (%d bytes)", resp.status_code, len(resp.content))
if resp.status_code != 200:
# Log response body to aid diagnosing server-side dumps
logger.error("RUN PROGRAM ERROR BODY: %s", resp.text[:4000])
resp.raise_for_status()
return resp.text
@@ -962,6 +965,8 @@ class DdicMixin:
logger.info("RUN UNIT TEST: POST %s uri=%s", url, obj_uri)
resp = self.session.post(url, headers=hdrs, data=body.encode("utf-8"))
logger.info("RUN UNIT TEST RESPONSE: HTTP %s", resp.status_code)
if resp.status_code != 200 or b"<classes" not in resp.content:
logger.error("UNIT TEST BODY: %s", resp.text[:3000])
resp.raise_for_status()
return self._parse_aunit_result(resp.content)
+4 -2
View File
@@ -42,6 +42,7 @@ class SourceMixin:
source: str,
lock_handle: str,
corr_nr: str | None = None,
content_type: str | None = None,
) -> bool:
params: dict[str, str] = {}
if lock_handle:
@@ -49,8 +50,9 @@ class SourceMixin:
if corr_nr:
params["corrNr"] = corr_nr
url = f"{self.host}{src_uri}"
hdrs = self._headers("text/plain; charset=utf-8")
logger.info("SET SOURCE: PUT %s (%d chars)", url, len(source))
ct = content_type or "text/plain; charset=utf-8"
hdrs = self._headers(ct)
logger.info("SET SOURCE: PUT %s (%d chars, ct=%s)", url, len(source), ct)
resp = self.session.put(
url, headers=hdrs, params=params, data=source.encode("utf-8")
)