Skip to content

playwright-kit-ops: build_gdoc_with_drive_links が pytest_report の証跡リンクを置換できない #81

Description

@takemi-ohama

事象

plugins/ndf-shared/skills/playwright-kit-ops/scripts/build_gdoc_with_drive_links.py は Markdown 内の証跡パスを Drive リンクへ置換するが、同梱の playwright_kit/pytest_report.py が出す形式と噛み合わず、置換が 1 件も起きない

置換側のパターン:

# scripts/build_gdoc_with_drive_links.pyLINK_PATTERN=re.compile(r"\(\.?\/?(TC-[\w-]+/[^\)\s]+)\)")

生成側の出力:

# playwright_kit/pytest_report.py:142-143ife.trace_path:
lines.append(f"- trace: `{e.trace_path}`")

- trace: \reports/run-001/test_login/trace.zip` は Markdown リンクではなくコード span なので、LINK_PATTERNに一致しない。加えて case ディレクトリ名もTC-*` 固定ではない。

再現:

importreLINK_PATTERN=re.compile(r"\(\.?\/?(TC-[\w-]+/[^\)\s]+)\)")
LINK_PATTERN.findall("- trace: `reports/run-001/test_login/trace.zip`")
# => []

結果として Google Doc 化しても Replaced links: 0 matches になり、証跡リンクが埋まらない。

対応方針の候補

  1. pytest_report.py 側を Markdown リンク [trace](<相対パス>) として出力するよう変える
  2. build_gdoc_with_drive_links.py 側を、実際の report 形式(コード span / 任意の case ディレクトリ名)にも一致するパターンへ広げる
  3. どちらを採るにせよ rewrite_links の単体テストを追加し、report の実出力を入力にした回帰検査を置く

経緯

v5.0.0 の Skill 棚卸(release PR #66)の結合レビュー(PR #80)で codex が指摘した。両ファイルとも棚卸では変更しておらず(git diff origin/main..release/skill-inventory で差分なし)、棚卸以前からある不具合のため、リリースの範囲外として本 issue に切り出した。

Drive 連携は optional dependency(google-auth はどの manifest にも載せていない)であり、この経路を使っていなければ影響しない。

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions