Commit graph

241 commits

Author SHA1 Message Date
bors-servo
a1aed50b5a Auto merge of #7229 - servo:gold, r=metajack
Use the gold linker when available.

This shaves 50 seconds off the build time on my machine.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7229)
<!-- Reviewable:end -->
2015-08-15 10:25:26 -06:00
Simon Sapin
fb7a53c6cf Use the gold linker when available.
This shaves 50 seconds off the build time on my machine.
2015-08-15 18:09:18 +02:00
Vinzent Steinberg
824384a1c2 Fix 'mach test' 2015-08-15 14:38:44 +02:00
Vinzent Steinberg
fe7b443c16 mach: Print commands if '--verbose' is set
Fixes #6363.
2015-08-15 13:58:36 +02:00
wilmoz
dafe077280 fixes test-wpt cannot be run from anywhere but the root 2015-08-11 11:30:06 -05:00
Corey Farwell
f873db5ab0 Allow Servo tests to be built/run with --release mode
Fixes #5075
2015-08-10 08:59:54 -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
b327e9b595 Remove no longer needed Python dependencies
See the parent commit for more information why these were removed

tl;dr: these dependencies should now get installed by pip in a
virtualenv
2015-08-08 18:48:10 -04: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
Michael Howell
a93b4bba6d test-tidy fixes. 2015-07-31 21:49:01 -07:00
Michael Howell
f82f46680e UI cheeze. 2015-07-31 21:24:23 -07:00
Michael Howell
c602af2050 Integrate dromaeo with mach. 2015-07-31 21:24:22 -07:00
Matt Brubeck
63d39a464f Upgrade cocoa, openssl, and selectors 2015-07-30 14:19:08 -07: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
Corey Farwell
d1acefa452 Prevent warning about redefining Python variable
'e' is also used later on in a list comprehension, and flake8 warns when
variables get redefined within a function
2015-07-26 22:07:23 +07:00
Corey Farwell
d71d2da81f Remove unused Python import 2015-07-26 22:07:22 +07:00
Matt Brubeck
4c3a6b839b Perform argument validation before bootstrapping.
If there's an error in the command-line arguments for `mach build`, we should
print it before starting a (potentially) long bootstrap process, not after.
2015-07-25 07:53:53 -07:00
Matt Brubeck
859f99d5e8 Update WPT test expectations for --release builds 2015-07-23 22:57:54 -07:00
bors-servo
11a3423c29 Auto merge of #6693 - notriddle:tidy-webidl, r=jdm
Tidy finds WebIDLs with no spec.

Closes #6689

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6693)
<!-- Reviewable:end -->
2015-07-22 13:44:12 -06:00
Michael Howell
ce4709d6a7 Remove the last few TRs. 2015-07-22 10:52:04 -07:00
Michael Howell
970f018dc8 Better references. 2015-07-22 10:49:26 -07:00
Sam Gibson
29a34dbdb5 Resolves code review comments
* Lots of rust-isms
* Mutable iterator for modifying entries (much better)
2015-07-22 11:49:06 +12:00
Sam Gibson
8086034e0b Commit HSTS preload list to source control
* No longer download the HSTS list as a bootstrap step
* Check the current revision of the HSTS list into source
2015-07-22 11:49:06 +12:00
Sam Gibson
865fb2eacb Resolve tidy issues 2015-07-22 11:49:05 +12:00
Sam Gibson
aa19a9a741 Preload an HSTS domain list from chromium
This resolves the first part of servo/servo#6105. The remaining part is
to update the list based on the STS headers from the server.
2015-07-22 11:48:03 +12:00
Michael Howell
91c61ae751 Tidy finds WebIDLs with no spec.
Closes #6689
2015-07-21 15:36:33 -07:00
Bogdan Cuza
75e14e80cd Fix #6623 and update toml.py 2015-07-20 19:47:35 +03:00
Simon Sapin
c85bfe1350 Include private items in ./mach doc and http://doc.servo.org/
See https://github.com/rust-lang/rust/issues/15347
2015-07-17 22:31:57 +02:00
Corey Farwell
0ec2375cab Remove tidy blacklist for 'script/dom/bindings/*'
Recently, I found myself reading through the Python codegen scripts that
live in 'components/script/dom/bindings/*' and noticed that there were
many tidy violations: unnecessary semicolons, weird spacing, unused
variables, lack of license headers, etc. Considering these files are now
living in our tree and mostly maintained directly by contributors of
Servo (as opposed to being from upstream), I feel these files should not
be excluded from our normal tidy process. This commit removes the
blacklist on these files and fixes all tidy violations.

I added these subdirectories to the blacklist because they appear to be
maintained upstream somewhere else:

* "components/script/dom/bindings/codegen/parser/*",
* "components/script/dom/bindings/codegen/ply/*",

Also, I added a '# noqa' comment which tells us to ignore the
flake8 errors for that line. I chose to ignore this (instead of fixing
it) to make the work for this commit simpler for me.
2015-07-09 19:42:31 +09:00
James Graham
6797ac6b58 Improve |mach test|.
Make mach test work with wpt tests.
Allow specifying specific testsuites on the command line
Allow specifying paths to CSS tests on the command line
2015-07-01 12:14:23 +01:00
James Graham
f1641fde8f Update mach from gecko tree 2015-07-01 10:55:50 +01:00
Michael Tremel
bb426d3575 notify_darwin should trap import errors and provide the useful package name for the user to install. 2015-06-27 17:13:36 -07:00
Jesse Ruderman
e6dc0d06d6 Add space between sentences 2015-06-26 13:17:15 -07:00
Michael Wu
675267b782 Upgrade to SM 39 2015-06-19 18:42:48 -04:00
bors-servo
d6263c9b6e Auto merge of #6306 - metajack:shared-target-dir, r=mbrubeck
This speeds up `./mach build --dev` followed by `./mach build-cef` by
25%. When rust-lang/cargo#497 is fixed, this speedup will increase
dramatically.

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6306)
<!-- Reviewable:end -->
2015-06-15 13:08:14 -06:00
Jack Moffitt
a0237085c6 Use Cargo's target directory sharing.
This speeds up `./mach build --dev` followed by `./mach build-cef` by a
large amount, and also speeds up other build combos found in our CI.
2015-06-15 11:48:47 -06:00
Francesc Bautista
c99f65c4dc Set 'mach test-ref' default render mode to cpu and added a cli argument to 'mach test' to be able to select the render-mode. 2015-06-13 23:16:29 +02:00
Matt Brubeck
4b5c43835b Handle non-zero return codes in mach run 2015-06-04 13:52:23 -07:00
Corey Farwell
848c57653c Add flake8 to the tidy process for Python files
Fixes #6236

Also included in this commit are the changes need to make flake8 pass
for the existing python file
2015-06-04 11:17:34 -04:00
Corey Farwell
ddc99190bb Pass release/dev arguments to command function for jQuery update 2015-06-03 18:45:08 -04:00
Corey Farwell
6c8c039409 Run tidy everything in the tree, remove directory whitelist
After #6268 merged, I found out that everything in the tree currently
passes the tidy checker.
2015-06-03 12:03:13 -04:00
bors-servo
9aa1d93282 Auto merge of #6268 - frewsxcv:tidy-python, r=jdm
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6268)
<!-- Reviewable:end -->
2015-06-03 08:04:11 -05:00
bors-servo
2e93ae7f76 Auto merge of #6267 - brson:system-rust, r=SimonSapin
The existing code for setting up the environment assumes that
the directory layout containing rust and cargo conforms to the
one used by rust-installer's tarballs. This makes overriding
the system root awkward for simple cases where I want to test
my own build directly from the rust build directory. This
patch just adds a second path to PATH and LD_LIBRARY_PATH
to accomodate both disk layouts.

Conflicts:
	python/servo/command_base.py

<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/6267)
<!-- Reviewable:end -->
2015-06-03 01:54:00 -05:00
Corey Farwell
e3b71c65bf Fix tidy issues with Python files in python/ 2015-06-02 19:51:41 -04:00
Corey Farwell
c639a0cf49 Tidy files in the python/ directory 2015-06-02 19:30:44 -04:00