Add 'test-tidy-faster' command to ./mach
For issue #9088, this adds a `--changes` option to `./mach test-tidy`. If this option is set, `tidy.py` will only check files that have been modified since `FETCH_HEAD`.
Mention: @Wafflespeanut
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9118)
<!-- Reviewable:end -->
Make "mach run" use --android by default when enabled in .servobuild
When `.servobuild` has `android = true`, the `mach run` command should default to running on Android.
r? @larsbergstrom
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9150)
<!-- Reviewable:end -->
If the selected debugger (requested explicitly or detected by mozdebug)
is gdb or lldb, use rust-gdb or rust-lldb instead, if it's available in
the path and appears to be working.
(This should usually be the case when using the default debugger on
GNU/Linux or MacOS, as rust-gdb or rust-lldb is provided by the Rust
snapshot in use.)
Allow `./mach build` to enable Servo's headless mode
As mentioned in #7512 and #7637, the environment variable SERVO_HEADLESS
enables building the OSMesa version of Servo when it is set to 1.
Instead, this should be a command line option to mach's build command.
Fixes#7637.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7734)
<!-- Reviewable:end -->
As mentioned in #7512 and #7637, the environment variable SERVO_HEADLESS
enables building the OSMesa version of Servo when it is set to 1.
Instead, this should be a command line option to mach's build command.
Fixes#7637.
Urg! The Chromium HSTS preload JSON file contains single line comments. Previously these were filtered out with a very simple regex that just looked for '//' and removed the line. Now the file has added a couple fields that have URLs in them that were erroneously removed and caused the JSON parsing to fail. This commit slightly complicates the regex to fix this specific problem.
If this happens again, it's likely worth it to figure out how to use a real parser to remove the comments.
servo/servo#8760
Form relative reference URLs during create-wpt
Instead of always using the absolute path to the reference file when
creating new reference tests, create-wpt now creates relative URLs if
the files are in the same directory. This is the most common case for
new Servo tests. Also fix some missing quotation marks in the
create-wpt template.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/8415)
<!-- Reviewable:end -->
Instead of always using the absolute path to the reference file when
creating new reference tests, create-wpt now creates relative URLs if
the files are in the same directory. This is the most common case for
new Servo tests. Also fix some missing quotation marks in the
create-wpt template.
Continuous non-transient notifications, common in workflows involving
many syntax errors, can completely take over the message tray. Making
Linux build notifications transient prevents them from stacking up in
Gnome Shell without having to click them individually.
Run all unit tests with just one Cargo command.
Upgrade Cargo to get https://github.com/rust-lang/cargo/pull/1828, and use it for unit tests. This allows Cargo to get some more parallelism when compiling the test crates’ dependencies.
`touch components/util/lib.rs && mach test-unit` on my machine goes from 149 seconds to 124.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7813)
<!-- Reviewable:end -->
Upgrade Cargo to get https://github.com/rust-lang/cargo/pull/1828,
and use it for unit tests.
This allows Cargo to get some more parallelism
when compiling the test crates’ dependencies.
`touch components/util/lib.rs && mach test-unit` on my machine
goes from 149 seconds to 124.
* Change parameter from `name` to `include`. This is consistent with other
test suites, and also fixes a bug in `mach test` caused by a conflicting
keyword parameter in `Registrar.dispatch`.
* Allow any number of `include` arguments.
Make `./mach test` work with unit tests
Fixes#7618.
Allows running a specific Rust test with one of:
```
./mach test tests/unit/net/http_loader.rs
./mach test-unit tests/unit/net/http_loader.rs
./mach test-unit tests/unit/net/http_loader
./mach test-unit net/http_loader
```
Allows running a whole package's tests with one of:
```
./mach test tests/unit/net
./mach test-unit tests/unit/net
```
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7809)
<!-- Reviewable:end -->
allow `./mach test` to run tests in tests/wpt/mozilla/
Allows running WPT tests in the tests/wpt/mozilla/ directory by using commands such as:
```
./mach test tests/wpt/mozilla/tests/mozilla/union.html
```
Fixes#7772.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7789)
<!-- Reviewable:end -->
Make the use of gold linker configurable
Currently, ld.gold is always used for linking if found on the
system. There are some cases however when one may want to opt out
from using it. This patch adds the boolean field `rustc-with-gold`
to the `[tools]` section of `.servobuild`, which if set false,
disables the use of ld.gold.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/7565)
<!-- Reviewable:end -->
Currently, ld.gold is always used for linking if found on the
system. There are some cases however when one may want to opt out
from using it. This patch adds the boolean field `rustc-with-gold`
to the `[tools]` section of `.servobuild`, which if set false,
disables the use of ld.gold.