Skip to content

[tests] organize/consolidate/de-duplicate shared or shareable analyzer/server/linter test logic #60036

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
1 of 2 tasks
pq opened this issue Feb 3, 2025 · 2 comments
Open
1 of 2 tasks
Labels
area-devexp For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages. P2 A bug or feature request we're likely to work on test-technical-debt Dealing with technical debt in the area of tests and testing

Comments

@pq
Copy link
Member

pq commented Feb 3, 2025

There are at least a few tasks that could go towards improving test maintenance and authoring, leading to improved velocity, less technical debt and hopefully more fun (and better coverage) when writing tests.

De-Duplication. Analyzer, Linter and Server tests have a bit of duplication. Logic that's duplicated adds maintenance and confusion when once shared logic diverges.

Unification. Besides duplication, we have many tests that test similar things but in subtly different ways. (Anecdotally, my recent language feature implementation tasks have been largely dominated by test authoring that in turn was largely dominated by answering questions of the "am I holding this right" kind.) Unification would speed up test-authoring and would have as a side-effect less test code to maintain.


@dart-lang/analyzer-team: I'm taking a look at this and will update this item with concrete proposals and ideas. In the meantime, please feel free to chime in with thoughts/ideas!

@pq pq added legacy-area-analyzer Use area-devexp instead. P2 A bug or feature request we're likely to work on test-technical-debt Dealing with technical debt in the area of tests and testing labels Feb 3, 2025
@pq pq self-assigned this Feb 3, 2025
@srawlins
Copy link
Member

srawlins commented Feb 3, 2025

Close the existing issue, #55660, in favor of this one?

@pq
Copy link
Member Author

pq commented Feb 3, 2025

Or maybe better still, treat this as a meta topic and link to that one. Thanks!

copybara-service bot pushed a commit that referenced this issue Feb 7, 2025
Eliminates duplication and promotes hermetic tests (some were registering and failing to unregister test lints).

Bug: #60036
Change-Id: I9d0fe5fd610b51ce9000decbf75da2338ed87737
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/408320
Reviewed-by: Brian Wilkerson <[email protected]>
Commit-Queue: Phil Quitslund <[email protected]>
@bwilkerson bwilkerson added area-devexp For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages. and removed legacy-area-analyzer Use area-devexp instead. labels Mar 12, 2025
@pq pq removed their assignment Apr 14, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-devexp For issues related to the analysis server, IDE support, linter, `dart fix`, and diagnostic messages. P2 A bug or feature request we're likely to work on test-technical-debt Dealing with technical debt in the area of tests and testing
Projects
None yet
Development

No branches or pull requests

3 participants