wordpress.phpunit: database-type=mdi-native excludes 100% of candidates (excluded=1335, routed=0) on multisite + managed bootstrap
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 4/5
- Thời gian dự kiến
- 3-5 ngày
- Mức phù hợp với người mới
- 52/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- mariadb, mysql, php, typescript
- Lĩnh vực
- backend, databases, testing-qa
Hướng nghiên cứu
Bắt đầu bằng cách tái hiện component wordpress.phpunit với multisite và managed bootstrap tại commit d4e0f713 của wp-codebox, so sánh database-type=mysql với mdi-native. Truy vết đường dẫn lựa chọn và định tuyến candidate sau discovery, rồi kiểm tra việc báo cáo exclusion và xử lý selected=0. Hoàn tất khi các candidate được định tuyến dưới mdi-native, các exclusion nêu rõ một lý do và một lần chạy với số lựa chọn bằng 0 thất bại ngay lập tức.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Summary
With database-type=mdi-native, wordpress.phpunit discovers the full candidate set and then excludes 100% of it, routing zero tests. The same component on database-type=mysql runs 1,177 tests normally.
FULL_SUITE_STANDALONE_PHP_SUMMARY:candidates=1335 selected=0 routed=0 excluded=1335 passed=0 failed=0
Discovery clearly works — it finds 1,335 candidates. Routing/selection is where everything is dropped.
Reproduction
- wp-codebox:
d4e0f713(currentmain), so this includes #2490 (mdi-native backend), #2494 (native multisite PHPUnit state), #2497 (explicit native MDI sources), and #2498 (retain PHPUnit failure artifacts). - Consumer: Homeboy
wordpressextension, managed install, provenance-valid (homeboy extension setup wordpressrun clean; version reported0.26.8at the managed source path). - Component under test: a WordPress plugin with
wp_codebox_multisite: truewp_codebox_phpunit_bootstrap_mode: "managed"- 101 test files / 1,335 PHPUnit candidates
Control vs variable, same component, same commit, only database_type changed:
database_type |
Result |
|---|---|
mysql (external service) |
1,177 passed, 7 skipped, 1,177 total, 577s |
mdi-native |
0 passed, 0 failed, 0 skipped, 0 total — excluded=1335 |
Behaviour detail
- The run does not fail fast at the point of exclusion. After reporting
excluded=1335it continues until the harness budget is consumed. In one run it reportedtest suite consumed 1336s of its 1500s budget (89%)having executed nothing. - With #2498 present the run surfaces
failed test command did not expose an observed failed test IDrather than silently producing nothing, which is an improvement, but there is still no diagnostic explaining why 1,335 candidates were excluded.
Why this matters
mdi-native is the difference between "tests need an external MySQL/MariaDB with provisioned credentials" and "tests need nothing." For consumers, that is the difference between a suite any contributor or agent can run locally and one gated behind secrets. Right now the backend validates, plans, and reports success at the config layer while running zero tests — so it cannot be trusted as a MySQL-compatible harness.
Credit where due: the consumer side handles this safely. Homeboy classifies zero executed tests as invalid_evidence → passed: false, so a release preflight on this backend is correctly blocked rather than shipping untested code. The danger is not a silent false pass in that toolchain, but the failure is silent enough that another consumer could plausibly treat "exit 0, no failures" as success.
Asks
- Emit a reason for exclusion.
excluded=1335with no per-candidate or aggregate cause is not diagnosable. Even a single aggregate reason code would have made this self-service. - Fix the routing/selection path for
mdi-nativeso candidates route the way they do undermysql. The identical candidate count (1,335) under both backends suggests discovery is shared and only selection/routing diverges. - Fail fast on
selected=0whencandidates>0. Consuming the full time budget after excluding everything wastes ~22 minutes per run and obscures the real error.
Possibly relevant
The combination here is multisite + managed bootstrap. #2494 specifically addressed native multisite PHPUnit state, so this may be an unhandled remainder of that work rather than a general mdi-native failure — I have not tested single-site to isolate that, and would be happy to if it helps.
- Ngôn ngữ chính
- TypeScript
- Star
- 18
- Fork
- 4
- Merge trung bình
- 1 giờ 39 phút
- Pull request đã merge (30 ngày)
- 45
Chuẩn bị môi trường
Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của Automattic/wp-codebox
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Automattic/wp-codebox#2531 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Automattic/wp-codebox#2467 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Automattic/wp-codebox#2466 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Automattic/wp-codebox#2105 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Automattic/wp-codebox#2061 ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của Automattic/wp-codebox
Issue tương tự
-
clawsweeper:fix-shape-clear clawsweeper:queueable-fix clawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster no-stale P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openclaw/openclaw#168089 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
✨ enhancement needs-discussion
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 85/100
-
[Bug]: [MCP/CLI] Bare loopback IP addresses (127.0.0.1:port) and hosts with ports fail to navigate due to erroneous scheme inferenceCó thể đã có người làm @alok-108 đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
microsoft/playwright#43263 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
area:studio type:security
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
Maintainer thường phản hồi trong vòng 1 ngày
-
enhancement good first issue Stellar Wave trivial
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 85/100
StellarCanary/ProtocolCanary-Action#331 ·
Maintainer thường phản hồi trong vòng 1 ngày