Commit graph

79 commits

Author SHA1 Message Date
Corey Farwell
d1824aea48 Expand tidy to lint parts of /tests/wpt 2015-11-03 17:11:44 -05:00
Anthony Ramine
bd363b009d Make test-tidy ignore braces surrounded by backticks 2015-10-21 10:59:36 +02:00
Till Schneidereit
499a847141 Whitelist drafts.fxtf.org in tidy.py's webidl spec link check 2015-10-17 22:25:21 +02:00
Gilles Leblanc
d99149701f Adds a tidy check for single-page HTML specification links
Flags links to the single-page WHATWG specification and suggests the URL
for the multi page one.

Fixes #7998
2015-10-15 21:03:58 -04:00
bors-servo
0f597d3890 Auto merge of #7933 - mbrubeck:piston-image, r=glennw
Replace libpng and stb_image with PistonDevelopers/image

Fixes #3368. r? @glennw 

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7933)
<!-- Reviewable:end -->
2015-10-12 15:06:31 -06:00
Corey Farwell
85f2b6fc5b Replace usage of old-style WHATWG spec links 2015-10-10 11:55:09 -04:00
Matt Brubeck
e2e142aae8 Replace libpng with image everywhere. 2015-10-10 07:43:11 -07:00
Matt Brubeck
b649246fe2 Replace stb_image with PistonDevelopers/image
Fixes #3368
2015-10-09 12:23:33 -07:00
Pierre Chevalier
d2481c37d5 Refactor away unnecessary use of regex
We don't need regex matching since ": &Vec<" doesn't
contain any special character.

New code reads better.

Fixes #7914.
2015-10-09 16:43:26 +01:00
Jaydeep
2a99915188 Check for Extra pointer dereferencing. Issue #7640. 2015-09-26 19:33:29 -07:00
Mathieu Rheaume
705d8f7a1c Raise max length error over 120 chars not at 120 chars. python/tidy.py 2015-09-21 22:25:32 -04:00
Brandon Fairchild
e924393be8 tidy.py: Check for import blocks separated by whitespace
This enables flagging multiple import blocks separated by whitespace
as errors.

Fixes #7381.
2015-09-19 12:46:01 -04:00
Hugo Thiessard
e81e91207c fixes #7390 : tidy now check the order of mod declarations even whith attribute 2015-09-18 21:32:00 +02:00
bors-servo
3a97455a65 Auto merge of #7570 - jxs:ignore_length_tidy_script, r=Ms2ger
ignore length on .lock files on tidy.py,

closes #7569

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7570)
<!-- Reviewable:end -->
2015-09-11 03:07:34 -06:00
João Oliveira
b9ffb80b7c ignore length on .lock files on tidy.py,
closes #7569
2015-09-09 14:02:43 +01:00
Corey Farwell
244af42d89 Use OS-agnostic filesystem paths in Python
This will eventually need to be done for #1908
2015-09-08 21:16:02 +02:00
bors-servo
3424e234c8 Auto merge of #7499 - nerith:style, r=metajack
Improve style nit check for space after a comma

Fixes #7345.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7499)
<!-- Reviewable:end -->
2015-09-02 12:05:58 -06:00
Corey Farwell
31e57cb349 Remove references to no-longer-in-tree Python packages 2015-09-02 09:34:02 -04:00
Corey Farwell
e38df50bbf Revert "Revert "Auto merge of #7103 - frewsxcv:python-venv, r=metajack" for breaking web-platform-tests."
This reverts commit 47d6d958f5.
2015-09-02 09:34:01 -04:00
bors-servo
8b5418f58f Auto merge of #7438 - Wafflespeanut:cargo-tidy, r=jdm
Tidy can now check for version conflicts...

fixes #7133

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7438)
<!-- Reviewable:end -->
2015-09-01 14:38:48 -06:00
Brandon Fairchild
24bc6dfb52 python/tidy.py: Ignore macros in style nit check
Lines with macros were flagged as errors when checking
for space after a comma.
2015-09-01 16:25:44 -04:00
Brandon Fairchild
0bddd25805 Improve style nit check for space after a comma
Only a small number of things that followed a comma were flagged.
This improves the thoroughness of that check.

Fixes #7345.
2015-09-01 15:02:41 -04:00
Ravi Shankar
da1c8581d9 Tidy could now check for version conflicts! 2015-09-02 00:23:25 +05:30
bors-servo
15de679f11 Auto merge of #7468 - JoshTheGoldfish:Issue7460, r=jdm
Making test-tidy check that = have space after them

For issue #7460. Need to ensure compatibility with #7390.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7468)
<!-- Reviewable:end -->
2015-09-01 08:33:02 -06:00
erneyja
17663315dd make test-tidy check that = have space after them 2015-09-01 07:18:19 -04:00
Corey Farwell
3a1d140ab5 Enforce linking to spec for method implementations via macros 2015-08-31 21:02:23 -04:00
bors-servo
7474b29510 Auto merge of #7478 - frewsxcv:spec-link-tidy-fix, r=jdm
Update spec link pattern to reflect `impl` signature changes

Relevant to #7416

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7478)
<!-- Reviewable:end -->
2015-08-31 15:48:24 -06:00
Corey Farwell
20c0af8b7d Update spec link pattern to reflect impl signature changes
Relevant to #7416
2015-08-31 17:38:23 -04:00
wilmoz
64ac4f175f Make test-tidy check that braces have spaces before or after them 2015-08-31 12:30:55 -05:00
Ravi Shankar
6ef5c8eec2 tidy will now show its expectation of uses 2015-08-28 13:14:45 +05:30
wilmoz
63851f2650 Forbid multiline imports 2015-08-25 12:27:42 -05:00
Corey Farwell
662b64ffe4 Make tidy search for files recursively again
In #7348 `os.walk` was replaced with `os.listdir`. The latter is not
recursive, which results in only the root directory files getting linted

The changes to `ignored_files` are needed because calling `os.walk(".")`
results in `./` getting prefixed before each path
2015-08-24 20:34:01 -04:00
João Oliveira
69ddedc568 update tidy.py remove collect_file_names:
call python os functions inline
2015-08-25 00:05:37 +01:00
bors-servo
b1f0357fce Auto merge of #7118 - g-k:tidy-check-unused-html-files, r=jdm
Add tidy check for unused reftest html files

Refs: https://github.com/servo/servo/issues/7078

Sample output:

```
$ time ./mach test-tidy
tests/ref/background_image_a.html not used or commented out in basic.list
tests/ref/background_image_ref.html not used or commented out in basic.list
tests/ref/canvas_linear_gradient_a.html not used or commented out in basic.list
tests/ref/canvas_linear_gradient_ref.html not used or commented out in basic.list
tests/ref/canvas_radial_gradient_a.html not used or commented out in basic.list
tests/ref/canvas_radial_gradient_ref.html not used or commented out in basic.list
tests/ref/inline_border_a.html not used or commented out in basic.list
tests/ref/inline_border_b.html not used or commented out in basic.list
tests/ref/inline_text_align_a.html not used or commented out in basic.list
tests/ref/inline_text_align_b.html not used or commented out in basic.list
tests/ref/link_style_dynamic_addition.html not used or commented out in basic.list
tests/ref/link_style_dynamic_addition_ref.html not used or commented out in basic.list
tests/ref/overflow_position_abs_inside_normal_a.html not used or commented out in basic.list
tests/ref/overflow_position_abs_inside_normal_b.html not used or commented out in basic.list
tests/ref/overflow_position_abs_simple_a.html not used or commented out in basic.list
tests/ref/overflow_position_abs_simple_b.html not used or commented out in basic.list
tests/ref/position_fixed_a.html not used or commented out in basic.list
tests/ref/position_fixed_b.html not used or commented out in basic.list
tests/ref/position_fixed_simple_a.html not used or commented out in basic.list
tests/ref/position_fixed_simple_b.html not used or commented out in basic.list
tests/ref/position_fixed_static_y_a.html not used or commented out in basic.list
tests/ref/position_fixed_static_y_b.html not used or commented out in basic.list
tests/ref/style_is_in_doc.html not used or commented out in basic.list
tests/ref/style_is_in_doc_ref.html not used or commented out in basic.list
tests/ref/table_specified_width_a.html not used or commented out in basic.list
tests/ref/table_specified_width_ref.html not used or commented out in basic.list
tests/ref/text_decoration_propagation_a.html not used or commented out in basic.list
tests/ref/text_decoration_propagation_b.html not used or commented out in basic.list
tests/ref/text_shadow_multiple_shadows_a.html not used or commented out in basic.list
tests/ref/text_shadow_multiple_shadows_ref.html not used or commented out in basic.list
tests/ref/viewport_percentage_vmin_vmax_b.html not used or commented out in basic.list
tests/ref/viewport_percentage_vw_vh_b.html not used or commented out in basic.list
tests/ref/white_space_intrinsic_sizes_a.html not used or commented out in basic.list
tests/ref/white_space_intrinsic_sizes_ref.html not used or commented out in basic.list
tests/ref/fonts/takao-p-gothic/COPYING.html not used or commented out in basic.list
tests/ref/iframe/multiple_external_child.html not used or commented out in basic.list
...
```

I thought it might be helpful to say which files aren't used in `basic.list`.

`./mach test-tidy` is a second or two slower on my laptop.
Not sure if this counts as a warning or an error that should return 1.
Not sure whether unused file output should go before or after the line specific errors.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7118)
<!-- Reviewable:end -->
2015-08-24 16:03:05 -06:00
OneKorg
07cde59535 Mention max length in tidy check_length. Fixes #7309 2015-08-21 11:26:13 -07:00
Johann Tuffe
009f6f63ad check for uses to be sorted 2015-08-20 20:47:25 +08:00
Greg Guthe
8b4b9ed99b Add tidy check for unused reftest html files
Refs: https://github.com/servo/servo/issues/7078
2015-08-19 14:16:35 -04:00
Josh Matthews
f6b3bebf84 Deal with /* /* when checking syntax. 2015-08-16 10:31:49 -04:00
Josh Matthews
a147cbe0c1 Tighten up checks for spaces around colons to deal with trait inheritance syntax. 2015-08-16 10:31:36 -04:00
Josh Matthews
7f935f010b Deal with multiline comments and reduce false positives for common syntax overlaps. Improve error messages. 2015-08-16 10:25:51 -04:00
Josh Matthews
4e593280ff Deal with multiline strings and tighten up syntax nit error messages. 2015-08-16 10:25:51 -04:00
wilmoz
e57a3888a5 Check for simple Rust style nits in tidy.py 2015-08-16 10:25:50 -04:00
Ms2ger
47d6d958f5 Revert "Auto merge of #7103 - frewsxcv:python-venv, r=metajack" for breaking web-platform-tests.
This reverts commit c315404db8, reversing
changes made to b00583bd4e.
2015-08-09 11:20:40 +02:00
Corey Farwell
33f78314d9 Use one Python virtual environment for all mach commands
Prior to this commit:

* Our Python dependency story was a bit of a mess. We had complete
 Python packages (wheels and directories) living in-tree, despite
 not having any changes from upstream. This is particularly bad because
 `setup.py` never gets run on these packages which could (sometimes
 silently) unintended breakage.
* Python virtual environments (virtualenv) were only utilized for
 testing web-platform tests

After this commit:

* A single virtualenv (`python/_virtualenv`) is activated upon *every*
 call to mach
* A requirements file (`python/requirements.txt`) is added to describe
 the dependencies needed by Python modules in `python/`. The child
 commit immediately following this will remove all the dependencies
 no longer needed in-tree (for the sake of keeping this commit
 readable).

Relevant to https://github.com/servo/servo/issues/861

Fixes https://github.com/servo/servo/issues/6999
2015-08-08 18:48:02 -04:00
Corey Farwell
b91320cb05 Remove unused variable 2015-08-08 18:47:31 -04:00
Corey Farwell
da44f31cb1 Remove invalid file path in ignored_files for tidying 2015-08-07 10:24:19 -04:00
Corey Farwell
5eeb53413e Prevent flake8 from crashing tidy
If someone were to write:

    def hello() :
        print "hello world"

flake8 would warn:

    stdin:54:45: E203 whitespace before ':'

Normally there are only three colons in a flake8 error message, but this
one has four, which causes issue with this line:

    _, line_num, _, message = error.split(":")

...causing this error:

    ValueError: too many values to unpack

This commit updates the `str.split` call to utilize the `maxsplit`
parameter to prevent this error from occurring.
2015-08-05 10:23:16 -04:00
Bogdan Cuza
8bc66f97f8 Implement the FileList interface. Fixes #6708 2015-08-01 19:31:20 +02:00
Bogdan Cuza
f039827dcd Fix #6664 and add color to tidy output 2015-07-28 13:28:33 +02:00
Corey Farwell
9e5f31ce00 Cleanup lint special cases, refactor flake8 linting
Currently, there are a few linting functions that only run on certain
filetypes (determined by the file extension). Prior to this commit, the
special cases were handled in a parent function with a conditional. This
commit changes the system so each linting function gets passed a
filename so the function can determine whether it should run or not
based on the file extension.

I also refactored flake8 linting slightly. From what I've read so far of
the code, flake8 itself will only print the results directly to stdout
(though the linter would report the quantity of errors detected).
Prior to this commit, we would let flake8 print directly to stdout and
just determine if there were >0 errors reported. This commit (sort of
hackily) temporarily captures stdout when we call flake8 so we can do
what we want with the output, allowing us to `yield` the line number
and message like we do with the other linting functions.

In my opinion, both of these changes isolate specific behaviors/checks
into their respective linting functions instead of having them handled
at a more global level.

In addition to the changes above:

* The whitespace linter now runs on WebIDL and TOML files
* The license header linter now runs on WebIDL files
2015-07-26 22:12:20 +07:00