Skip to content
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

Handle the new formatting style in the static error test updater #57042

Closed
munificent opened this issue Nov 6, 2024 · 0 comments
Closed

Handle the new formatting style in the static error test updater #57042

munificent opened this issue Nov 6, 2024 · 0 comments
Labels
area-test Cross-cutting test issues (use area- labels for specific failures; not used for package:test).

Comments

@munificent
Copy link
Member

We have an automated tool in pkg/test_runner/tool/update_static_error_tests.dart that will automatically regenerate the test expectation comments in static error tests. That tool generally tries to indent the expectation comments at the same level as the previous line, like:

class C {
  void method() {
    some + code;
    //   ^ Some error expectation on "+".
  }
}

But if the error marker is too early in the line, it will put the comment at column zero. This was safe to do because the old formatter never indented a line comment if it was at the beginning of the line. That feature is handy here, but was basically an anti-feature everywhere else, so the new formatter doesn't do that.

That means that if you update the test expectations and then format it, expectation comments may get shifted over and point at the wrong column. We should update update_static_error_tests.dart so that it always indents the comment with the previous line and then writes an explicit column number (which the static error test already supports) if the column needs to be before where the indented // starts.

@munificent munificent added the area-test Cross-cutting test issues (use area- labels for specific failures; not used for package:test). label Nov 6, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area-test Cross-cutting test issues (use area- labels for specific failures; not used for package:test).
Projects
None yet
Development

No branches or pull requests

1 participant