Skip to content

Conversation

@MichaReiser
Copy link
Member

@MichaReiser MichaReiser commented Oct 16, 2025

Summary

The file watcher tests sometimes flake locally (macOS only).

I suspect that this is mainly happening because all file watcher test setup native file watchers at once with high concurrency,
which, what i suspect, leads to overwhelming the OS filewatcher.

This PR adds a custom test group for the file watching tests that enforces that they run serial.

Test Plan

Verified that nextest recognizes the configuration:

cargo nextest --profile ci show-config test-groups
    Finished `test` profile [unoptimized + debuginfo] target(s) in 0.16s
group: serial (max threads = 1)
  * override for default profile with filter 'binary(file_watching)':
      ty::file_watching:
          add_search_path
          change_python_version_and_platform
          changed_file
          changed_versions_file
          changes_to_config_file_override
          changes_to_user_configuration
          deleted_file
          directory_deleted
          directory_moved_to_project
          directory_moved_to_trash
          directory_renamed
          hard_links_in_project
          hard_links_to_target_outside_project
          move_file_to_project
          move_file_to_trash
          nested_projects_delete_root
          new_file
          new_file_in_included_out_of_project_directory
          new_files_with_explicit_included_paths
          new_ignored_file
          new_non_project_file
          remove_search_path
          rename_file
          search_path
          submodule_cache_invalidation_after_pyproject_created
          submodule_cache_invalidation_created
          submodule_cache_invalidation_created_then_deleted
          submodule_cache_invalidation_deleted
          unix::changed_metadata
          unix::symlink_inside_project
          unix::symlinked_module_search_path

and runs the tests serial

@MichaReiser MichaReiser added testing Related to testing Ruff itself ty Multi-file analysis & type inference labels Oct 16, 2025
@MichaReiser MichaReiser merged commit ec9faa3 into main Oct 16, 2025
38 checks passed
@MichaReiser MichaReiser deleted the configure-nextest-sequential branch October 16, 2025 14:08
dcreager added a commit that referenced this pull request Oct 16, 2025
…rable

* origin/main:
  [ty] Support dataclass-transform `field_specifiers` (#20888)
  Bump 0.14.1 (#20925)
  Standardize syntax error construction (#20903)
  [`pydoclint`] Implement `docstring-extraneous-parameter` (`DOC102`) (#20376)
  [ty] Fix panic 'missing root' when handling completion request (#20917)
  [ty] Run file watching tests serial when using nextest (#20918)
  [ty] Add version hint for failed stdlib attribute accesses (#20909)
  More CI improvements (#20920)
  [ty] Check typeshed VERSIONS for parent modules when reporting failed stdlib imports (#20908)
dcreager added a commit that referenced this pull request Oct 17, 2025
* main:
  [ty] Prefer declared type for invariant collection literals (#20927)
  [ty] Don't track inferability via different `Type` variants (#20677)
  [ty] Use declared variable types as bidirectional type context (#20796)
  [ty] Avoid unnecessarily widening generic specializations (#20875)
  [ty] Support dataclass-transform `field_specifiers` (#20888)
  Bump 0.14.1 (#20925)
  Standardize syntax error construction (#20903)
  [`pydoclint`] Implement `docstring-extraneous-parameter` (`DOC102`) (#20376)
  [ty] Fix panic 'missing root' when handling completion request (#20917)
  [ty] Run file watching tests serial when using nextest (#20918)
  [ty] Add version hint for failed stdlib attribute accesses (#20909)
  More CI improvements (#20920)
  [ty] Check typeshed VERSIONS for parent modules when reporting failed stdlib imports (#20908)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

testing Related to testing Ruff itself ty Multi-file analysis & type inference

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants