Define merge semantics for `results.errors`
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
- 25/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Khá rõ ràng
- Mức độ hoạt động
- Sôi nổi
- Công nghệ
- typescript
- Lĩnh vực
- tooling
Hướng nghiên cứu
Start with the spec text that #88 adds for results.errors, then read src/merge.ts in ctrf-cli and in ctrf-js to see how the first shard's fields are kept. The issue first asks for a spec rule (concatenate every input's errors, in input order, with no de-duplication), which needs maintainer agreement before any code. Done means the spec wording is agreed and both merge functions keep every shard's errors, with tests for multi-shard input.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Follow-up to #65, from this comment. Builds on #88, which adds results.errors: [{message, trace, extra}].
Problem
Sharded runs are routinely merged into one CTRF document. Merging is where run-level errors get lost. #88 says nothing about merging. Current CTRF tooling would silently drop errors from every shard but the first:
ctrf mergein ctrf-cli keepsextraandenvironmentfrom the first shard only.- ctrf-js
merge()keeps the first value for each key and rebuilds the result without anyresults.errorshandling.
So aAshard that failed in global teardown would produce a merged report with no error and, if all its tests passed, a green verdict.
Precedent
Tools that merge run-level errors concatenate them:
- Playwright's
merge-reportsreplays every shard'sonErrorwith no de-duplication. It merges run status worst-first: failed, then timedout, then interrupted, then passed. - Allure 3 appends errors without de-duplication.
De-duplication is also risky: the same message from two shards (for example, "Database cleanup failed") might mean two separate failures.
Proposal
Add to the spec:
When merging CTRF documents (for example, shards of one run),
results.errorsSHOULD be the concatenation of every input document'sresults.errors, in input order, without de-duplication. A merging tool MAY record the source document or shard in each entry'sextra.
Then update ctrf merge and ctrf-js merge() to follow it.
Related
If an optional run outcome is added (separate issue), its merge rule should follow Playwright's worst-first ordering.
- Ngôn ngữ chính
- Không có dữ liệu ngôn ngữ
- Star
- 103
- Fork
- 4
- Merge trung bình
- 1 giờ 3 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Không có mẫu pull request
- Đọc hướng dẫn đóng góp
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 ctrf-io/ctrf
-
Also Mention UUID version 8Đang mở
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 76/100
ctrf-io/ctrf#59 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 18/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
Maintainer thường phản hồi trong vòng 1 ngày
-
CTRF 0.3.0 preparationĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 20/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Proposal: Add optional `threadId` to `retryAttempts` entriesCó thể đã có người làm @alexshamrai đã nhận 12 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 68/100
ctrf-io/ctrf#74 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
eliasstravik/herdr-projects#787 ·
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
code-yeongyu/oh-my-openagent#12784 ·
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 78/100
-
`jiti/register`: `import.meta.resolve()` throws `ReferenceError: jitiESMResolve is not defined`Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 71/100
btclib-org/btclib#2964 ·
Maintainer thường phản hồi trong vòng 1 ngày