The build system needs to disable gold on arm64 slaves. Other configuration is
done through environment variables, and buildbot hosts currently don't use a
.servobuild file at all.
This change adds the `get_env_bool` function to cast an environment variable's
string contents into a Python boolean, and uses it to retrieve the optional
`SERVO_RUSTC_WITH_GOLD` setting.
I figured it's worth throwing the helper function in now in case we later want to read booleans from other env vars, but there's currently no need to make up a name for and read from an env var for every single setting.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: 003fdd41769652188a5954e6499f3cb44eef6b10
https://github.com/servo/servo/issues/10002
./mach does not support paths with Unicode characters for now
it fail on original line 154 with exception UnicodeDecodeError
This patch handles the exception
Source-Repo: https://github.com/servo/servo
Source-Revision: 42c7472f336e687200507dafdf1087d8f0ea4d55
Generalize the mechanism for skipping file patterns and use it for
generating the list of WPT files to lint. Add *.pyc to the list of
file patterns to skip.
Source-Repo: https://github.com/servo/servo
Source-Revision: 8eb4fb801b00ff9cacdfe13476bf1ac562d47ec6
A little annoying to read since we have to escape for python (\\) and
then escape for re (\\\\) and then even at times escape for single
quotes immediately after, (\\\\\), but tidy.py now strips strings even
if they have escapes before linting.
Fixes#9806 -- basically the problem is that the PR which first revealed this had an escape in one of its strings which included an = sign. The escape meant the string wasn't escaped before it looked for spaces around spaces.
Source-Repo: https://github.com/servo/servo
Source-Revision: f1bb0b0fa3eacac718a825c103cbdd1a0365fbf9
The deque file was removed in favour of an external crate.
The sync and sync_css directories are automatically created when updating the
in-tree copies of the wpt and css tests.
Source-Repo: https://github.com/servo/servo
Source-Revision: 25c6c29a27d2a176a967ee49d97a29ad1d3a140e
Currently if Servo is built using Cygwin, it is incorrectly classified as "unknown" host, which makes downloading Rust and Cargo fail. This pull request fixes that.
Source-Repo: https://github.com/servo/servo
Source-Revision: 31bdcbe7258cfa796b88505f5e29d75920e5c708
This makes the experience for testing browserhtml super easy.
Source-Repo: https://github.com/servo/servo
Source-Revision: 69f52d0f213aeec0d498798dfdaa15f8459a9a79
Fixes#9745
This is a very simple solution: try to load all json files, and catch any `ValueErrors` that pop up. Do we need something more complex?
Source-Repo: https://github.com/servo/servo
Source-Revision: dbceb60455282122d52a60c9ed6484eaa120e930
Change mach default behavior for `update-wpt` to use the "--no-patch" option and provide an alternate option "--patch" for anyone who does in fact want `update-wpt` to automatically create a commit.
Fixes#9666
Source-Repo: https://github.com/servo/servo
Source-Revision: 455ed0ae6d4c82fd38762a92f0dd6697bd3b2b50
Improved tidy's code for efficiency (which now shows progress while checking through files)
Source-Repo: https://github.com/servo/servo
Source-Revision: 553cf3d8e8dfc5eb1222fc48b507d6578da6bc66
Split [`ensure_bootstrap`](https://github.com/danlrobertson/servo/blob/i9557/python/servo/command_base.py#L397-L422) into two phases including a phase checking the compiler, and a phase checking for target libraries. E.g.
```
# should download the stdlib for "i686-unknown-linux-gnu", "arm-linux-androideabi"
# and the hosts target
./mach build -d --target i686-unknown-linux-gnu --android
# should only download the stdlib for the hosts target
./mach build -d
```
Let me know if I missed anything! There are a few parts of this patch in its current state that I'm not a huge fan of, but I couldn't think of a better way in the moment.
Still new to working on servo, so any comments or critiques are welcome!
Fix#9557
Source-Repo: https://github.com/servo/servo
Source-Revision: 088963f774f5068ec8dc0f3bd88579bc1e84c18d
This adds a new `--chaos` flag to the `test-wpt` and `test-css` commands. This will run a test repeatedly until it fails, recording it with the rr debugger in chaos mode. Requires a recent master build of rr.
```
./mach test-wpt --chaos test.html
```
is shorthand for:
```
./mach test-wpt --repeat-until-unexpected \
--debugger rr \
--debugger-args "record --chaos" \
--include test.html
```
This PR currently includes changes to wptrunner which were also submitted upstream as w3c/wptrunner#170. We should not merge this until that upstream PR is merged. CC @jgraham
Source-Repo: https://github.com/servo/servo
Source-Revision: faa349fb876c4b163ba14623899c9f4e6ab3d0eb
This PR integrates `compiletest_rs` as suggested in #5646. I created a new `tests/compiletest` directory which contains separate crates for the tests.
Currently this PR includes `compile-fail` tests for some lints (acutally all except inheritance_integrity, beacuse I'm not sure how to include the dom stuff in a way the `#[dom_struct]` works).
I gathered that there should be more crates for which compiletests make sense and would appreciate any pointers to relevant crates.
Source-Repo: https://github.com/servo/servo
Source-Revision: d574b78313be75f3388123d11354b897598877a3
I updated the `WebIDL.py` from latest mozilla-central. And add a `./mach test-webidl` command. For #9397
Source-Repo: https://github.com/servo/servo
Source-Revision: 0ada7f9c8eda9879b5536cea3266c94214f9ce9b
This branch also includes the commit being reviewed in https://github.com/servo/servo/pull/9408 . Is it OK to just wait for that one to merge, or should I separate them?
This patch adds the BIN_SUFFIX to the servo executable name when doing ./mach run.
However just doing this caused subprocess to error due to some unicode symbols in PATH.
To fix this, I pulled a peice of code from mozilla-central which fixes this problem there. Source: https://dxr.mozilla.org/mozilla-central/source/python/mach/mach/mixin/process.py#108
Revisiting this now (originally developed this a few weeks ago), perhaps we should be using https://github.com/servo/servo/blob/master/python/mach/mach/mixin/process.py instead of subprocess to give us all of this crossplatform process execution support. I think that should be a nice to have though - this patch at least gets a necessary development command working on windows.
Tested on Windows and Ubuntu.
Source-Repo: https://github.com/servo/servo
Source-Revision: 80c29113485c0b7d7da6be9c4f64a2b8f1cde826
r? @frewsxcv for python stuff
r? @pcwalton for the "remove usage of Gaol" stuff for Win32
r? anybody else for misc cargo.lock updates, etc.
This replaces #7878.
This works best with https://github.com/servo/mozjs/pull/71, too, to enable static linking, but can be run without (via some PATH hackery).
The instructions are here, and will be added to a .md file in the repo once the mozjs changes also land:
https://hackpad.com/Servo-on-Windows-C1LPcI2bP25
I'd like to get these changes landed because I've been rebasing them for months, they're otherwise quite stable, and don't affect our other platforms and targets.
Source-Repo: https://github.com/servo/servo
Source-Revision: 525e77f64fc65ea2397b4ff3849f5b1f39386698
The wrapper stuff is partially-complete, modulo some unimplemented methods. The glue code is just a toy for now. Regardless, I think it's worth getting some of this stuff in-tree to minimize breakage.
Source-Repo: https://github.com/servo/servo
Source-Revision: 77d3fbcca3c6f7e8b4068f89e25b090977fe5672
I’ve been asked for that list by two different people this week :)
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: dba1f27305c5e81eda6acd4c438a2adfb6ed053d
add `faster` flag to `./mach test` command
in order to call `test-tidy` properly
close#9253
Source-Repo: https://github.com/servo/servo
Source-Revision: a345608a945b3ba6656715671bf0d67a8bd4c151
This should be pretty self-explanatory, it's less than a dozen bytes, after all. :)
Fixes#9151.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4143caaa5796c4e6cfaa6b13d46b409819d822d7
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
Source-Repo: https://github.com/servo/servo
Source-Revision: 74226836ba27afedebd88cd1269018ef2ba25959
When `.servobuild` has `android = true`, the `mach run` command should default to running on Android.
r? @larsbergstrom
Source-Repo: https://github.com/servo/servo
Source-Revision: ea4206e36259cd464480fed3ca9ac6857568bd7c
This is an attempt at a reasonable fix for #8733.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9fa56ccfdfb5e9d1c1a6967b28da89c8fab36900
… and remove mentions of "snapshots".
We now use rust-lang.org nightly builds rather than our own snapshots.
Source-Repo: https://github.com/servo/servo
Source-Revision: f34a656b14f3992203354ffe71dc649d69b6b592
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.)
Note: I cobbled this together without *any* previous Python experience -- so if it violates three dozen rules, and only works by luck on my own system during a favourable moon phase, don't hesitate to suggest improvements :-)
Source-Repo: https://github.com/servo/servo
Source-Revision: 4e3a435450a8a5ee4293266296700bf1bc579f7d