This shows up sometimes in code reviews, so it makes sense that tidy
enforces it. `rustfmt` supports this via comment normalization, but it
does many other things and is still an unstable feature (with bugs).
Testing: There are new tidy tests for this change.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This changes will introduce [flake8-annotations
(ANN)](https://docs.astral.sh/ruff/rules/#flake8-annotations-ann) for
python type annotation, this will make all thing related to function
strictly typed in python
This rule will start to affected this directory from now:
- /python -> Root directory
- /python/tidy
- /python/wpt
Testing: `./mach test-tidy`
Fixes: Not related to any issues
---------
Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
- Remove all handling of comments and attributes. This was not affecting
the checks in any way.
- Remove `is_associated_type()` as it was unused.
- Remove the check for `&String`, `&Vec`, operators at the end of the
line, and the unit return type as clippy already checks these (and
handles the mutable variants).
Testing: This is covered by tidy script tests.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This change replaces our custom `panic` / `unwrap` lint with the one
from clippy. This rule as not properly applied in servoshell, so this
change fixes some clippy errors raised by the new configuration.
Testing: This change removes the tidy tests for the custom lints, but
otherwise the behavior is tested as part of clippy itself.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
As we plan to adopt more rules from Ruff and rustfmt, we would like to
retire the following rules:
1. `Line length check`, as this is already handled by Ruff and rustfmt
configurations.
2. `Alphabetical order`
Testing: `./mach test-tidy --no-progress --all`
Fixes: #37121
---------
Signed-off-by: Jerens Lensun <jerensslensun@gmail.com>
Requires servo/servo#37045 for deps and config.
Testing: No need for tests to test tests.
Fixes: servo/servo#37041
---------
Signed-off-by: zefr0x <zer0-x.7ty50@aleeas.com>
The issue here is mainly that some of the lines are longer than 120
characters. Just add linebreak where appropriate.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Instead of parsing the `Cargo.lock` file directly in `tidy.py`. Use
`cargo-deny`, which we already use to detect unapproved licenses in the
dependency chain to detect duplicate and banned crates. In addition,
enable all other `cargo-deny` checks and add exceptions where necessary
for them. This depends on the latest release of `cargo-deny` which
depends on a recent verison of `rust`.
Fixes#34393.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
This change fixes all rustdoc errors and also adds a tidy check for a
very common rustdoc URL issue. Eventually rustdoc warnings should likely
cause the build to fail, but this catches those issues sooner in order
to not waste so much developer time.
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
* Use cargo-deny to check license compliance.
All licenses should be MPL-2.0 or weaker.
* Run cargo-deny check licenses in mach tidy
* fmt
* Fix inverted boolean
* Move cargo deny to tidy.py
* Add quotes around license in error message
* Integrate `cargo-deny` into tidy fully
* Fix script tests
---------
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
1. Make the tidy output easier to follow
2. Integrate the WPT manifest cleanliness step into tidy
itself and don't run it if nothing has changed in the WPT
directory.
3. Fix an issue where Python test requirements were not installed,
which could cause issues with some modules not being found.
Fixes#30002.
This code was used to test buildbox_steps.yml, but Servo no longer uses
buildbot, so this code is essentially unused. In addition, YAML +
Cython 3 is causing issues on the CI.
Fixes#30003
Signed-off-by: Martin Robinson <mrobinson@igalia.com>
Remove:
- tidy self test support from `./mach test`
- `./mach test-idl`
Adds a `./mach test-scripts` command that is responsible for running all
Python script tests. Run this during the CI to catch regressions in
changes to scripts. The WebIDL tests are still *very* slow and there are
from Gecko, so only run them when "-a" is passed meaning all tests.
It seems that servo-tidy is only used by webrender in my GitHub
searches. WebRender could simply use `rustfmt` and the tidy on pypi
hasn't been updated since 2018. Converting tidy to a normal Python
package removes the maintenance burden of continually fixing the easy
install configuration.
Fixes#29094.
Fixes#29334.
2023-06-15 13:10:06 +02:00
Renamed from python/tidy/servo_tidy_tests/test_tidy.py (Browse further)