8884e100f9
Overlay 190 upstream items (V8.22→8.31) preserving trade-pro theme, registry tests, and design docs. Re-applied full patch set on identical anchors (discovery/env_for/blocks.css/type-mapping/locale-override/ theme_color/frontend entries/test_theme_pro_v3 mods) plus compose pins. Verified: theme suites 35/35; dual-baseline full run 415 passed vs pristine 386+29 ours, FAILED-set diff EMPTY (same 10 Windows env fails). Live: container 8.31.1-dev.1 healthy, hesupipe 192 entries intact, trade-pro build 203 pages 0 errors. Co-Authored-By: Claude Code <noreply@anthropic.com>
293 lines
9.0 KiB
JSON
293 lines
9.0 KiB
JSON
{
|
|
"version": "8.28.0-dev.1",
|
|
"created_utc": "2026-10-23T08:05:11.263013+00:00",
|
|
"regression_modules": 48,
|
|
"regression_batches": 24,
|
|
"regression_passed_batches": 23,
|
|
"regression_test_cases_passed": 383,
|
|
"regression_unpassed_batches_initial": 1,
|
|
"regression_unresolved_batches": 0,
|
|
"regression_retests": [
|
|
{
|
|
"batch": 22,
|
|
"passed": 13,
|
|
"reason": "旧 UI 测试断言仍要求“构建与交付”菜单;已更新为“生成与预览 / 检查并上线”,原样保留失败日志并独立重新测试。"
|
|
}
|
|
],
|
|
"regression_verified_batches": 24,
|
|
"browser_test": "PASS: Chromium with mock API, no real server deployment",
|
|
"http_e2e": "PASS: real local HTTP + Worker with isolated SQLite",
|
|
"real_art_pro_build": "NOT_VERIFIED",
|
|
"production_postgres_redis_multi_worker": "NOT_VERIFIED",
|
|
"real_remote_release_rollback": "NOT_VERIFIED",
|
|
"notes": [
|
|
"Explicitly separate local tests from production acceptance.",
|
|
"Release process reuses server-side quality gates, independent approval and worker API."
|
|
],
|
|
"batches": [
|
|
{
|
|
"batch": 1,
|
|
"files": [
|
|
"test_commercial_v5.py",
|
|
"test_connectors_v84.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 7.46,
|
|
"summary": ".................... [100%]\n20 passed in 4.03s\n\n",
|
|
"passed_count": 20
|
|
},
|
|
{
|
|
"batch": 2,
|
|
"files": [
|
|
"test_connectors_v85.py",
|
|
"test_console_v819.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 7.77,
|
|
"summary": "....................... [100%]\n23 passed in 3.51s\n\n",
|
|
"passed_count": 23
|
|
},
|
|
{
|
|
"batch": 3,
|
|
"files": [
|
|
"test_core_v4.py",
|
|
"test_deep_nested_v824.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 9.53,
|
|
"summary": "................... [100%]\n19 passed in 6.06s\n\n",
|
|
"passed_count": 19
|
|
},
|
|
{
|
|
"batch": 4,
|
|
"files": [
|
|
"test_editor_easy_v8212.py",
|
|
"test_editor_ux_v8211.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 3.05,
|
|
"summary": "...... [100%]\n6 passed in 0.22s\n\n",
|
|
"passed_count": 6
|
|
},
|
|
{
|
|
"batch": 5,
|
|
"files": [
|
|
"test_enterprise.py",
|
|
"test_enterprise_v7.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 10.17,
|
|
"summary": "................ [100%]\n16 passed in 5.55s\n\n",
|
|
"passed_count": 16
|
|
},
|
|
{
|
|
"batch": 6,
|
|
"files": [
|
|
"test_factory.py",
|
|
"test_factory_v2.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 13.12,
|
|
"summary": "........................ [100%]\n24 passed in 10.09s\n\n",
|
|
"passed_count": 24
|
|
},
|
|
{
|
|
"batch": 7,
|
|
"files": [
|
|
"test_mobile_tabs_v8213.py",
|
|
"test_multilingual_v815.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 8.68,
|
|
"summary": ".................... [100%]\n20 passed in 5.45s\n\n",
|
|
"passed_count": 20
|
|
},
|
|
{
|
|
"batch": 8,
|
|
"files": [
|
|
"test_nested_v823.py",
|
|
"test_p0_71.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 5.08,
|
|
"summary": "........ [100%]\n8 passed in 1.77s\n\n",
|
|
"passed_count": 8
|
|
},
|
|
{
|
|
"batch": 9,
|
|
"files": [
|
|
"test_p0_backup.py",
|
|
"test_p0_p4_completion_v88.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 6.58,
|
|
"summary": "................... [100%]\n19 passed in 3.42s\n\n",
|
|
"passed_count": 19
|
|
},
|
|
{
|
|
"batch": 10,
|
|
"files": [
|
|
"test_p0_p4_completion_v89.py",
|
|
"test_p1_platform.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 19.25,
|
|
"summary": ".............. [100%]\n14 passed in 13.41s\n\n",
|
|
"passed_count": 14
|
|
},
|
|
{
|
|
"batch": 11,
|
|
"files": [
|
|
"test_production_v816.py",
|
|
"test_professional_ui_v811.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 7.05,
|
|
"summary": "............... [100%]\n15 passed in 3.26s\n\n",
|
|
"passed_count": 15
|
|
},
|
|
{
|
|
"batch": 12,
|
|
"files": [
|
|
"test_regression_runner_v817.py",
|
|
"test_release_native_v814.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 4.71,
|
|
"summary": "........... [100%]\n11 passed in 1.87s\n\n",
|
|
"passed_count": 11
|
|
},
|
|
{
|
|
"batch": 13,
|
|
"files": [
|
|
"test_release_reviews_v7.py",
|
|
"test_release_v813.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 6.25,
|
|
"summary": ".............. [100%]\n14 passed in 3.24s\n\n",
|
|
"passed_count": 14
|
|
},
|
|
{
|
|
"batch": 14,
|
|
"files": [
|
|
"test_site_design_v87.py",
|
|
"test_siteforge_v817_audit.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 8.13,
|
|
"summary": ".................................... [100%]\n36 passed in 5.16s\n\n",
|
|
"passed_count": 36
|
|
},
|
|
{
|
|
"batch": 15,
|
|
"files": [
|
|
"test_studio_v86.py",
|
|
"test_theme_pro_v3.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 11.6,
|
|
"summary": "............... [100%]\n15 passed in 8.73s\n\n",
|
|
"passed_count": 15
|
|
},
|
|
{
|
|
"batch": 16,
|
|
"files": [
|
|
"test_v818_pg_recovery.py",
|
|
"test_v818_sqlite_pg_transfer.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 3.43,
|
|
"summary": "........... [100%]\n11 passed in 0.90s\n\n",
|
|
"passed_count": 11
|
|
},
|
|
{
|
|
"batch": 17,
|
|
"files": [
|
|
"test_v821_editor_history_and_mapping.py",
|
|
"test_v822_canvas.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 5.54,
|
|
"summary": "........ [100%]\n8 passed in 2.63s\n\n",
|
|
"passed_count": 8
|
|
},
|
|
{
|
|
"batch": 18,
|
|
"files": [
|
|
"test_v825_shared_components.py",
|
|
"test_v826_global_design.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 9.25,
|
|
"summary": "................ [100%]\n16 passed in 6.53s\n\n",
|
|
"passed_count": 16
|
|
},
|
|
{
|
|
"batch": 19,
|
|
"files": [
|
|
"test_v827_guided_workspace.py",
|
|
"test_v828_launch_center.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 4.57,
|
|
"summary": "....... [100%]\n7 passed in 2.02s\n\n",
|
|
"passed_count": 7
|
|
},
|
|
{
|
|
"batch": 20,
|
|
"files": [
|
|
"test_v8_art_installer.py",
|
|
"test_v8_workflows.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 5.15,
|
|
"summary": ".............. [100%]\n14 passed in 2.25s\n\n",
|
|
"passed_count": 14
|
|
},
|
|
{
|
|
"batch": 21,
|
|
"files": [
|
|
"test_wordpress_baseline.py",
|
|
"test_worker_queue_v6.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 13.36,
|
|
"summary": "............ [100%]\n12 passed in 10.27s\n\n",
|
|
"passed_count": 12
|
|
},
|
|
{
|
|
"batch": 22,
|
|
"files": [
|
|
"test_workspace_v810.py",
|
|
"test_workspace_v812.py"
|
|
],
|
|
"status": "failed",
|
|
"seconds": 9.11,
|
|
"summary": "</div></form></dialog>\\n</body></html>\\n'\n + where '<!doctype html>\\n<html lang=\"zh-CN\"><head><meta charset=\"utf-8\"><meta name=\"viewport\" content=\"width=device-width,ini...-muted\">取消</button><button type=\"submit\" class=\"btn btn-primary\">保存内容</button></div></form></dialog>\\n</body></html>\\n' = <Response [200 OK]>.text\n1 failed, 12 passed in 3.36s\n\n",
|
|
"passed_count": 12
|
|
},
|
|
{
|
|
"batch": 23,
|
|
"files": [
|
|
"test_wp_complex_v820.py",
|
|
"test_wp_migration_v81.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 5.91,
|
|
"summary": "...................... [100%]\n22 passed in 2.82s\n\n",
|
|
"passed_count": 22
|
|
},
|
|
{
|
|
"batch": 24,
|
|
"files": [
|
|
"test_wp_migration_v82.py",
|
|
"test_wp_migration_v83.py"
|
|
],
|
|
"status": "passed",
|
|
"seconds": 8.14,
|
|
"summary": ".................... [100%]\n20 passed in 5.41s\n\n",
|
|
"passed_count": 20
|
|
}
|
|
]
|
|
} |