feat(test): keep optimization when targeting specific test files
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
- 48/100
Hướng nghiên cứu
Start at the very_good test optimization decision (shouldOptimize and isTargettingTestFiles) and trace how targeted paths are handled; compare the very_good dart test entry point and the pre-gen hook used for sharding. Define behavior for qualifying files and directories, exclusions, and the listed opt-out cases, then verify results are reported per file through resolveReport and coverage remains unchanged. Done means targeted test files are optimized under the stated conditions while existing behavior is preserved for the stated exceptions.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Problem
very_good test turns optimization off whenever a positional path is given (shouldOptimize -> isTargettingTestFiles). Large suites often run a computed subset (tests affected by a change, picked by a project script) in the inner loop or CI. For subsets of tens to hundreds of files every file pays its own compile and VM start, exactly the cost the optimizer removes. Today the choice is the whole suite optimized, or nothing.
Proposal
very_good test test/a_test.dart test/feature/ ... generates .test_optimizer.dart from only the targeted files instead of disabling optimization.
- A target qualifies if it is an existing
*_test.dartfile or a directory inside the package'stest/; a directory selects every test file under it. - Files tagged
skip_very_good_optimizationor matched by--exclude-optimizationstill run as their own suites, only if they are in the target set. - Anything else (line selectors like
foo_test.dart:12, paths outsidetest/,--platform,--update-goldens) keeps today's behaviour. --no-optimizationstill turns it off.- With
--total-shards, the target set is sharded in the pre-gen hook before the round-robin. - Same for
very_good dart test.
Behaviour
Results are reported per file through the existing resolveReport mapping. Coverage unchanged.
Backwards compatibility
Runs without paths are unchanged. Runs with paths become optimized; suites that only pass unbundled can opt out with --no-optimization, the skip tag or --exclude-optimization. If preferred, gate it behind --optimize-targets / optimization.targets: true in very_good.yaml for one minor release.
Scope
No git or dependency analysis (see #1695): the caller chooses the files, the CLI only bundles them. Happy to send a PR.
- Ngôn ngữ chính
- Dart
- Star
- 2.4k
- Fork
- 244
- Merge trung bình
- 1 ngày 4 giờ
- Pull request đã merge (30 ngày)
- 25
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- 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 VeryGoodOpenSource/very_good_cli
-
Độ khó 2/5 Dưới một giờ Mức phù hợp với người mới 85/100
VeryGoodOpenSource/very_good_cli#1763 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
fix(mcp): test timeout_seconds does not kill a hung test run, which blocks every later tool callCó thể đã có người làm @unicoderbot đã nhận 2 ngày trước. Đang mởbug
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 45/100
VeryGoodOpenSource/very_good_cli#1765 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feat: merge lcov reports from sharded test runsCó thể làm lại được Pull request cho issue này đã bị đóng mà không được merge. Đang mởfeature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 42/100
VeryGoodOpenSource/very_good_cli#1754 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feature
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 38/100
VeryGoodOpenSource/very_good_cli#1695 · 2 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
feat(mcp): stream progress notifications for long-running toolsCó thể làm lại được @vgvbot đã nhận 66 ngày trước và không có pull request nào đang mở. Đang mởfeature
VeryGoodOpenSource/very_good_cli#1616 · 1 bình luận · 1 người được giao ·
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của VeryGoodOpenSource/very_good_cli
Issue tương tự
-
c: proposal p: go_router package team-ecosystem
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 60/100
flutter/flutter#194542 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
`sendFileEvent` uploads the original image but describes the shrunk one in unencrypted roomsĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 82/100
famedly/matrix-dart-sdk#2524 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Document supported hardwareĐang mởDocumentation
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 82/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Kazakh (kk_KZ) and Georgian (ka_GE) system locales get English instead of the shipped translationsĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 75/100
Maintainer thường phản hồi trong vòng 1 ngày
-
area: docs eco: dart good first issue help wanted lane: free-agent roadmap size: XS type: docs
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
arminazimi/evergreen#430 ·
Maintainer thường phản hồi trong vòng 1 ngày