feat(test): keep optimization when targeting specific test files
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Dart
- Estrellas
- 2.4k
- Forks
- 244
- Merge medio
- 1 d 4 h
- PR fusionados (30 d)
- 25
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de VeryGoodOpenSource/very_good_cli
-
Dificultad 2/5 Menos de una hora Aptitud para principiantes 85/100
VeryGoodOpenSource/very_good_cli#1763 ·
Los mantenedores suelen responder en 1 día
-
fix(mcp): test timeout_seconds does not kill a hung test run, which blocks every later tool callPosiblemente ocupada @unicoderbot la tomó hace 2 días. Abiertobug
Dificultad 3/5 1-2 días Aptitud para principiantes 45/100
VeryGoodOpenSource/very_good_cli#1765 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
feat: merge lcov reports from sharded test runsQuizá libre de nuevo Un pull request para esta issue se cerró sin fusionarse. Abiertofeature
Dificultad 5/5 Más de una semana Aptitud para principiantes 42/100
VeryGoodOpenSource/very_good_cli#1754 ·
Los mantenedores suelen responder en 1 día
-
feature
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
VeryGoodOpenSource/very_good_cli#1695 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
feat(mcp): stream progress notifications for long-running toolsQuizá libre de nuevo @vgvbot la tomó hace 66 días y no hay ningún pull request abierto. Abiertofeature
VeryGoodOpenSource/very_good_cli#1616 · 1 comentario · 1 asignado ·
Los mantenedores suelen responder en 1 día
Todos los issues de VeryGoodOpenSource/very_good_cli
Issues similares
-
c: proposal p: go_router package team-ecosystem
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
flutter/flutter#194542 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
`sendFileEvent` uploads the original image but describes the shrunk one in unencrypted roomsAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
famedly/matrix-dart-sdk#2524 ·
Los mantenedores suelen responder en 1 día
-
Document supported hardwareAbiertoDocumentation
Dificultad 1/5 Menos de una hora Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
Kazakh (kk_KZ) and Georgian (ka_GE) system locales get English instead of the shipped translationsAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
area: docs eco: dart good first issue help wanted lane: free-agent roadmap size: XS type: docs
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
arminazimi/evergreen#430 ·
Los mantenedores suelen responder en 1 día