Skip to content

Comments

[red-knot] Make infer.rs unit tests independent of public symbol inference#15690

Merged
sharkdp merged 1 commit intomainfrom
david/infer-unit-tests-no-public-symbol-dependence
Jan 23, 2025
Merged

[red-knot] Make infer.rs unit tests independent of public symbol inference#15690
sharkdp merged 1 commit intomainfrom
david/infer-unit-tests-no-public-symbol-dependence

Conversation

@sharkdp
Copy link
Contributor

@sharkdp sharkdp commented Jan 23, 2025

Summary

Make the remaining infer.rs unit tests independent from public symbol type inference decisions (see upcoming change in #15674).

Test Plan

  • Made sure that the unit tests actually fail if one of the assert_type assertions is changed.

@sharkdp sharkdp added the ty Multi-file analysis & type inference label Jan 23, 2025
Comment on lines +6041 to +6056
#[track_caller]
fn assert_diagnostic_messages(diagnostics: &TypeCheckDiagnostics, expected: &[&str]) {
let messages: Vec<&str> = diagnostics
.iter()
.map(|diagnostic| diagnostic.message())
.collect();
assert_eq!(&messages, expected);
}

#[track_caller]
fn assert_file_diagnostics(db: &TestDb, filename: &str, expected: &[&str]) {
let file = system_path_to_file(db, filename).unwrap();
let diagnostics = check_types(db, file);

assert_diagnostic_messages(diagnostics, expected);
}
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This just brings back two functions that I previously deleted.

@sharkdp sharkdp changed the title [red-knot] Make infer.rs unit tests independent from public symbol inference [red-knot] Make infer.rs unit tests independent of public symbol inference Jan 23, 2025
@sharkdp sharkdp merged commit fc2ebea into main Jan 23, 2025
21 checks passed
@sharkdp sharkdp deleted the david/infer-unit-tests-no-public-symbol-dependence branch January 23, 2025 13:30
dcreager added a commit that referenced this pull request Jan 24, 2025
* main:
  [red-knot] MDTests: Do not depend on precise public-symbol type inference (#15691)
  [red-knot] Make `infer.rs` unit tests independent of public symbol inference (#15690)
  Tidy knot CLI tests (#15685)
  [red-knot] Port comprehension tests to Markdown (#15688)
  Create Unknown rule diagnostics with a source range (#15648)
  [red-knot] Port 'deferred annotations' unit tests to Markdown (#15686)
  [red-knot] Support custom typeshed Markdown tests (#15683)
  Don't run the linter ecosystem check on PRs that only touch red-knot crates (#15687)
  Add `rules` table to configuration (#15645)
  [red-knot] Make `Diagnostic::file` optional (#15640)
  [red-knot] Add test for nested attribute access (#15684)
  [red-knot] Anchor relative paths in configurations (#15634)
  [`pyupgrade`] Handle multiple base classes for PEP 695 generics (`UP046`) (#15659)
  [`pyflakes`] Treat arguments passed to the `default=` parameter of `TypeVar` as type expressions (`F821`) (#15679)
  Upgrade zizmor to the latest version in CI (#15649)
  [`pyupgrade`] Add rules to use PEP 695 generics in classes and functions (`UP046`, `UP047`) (#15565)
  [red-knot] Ensure a gradual type can always be assigned to itself (#15675)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants