ruff/crates
Max Mynter d0c8eaa092
Error instead of `panic!` when running Ruff from a deleted directory (#16903) (#17054)
<!--
Thank you for contributing to Ruff! To help us out with reviewing,
please consider the following:

- Does this pull request include a summary of the change? (See below.)
- Does this pull request include a descriptive title?
- Does this pull request include references to any relevant issues?
-->
Closes #16903

## Summary
Check if the current working directory exist. If not, provide an error
instead of panicking.

Fixed a stale comment in `resolve_default_files`.

<!-- What's the purpose of the change? What does it do, and why? -->

## Test Plan
I added a test to the `resolve_files.rs`. 

Manual testing follows steps of #16903 :
- Terminal 1
```bash
mkdir tmp
cd tmp
```
- Terminal 2
```bash
rm -rf tmp
```
- Terminal 1
```bash
ruff check
```

## Open Issues / Questions to Reviewer
All tests pass when executed with `cargo nextest run`.

However, with `cargo test` the parallelization makes the other tests
fail as we change the `pwd`.

Serial execution with `cargo test` seems to require [another dependency
or some
workarounds](https://stackoverflow.com/questions/51694017/how-can-i-avoid-running-some-tests-in-parallel).

Do you think an additional dependency or test complexity is worth
testing this small edge case, do you have another implementation idea,
or should i rather remove the test?
  
---
P.S.: I'm currently participating in a batch at the [Recurse
Center](https://www.recurse.com/) and would love to contribute more for
the next six weeks to improve my Rust. Let me know if you're open to
mentoring/reviewing and/or if you have specific areas where help would
be most valued.

---------

Co-authored-by: Micha Reiser <micha@reiser.io>
2025-04-01 14:17:07 +02:00
..
red_knot [red-knot] Use `web-time` instead of `FileTime::now` (#16967) 2025-03-25 13:03:30 +00:00
red_knot_ide [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_project [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_python_semantic [red-knot] Add redundant-cast error (#17100) 2025-04-01 00:37:25 +00:00
red_knot_server [red-knot] IDE crate (#17045) 2025-04-01 09:36:00 +02:00
red_knot_test [red-knot] Add line number to mdtest panic message about language tag mismatch (#16906) 2025-03-22 13:05:31 +01:00
red_knot_vendored [red-knot] Allow `CallableTypeFromFunction` to display the signatures of callable types that are not function literals (#17047) 2025-03-28 20:23:04 +00:00
red_knot_wasm [red-knot] Playground improvements (#17109) 2025-04-01 10:04:51 +02:00
ruff Error instead of `panic!` when running Ruff from a deleted directory (#16903) (#17054) 2025-04-01 14:17:07 +02:00
ruff_annotate_snippets Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_benchmark [red-knot] Add initial support for `*` imports (#16923) 2025-03-24 17:15:58 +00:00
ruff_cache Fix cache key collisions for paths with separators (#12159) 2024-07-03 07:36:46 -05:00
ruff_db [red-knot] Use `web-time` instead of `FileTime::now` (#16967) 2025-03-25 13:03:30 +00:00
ruff_dev Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_diagnostics Show errors for attempted fixes only when passed `--verbose` (#15237) 2025-01-03 08:50:13 -06:00
ruff_formatter Fixing more spelling errors (#16926) 2025-03-23 10:55:14 -07:00
ruff_graph Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_index [red-knot] Don't use separate ID types for each alist (#16415) 2025-02-28 14:55:55 -05:00
ruff_linter Control flow graph: setup (#17064) 2025-04-01 05:53:42 -05:00
ruff_macros Add knot.toml schema (#15735) 2025-02-07 10:59:40 +01:00
ruff_notebook bump MSRV to 1.83 (#16294) 2025-02-26 06:12:43 -08:00
ruff_python_ast Add `as_group` methods to `AnyNodeRef` (#17048) 2025-03-28 19:42:45 +00:00
ruff_python_ast_integration_tests Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_codegen Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_python_formatter Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_index Extract `LineIndex` independent methods from `Locator` (#13938) 2024-10-28 07:53:41 +00:00
ruff_python_literal Preserve triple quotes and prefixes for strings (#15818) 2025-02-04 08:41:06 -05:00
ruff_python_parser Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_resolver Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_python_semantic Control flow graph: setup (#17064) 2025-04-01 05:53:42 -05:00
ruff_python_stdlib Revert "Add all PEP-585 names to UP006 rule" (#15250) 2025-01-04 12:23:53 +01:00
ruff_python_trivia [red-knot] Ignore surrounding whitespace when looking for `<!-- snapshot-diagnostics -->` directives in mdtests (#16380) 2025-02-27 13:25:31 +00:00
ruff_python_trivia_integration_tests Pass `ParserOptions` to the parser (#16220) 2025-02-19 10:50:50 -05:00
ruff_server Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00
ruff_source_file [`pyupgrade`] Do not report when a UTF-8 comment is followed by a non-UTF-8 one (`UP009`) (#14728) 2024-12-11 10:30:41 +00:00
ruff_text_size [`ruff`] `itertools.starmap(..., zip(...))` (`RUF058`) (#15483) 2025-01-16 15:18:12 +01:00
ruff_wasm Bump 0.11.2 (#16896) 2025-03-21 09:17:07 -04:00
ruff_workspace Update pre-commit dependencies (#17073) 2025-03-31 07:42:15 +00:00