Commit Graph

539 Commits

Author SHA1 Message Date
Josh Matthews
0fbd723e7f servo: Merge #15181 - Make test-wpt-failure smoketest work again (from jdm:wptfail); r=SimonSapin
Having this testsuite working would have avoided the issue caused by #15064. This will need to wait until after #15164 is merged, because it picks up the failure that currently exists on master.

Source-Repo: https://github.com/servo/servo
Source-Revision: 39b4f19ebb5f9335372d4617cc345707b66eea02
2017-01-24 13:16:50 -08:00
Aneesh Agrawal
7867bd9341 servo: Merge #14974 - Use Salt for mach bootstrap (from aneeshusa:add-mach-bootstrap); r=metajack
<!-- Please describe your changes on the following line: -->

This is currently WIP, but allows Salt for `mach bootstrap`. Not looking for review yet, just posting for visibility. You can run `./mach bootstrap` and Salt will run, letting you know what changes it would make for bootstrapping (doesn't actually run yet though).

Currently, this reads from saltfs using gitfs, meaning it always tracks the master branch. (Note that this is blocked on https://github.com/servo/saltfs/pull/577 landing; in the meantime, I've included a small workaround in this PR to pull from my updated saltfs branch, which will need to be removed.) In the future, the relevant Salt code may be merged in tree as part of Docker support for TC, and the bootstrapper should be updated to read from in tree.

Also, our Windows machines have not been Salted, so the existing Windows bootstrappers are retained.

TODO:
- [x] Hook into existing bootstrapping code less hackily
- [x] Actually bootstrap instead of always using `test=True` mode (includes sudo)
- [x] Default to interactive mode (test first, then ask), with a force flag
- [x] Don't require running from the repository root directory
- [x] Make it easy to add support for other distros

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they should be verified manually

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 1f76aa6ef7ec7db0a0c40223874a72e8f4059deb
2017-01-19 20:58:19 -08:00
UK992
132fb1d5fd servo: Merge #15035 - Tidy: Report invalid listed ignored directories and files (from UK992:tidy-validate-ignore); r=Wafflespeanut
r? @Wafflespeanut

Source-Repo: https://github.com/servo/servo
Source-Revision: f4c6d0009209d83fdb66f8a7348065edf75a22ff
2017-01-19 01:12:06 -08:00
Matthias Devlamynck
37fcd17201 servo: Merge #15023 - Moved tidy's BLOCKED_PACKAGES to the config file (from mdevlamynck:tidy-config); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Moved tidy.py's BLOCKED_PACKAGES to servo-tidy.toml.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #15014 (github issue number if applicable).

<!-- Either: -->
- [X] These changes do not require tests because this is a refactor and the existing tests have been adapted.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7eb811b837545c295506c25207c891126b6db0ff
2017-01-14 08:31:30 -08:00
Simon Sapin
bd33b26e5b servo: Merge #15013 - Add config to do desktop notifications by running an abitrary command (from servo:notify-command); r=emilio
<!-- Please describe your changes on the following line: -->

I now have an usual setup where I use a (fast) remote machine for building, and I’m adding a hack to forward end-of-build notifications back to my laptop. This is the motivation for this change, but I kept it general enough that it could be used in other situations.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 414e2e907d3bb83de1f4ab4ae1050145cb6eadcb
2017-01-13 11:49:16 -08:00
Manish Goregaokar
c0c991c60c servo: Merge #14932 - Expand ~ in --with-gecko for ./mach build-geckolib (from Manishearth:abspath); r=jdm
Otherwise `~/foo` expands to `/local/folder/~/foo`.

Source-Repo: https://github.com/servo/servo
Source-Revision: ed3f53211ca91a90258c9bc2b8abceddb34e6847
2017-01-09 22:41:10 -08:00
Simon Sapin
59c175b443 servo: Merge #14789 - Support @supports (from Manishearth:supports); r=SimonSapin
fixes #14786

cc @heycam @upsuper
r? @SimonSapin

Source-Repo: https://github.com/servo/servo
Source-Revision: 50bba770d6073bba6e6e219dbc3687087a864a42
2017-01-09 10:54:38 -08:00
Jure Podgoršek
80f56a2927 servo: Merge #14896 - Tidy assignments (from g1smo:tidy-assignments); r=jdm
<!-- Please describe your changes on the following line: -->
I've added a new tidy rule (no = in the beginning of line) + tests for it. Also cleaned up a few rust source files to accord with the new rule.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14890 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: b6c137b36f8b9f9cc5c0105bb94a4edeaf7d09be
2017-01-07 09:40:46 -08:00
UK992
ce7a545f6b servo: Merge #14877 - Package: Create ZIP on Windows and fix MacOS nightlies (from UK992:mach-package); r=Wafflespeanut
Fix https://github.com/servo/servo/issues/14852

r? @Wafflespeanut

Source-Repo: https://github.com/servo/servo
Source-Revision: 698491b8872d9f364e47b4e249851ad35f552a4b
2017-01-05 21:45:31 -08:00
Alan Jeffrey
94a31a8931 servo: Merge #14351 - An in-memory RNG that shares its file descriptor (from asajeffrey:servo-rand-share-fds); r=emilio
<!-- Please describe your changes on the following line: -->

This PR implements an in-memory random number generator that only uses an OS RNG for (re)seeding. The OS RNG is shared, so there's only one file descriptor for `/dev/urandom` being used.

The PR also implements a tidy check that we don't accidentally introduce an RNG. Rather annoyingly, there are a lot of transitive dependencies on `rand`, notably hash maps in `std`.

This PR makes it possible to use uuids for identifiers such as pipeline and frame ids.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because it's fixing a resource issue

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 36ddf763f66b1b971db07649ff5c69b2e9fd5f91
2017-01-05 06:32:23 -08:00
faineance
50d34566d3 servo: Merge #14706 - Allow passing --nocapture argument to test-unit mach command (from faineance:test_unit_no_capture); r=Wafflespeanut
This adds the ` --nocapture` argument to the test-unit mach command.
Defaulting to false, when given it passes `-- --nocapture` to cargo test to show stdout during test-unit runs.

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14595

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 955e2851bf715f2d7ec7898fdf9730b24fe69115
2017-01-03 00:36:13 -08:00
Ravi Shankar
460bbac31c servo: Merge #14829 - Fix browserhtml path (from Wafflespeanut:browserhtml); r=UK992
<!-- Please describe your changes on the following line: -->

I'd missed something in #14817, which now prevents us from running `./mach run -r -b`. @UK992 pointed this in the PR, but it got merged soon 😐

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's a fix for mach

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 128aac921f4373b618418125ea6f7c6ac3797181
2017-01-02 23:44:19 -08:00
Teodor Szente
57d6ec419b servo: Merge #14817 - Remove duplicate code in mach (from teosz:master); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Move get_browserhtml_path to command_base

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14815 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because removing the duplicate code doesn't affect the behavior itself

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 2bf71800ef82ed0dad8668bad6f506d3744f1833
2017-01-02 06:41:00 -08:00
UK992
76bfd8c1e3 servo: Merge #14737 - Package: Various improvements (from UK992:package-prefs); r=Wafflespeanut
Fixes https://github.com/servo/servo/issues/11966
Fixes https://github.com/servo/servo/issues/12707

Also adds simple mechanism to set os specific prefs, by adding  like `os:macosx,os:windows;` before pref name.

Source-Repo: https://github.com/servo/servo
Source-Revision: b5f3d7dd413886037de8f1bc435ede34a98421b3
2016-12-29 10:28:37 -08:00
mati865
eb3464f50e servo: Merge #14346 - Use MSVC toolchain if PLATFORM is defined (from mati865:master); r=UK992,larsberg
<!-- Please describe your changes on the following line: -->
`VSInstallDir` exists only when Visual Studio is installed.
`VS140COMNTOOLS` is defined by installing either Visual Studio or [Visual C++ Build Tools](http://landinghub.visualstudio.com/visual-cpp-build-tools)

It will allow to build MSVC based Servo without having to install whole Visual Studio (few GiB).

EDIT: Another (maybe cleaner) solution would be reverting 63ec96a57d

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because `VS140COMNTOOLS` variable is already used in [mach.bat](https://github.com/servo/servo/blob/master/mach.bat)

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7f2da7483b2d0c71a227fb8707eea00b0602d977
2016-12-28 07:37:45 -08:00
UK992
04302a98c4 servo: Merge #14715 - Tidy: Check Cargo.lock for packages with same version and different sources (from UK992:tidy-check-lock); r=SimonSapin
<!-- Please describe your changes on the following line: -->
r? @Wafflespeanut

cc @SimonSapin

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #14695

<!-- Either: -->
- [X] There are tests for these changes
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 37a5e29147f0dc489888377d6f7bb53282dc04f9
2016-12-26 08:57:04 -08:00
Emilio Cobos Álvarez
430bf9b256 servo: Merge #14721 - Bindgenup (from emilio:bindgenup); r=Manishearth
<!-- Please describe your changes on the following line: -->
r? @Manishearth

Source-Repo: https://github.com/servo/servo
Source-Revision: 75b3d68fa74ae1b9a090a6dc13dec3b8dca67b89
2016-12-24 16:43:57 -08:00
Josh Matthews
bf743e57d6 servo: Merge #14589 - Reduce calls into arbitrary code with the ScriptThread::documents borrow held (from servo:harden-script); r=jdm+Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 0c56499bdc5c92bac44f8c33e4781899c34d64e1
2016-12-16 08:53:27 -08:00
Xidorn Quan
143392b8b4 servo: Merge #14609 - Update atoms when build geckolib with gecko (from upsuper:auto-regen-atoms); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
This would automatically update the generated atom-related files in-tree before calling cargo to build geckolib. With this change, `./mach build-gecko --with-gecko` should be now the easiest way to update all in-tree bindings.

This isn't really a build-time generating, because it isn't invoked from the build script, but from mach. It isn't done the other way because
1. it doesn't seem to be a common practice for build script to write anything to the src directory
2. real build-time generated atom data wouldn't need to include atoms for multiple platforms, but we still want it so that we can build geckolib independently

cc @heycam

r? @emilio

Source-Repo: https://github.com/servo/servo
Source-Revision: 0bc84154858d76f57831affee348d0f1c573f9f1
2016-12-15 22:05:15 -08:00
Ravi Shankar
db1f297b13 servo: Merge #14601 - Raise warning when OSMesa path is not set (from Wafflespeanut:osmesa); r=emilio
In Ubuntu 14.04, I still get crashes due to non-existence of OsMesa library (#13515). It turned out that sometimes I have paths like `osmesa-src-<hash>` without `out/lib/gallium`. Now, we raise a warning whenever we don't find a proper path.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] These changes do not require tests because it's related to mach.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 44af5ea2e4ccb77f55dea5492408ebfcdeb73250
2016-12-15 07:42:30 -08:00
UK992
3552aeca2c servo: Merge #13650 - Define NATIVE_WIN32_PYTHON environment variable (from UK992:win32); r=larsbergstrom
r? @Wafflespeanut or @larsbergstrom

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: d6788a5048b9aeab592de651edb2513816389a48
2016-12-15 05:14:16 -08:00
Xidorn Quan
8b1ce93ce6 servo: Merge #14602 - Auto-update in-tree bindings (from upsuper:auto-copy-bindgen); r=Wafflespeanut
Automatically update the in-tree bindings after a successful geckolib build with gecko dist specified.

cc @heycam @emilio

This is very similiar to the patch that @emilio provided yesterday, so I'd ask someone else to review.

r? @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: 4d165dbf363bac3ef88dd404f3a3cd35ee2f37f0
2016-12-15 03:31:40 -08:00
Vladimir Vukicevic
84e275726b servo: Merge #14251 - Support build.rustflags in .servobuild (from vvuk:servobuild-rustflags); r=ConnorGBrewster
Add ability to specify rustflags in .servobuild.

Source-Repo: https://github.com/servo/servo
Source-Revision: 75c869d508231a216413808d80d6e02dec3ced6c
2016-12-13 16:55:12 -08:00
UK992
85a80d3a5a servo: Merge #14531 - Various Windows installer fixes and improvements (from UK992:win32-installer); r=larsbergstrom
r? @metajack or @larsbergstrom

---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors

Source-Repo: https://github.com/servo/servo
Source-Revision: ced1199c61ef93e56269fbe803cb6d7ee4df25c7
2016-12-12 13:07:25 -08:00
Xidorn Quan
a685fc7563 servo: Merge #14244 - Use build script to generate binding files (from upsuper:buildtime-bindgen); r=emilio
<!-- Please describe your changes on the following line: -->
This is a WIP patch to make rust-bindgen a build time dependency of style component for stylo. This should make things more automatic. I convert majority of `regen.py` to `build_gecko.rs`.

It currently doesn't work on Windows, because of servo/rust-bindgen#271 (it works when I fix the generated file manually, though). I haven't tested other platforms.

It would break servo's CI for geckolib, because:
1. it needs libclang (which is probably easy to solve)
2. it needs `MOZ_OBJDIR` to be passed in so that it can generate bindings

@Manishearth @emilio Do you agree with this change? Do you have suggestion for the issues above?

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 872ec89a9c546eb05246b5047aabfc032d140eff
2016-12-10 03:21:42 -08:00
William Lee
4269bf24d5 servo: Merge #13845 - Part of #13551 - Create packages under release/debug directories as appropriate (from birryree:package-under-target-profile-dirs); r=aneeshusa
r? @aneeshusa

This change implements fixes for #13551 for Linux and MacOS targets.

`/python/servo/package_commands.py` was modified so that:
- On MacOS, it creates all intermediate packaging directories like `dmg`, `brew`, and `brew-tmp` under `target/(release|debug)`, rather than in `target` directly.
- On MacOS, all packaging artifacts (`.dmg`, brew `.tar.gz`) are packaged under `target/(release|debug)`, rather than in `target` directly.
- On Linux, the resulting `tar.gz` Servo package is placed under `target/(release|debug)`, rather than in `target`.
- Also did some extra cleanup around path parsing in the MacOS packaging code, to use `os.path` methods rather than straight `'/'` parsing with `split` and `join` where it was applicable.

`/etc/ci/upload_nightly.sh` was modified to:
- Look for artifacts in `target/release` for `mac`, `macbrew`, and `linux` platforms, rather than just `target/`.

---

<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #13551
- [x] These changes do not require tests because it is based on CI and packaging tools. They were manually tested for correctness.

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

…lease/debug as specified or detected. Modify macos packaging to create all packages under release/debug directory. Updated etc/ci/upload_nightly.sh to support uploading from either release/debug directory, depending on what was built

Source-Repo: https://github.com/servo/servo
Source-Revision: 4cb3404c09d0b6a5a19a2c842d2e8809fae31e87
2016-12-09 14:46:14 -08:00
William Lee
3ab1743159 servo: Merge #14051 - Adding linting checks for buildbot_steps.yml (from birryree:tidy-check-buildbot-steps); r=aneeshusa
This pull request adds some tidy checks around YAML files, and specifically `buildbot_steps.yml`.

Tidy checks added:

* YAML files are checked for well-formedness/parse-ability
* Whether a YAML file has duplicate keys
* Whether a `buildbot_steps.yml` file contains only mappings to list-of-strings.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [x] These changes fix #13838 (github issue number if applicable).

<!-- Either: -->
- [X] There are tests for these changes OR

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

…ing checking for correct mappings and duplicate YAML keys. Added unit tests to test_tidy.py.

Source-Repo: https://github.com/servo/servo
Source-Revision: 21ad1c210997daba82ec49e1572c7b0634b6f337
2016-12-08 17:39:44 -08:00
Simon Sapin
c2fe6c7932 servo: Merge #14397 - Upgrade to cargo 0.16.0-nightly (built 2016-12-06) (from servo:cargoup); r=SimonSapin
<!-- Please describe your changes on the following line: -->

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: e2d956eb62f35e6646501b058296da33ca96fe00
2016-12-06 15:42:30 -08:00
Peter
9f668b33cc servo: Merge #14452 - Commit that fixes the issue #11074 by upgrading pip whenever virtuale… (from PeterZhizhin:upgrade-pip-with-new-virtualenv); r=frewsxcv
<!-- Please describe your changes on the following line: -->
I have kind of resolved the issue #11074 by adding bool variable which is set to `True` if we had created the virtualenv and `False` otherwise.

Then it updates pip by executing `pip install --upgrade pip` in the same way as packages are updated. I am a little bit worried that I have almost duplicated the installation routine from the `for` loop but I am not sure whether I should add a function or not.

I think it is the best way of doing this because it does not need any Internet access for regular work (only for the first time you execute mach) as @larsbergstrom worried [here](https://github.com/servo/servo/pull/11149). It also doesn't add any extra latency on a no-op build.

I have checked the solution inside a docker container based on debian wheezy. Before the patch `./mach` failed to run because it wasn't able to install some packages. Now it runs successfully.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #11074 (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because it changes only mach_bootstrap.py

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: ea59e7bb68e83ac2631dcdad24f270bff68092eb
2016-12-03 21:11:48 -08:00
Sijmen Schoon
0bc288e5e9 servo: Merge #14450 - Implement tidy commit message test (from SijmenSchoon:master); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Makes tidy check commit messages since the latest merge, failing if one of them contains the string "WIP".

I have written a test for my changes, although it is a bit hacky.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #14388.

<!-- Either: -->
- [x] These changes do not require tests because this would require playing with a new/existing git repo

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: da15790e41b9404845bec9ae4dcdc127d23fa8ca
2016-12-03 14:15:22 -08:00
KimSnj
550e586794 servo: Merge #14379 - Use software rendering when running servo in headless mode (from kimsnj:run-headless); r=jdm
<!-- Please describe your changes on the following line: -->
Properly setting environment to use OsMesa in headless mode.

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix #13515

<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because I manually ran: `./mach run -d tests/html/about-mozilla.html -z`

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: bd5eef58a21d54f256fed0734afe8cdce4ebb226
2016-12-03 07:55:24 -08:00
Shing Lyu
da07781c74 servo: Merge #14147 - Added an option to allow submitting test-perf result to perfherder (from shinglyu:test-perf-submit); r=larsbergstrom,aneeshusa
<!-- Please describe your changes on the following line: -->

This patch enables us  to run `./mach test-perf --submit` in CI to submit the result to perfherder. r? @aneeshusa

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because too many manual setup required to test it

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 7d66bd710cee081155487ef36fe5b490e181c780
2016-11-30 19:11:16 -08:00
Manish Goregaokar
8647e98c48 servo: Merge #14426 - Use intermittents tracker on build.s.o (from Manishearth:intermittents); r=mbrubeck
Source-Repo: https://github.com/servo/servo
Source-Revision: 52e2b025d2fc0a52f33a98e1fa7f90d334058a89
2016-11-30 14:50:12 -08:00
Manish Goregaokar
cedec048be servo: Merge #14400 - Add a log of only intermittents (from Manishearth:filter-intermittents); r=KiChjang
r? @KiChjang

Source-Repo: https://github.com/servo/servo
Source-Revision: 015c7642618e5be3df06a8799a87ec152f7d46fc
2016-11-28 18:38:53 -08:00
Manish Goregaokar
62888fa987 servo: Merge #14331 - Add ./mach filter-intermittents for catching intermittents on CI (from Manishearth:filter-intermittents); r=larsbergstrom,jdm
cc @metajack

The plan here is to run this on the error summary of the logs after each WPT/CSS run, as `./mach filter-intermittents wpt-errorsummary.log --output filtered-errorsummary.log --auth /path/to/authfile`

The `filtered-errorsummary.log` file will be a buildbot artifact for this run, and can be used for updating test results.

We change WPT/CSS runs to not cause test failures on Buildbot; instead; the test failure will be caused by this job.

We should at some point add a separate highfive task which ccs the appropriate bugs and tracks consistent failures. (We can change mach filter-intermittents to output a second file of intermittents matched to bug numbers to make this easy)

A small issue with this is that this simple task might mask failures of the WPT harness itself. We have a separate test that tests if the test harness works though. (This test will fail if the log files it requires don't exist, perhaps that's enough to solve the problem)

r? @larsbergstrom

Source-Repo: https://github.com/servo/servo
Source-Revision: 4021d057c941f38ca9f9ef9bb03f91d1b54f01c0
2016-11-28 15:18:04 -08:00
Anthony Ramine
e20c332d45 servo: Merge #14381 - Move to Cargo workspaces (from servo:workspaces); r=SimonSapin
Source-Repo: https://github.com/servo/servo
Source-Revision: eb7032f6dd5e8a1f8c0602666805d1d10cc84e65

--HG--
rename : servo/ports/servo/Cargo.lock => servo/Cargo.lock
2016-11-28 01:44:40 -08:00
Anthony Ramine
527ace12e9 servo: Merge #14382 - Revert temporary commit used to debug something in #14225 (from nox:revert-garbage); r=nox
Source-Repo: https://github.com/servo/servo
Source-Revision: 17ccc6b393a776929e0990efc8686c968714a6f8
2016-11-28 00:40:49 -08:00
Anthony Ramine
d8a9bfac17 servo: Merge #14225 - Update js (from servo:update-js); r=jdm,Ms2ger
Source-Repo: https://github.com/servo/servo
Source-Revision: 7d69f53794c9f823d524d0d4382c04c4a57bea65
2016-11-27 05:03:15 -08:00
Xidorn Quan
c2c884b3fc servo: Merge #14303 - Use msvc toolchain when in Visual Studio env (from upsuper:triple-msvc); r=bholley
<!-- Please describe your changes on the following line: -->

r? @bholley

Source-Repo: https://github.com/servo/servo
Source-Revision: e97804986ad259083981db7d4f7995d822d693b5
2016-11-21 23:00:35 -06:00
Matt Brubeck
8096a3bda4 servo: Merge #14281 - Run cargo doc in the ports/servo directory (from mbrubeck:mach-doc-fix); r=Manishearth
Running it in components/servo isn't guaranteed to work because there's no Cargo.lock checked in there.  Followup to #14254.

Source-Repo: https://github.com/servo/servo
Source-Revision: 73cbe61d563c0f5031518ef72e2492ac12f327f9
2016-11-19 15:01:40 -06:00
Dzmitry Malyshau
bbf5e4f276 servo: Merge #14266 - Updated cargo paths for the python script (from servo:kvark-cargo); r=metajack
<!-- Please describe your changes on the following line: -->
Related to #14172

Needed this for `./mach cargo-update -p webrender` to work properly when replacing with a local copy

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it's not adding any new logic

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: cc06363ce7309150197ac897606a4ca855ecd4c4
2016-11-18 02:50:14 -06:00
Matt Brubeck
7230baa24a servo: Merge #14254 - Run cargo doc on libservo crate (from mbrubeck:mach-doc-fix); r=metajack
Fixes `./mach doc` regression caused by #14172.

Source-Repo: https://github.com/servo/servo
Source-Revision: efae67ed18d11d599616f1515fe2ce3885491457
2016-11-17 00:02:45 -06:00
Ms2ger
a6bff37da4 servo: Merge #14172 - Move the servo binary to ports (from servo:ports); r=jdm
Source-Repo: https://github.com/servo/servo
Source-Revision: f14e7339b5ff95fce0127dce4fe87ce082ab7259

--HG--
rename : servo/components/servo/.cargo/config => servo/ports/servo/.cargo/config
rename : servo/components/servo/Cargo.lock => servo/ports/servo/Cargo.lock
rename : servo/components/servo/fake-ld.cmd => servo/ports/servo/fake-ld.cmd
rename : servo/components/servo/fake-ld.sh => servo/ports/servo/fake-ld.sh
rename : servo/components/servo/main.rs => servo/ports/servo/main.rs
rename : servo/components/servo/platform/macos/Info.plist => servo/ports/servo/platform/macos/Info.plist
rename : servo/components/servo/platform/macos/mod.rs => servo/ports/servo/platform/macos/mod.rs
2016-11-16 16:40:18 -06:00
Manish Goregaokar
d8a79aa1af servo: Merge #14190 - Immutable CSSOM (from Manishearth:cssom); r=SimonSapin
This PR is intended to add basic support for all CSSOM interfaces, with the ability to index `document.styleSheets` and css rule lists, and serializing individual css rules. Handling individual interface methods for CSSRule subclasses can probably be done with easy/medium bugs.

Mutation safety isn't dealt with here; if the css rule list is mutated the CSSOM will be in an inconsistent state. I intend to deal with this via zero sized tokens, see https://groups.google.com/forum/#!topic/mozilla.dev.servo/AnxJoVmtMXQ .  I'll handle that when I start making the CSSOM mutable. (Getting the immutable bit landed first opens this up for easy bugs)

This doesn't really change style aside from adding an extra arc in the CSS rule list as discussed in the linked thread. So far this same design can be used by stylo as well when the time comes.

f? @SimonSapin @emilio

cc @upsuper

part of #11420
Todo:

 - [x] Stubs for rest of the CSSRule subclasses
 - [x] <s>ToCSS impls for CSSRules.</s> May make into easy bugs and stub out in this PR https://github.com/servo/servo/issues/14195
 - [x] Cache CSSStyleSheet on the relevant node

Source-Repo: https://github.com/servo/servo
Source-Revision: afc60bee2809059b8b754a1c6d6d10c1d36326fb
2016-11-16 15:05:59 -06:00
Jack Moffitt
a6844a78e7 servo: Merge #14039 - Fix test-wpt and test-css for Windows (from metajack:windows-wpt); r=jgraham
<!-- Please describe your changes on the following line: -->
In addition to minor changes for Windows, this forces Windows Python to
be used for all Windows builds (instead of using Windows Python only for
pc-windows-msvc builds).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).

<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because testing the tests is too meta for me

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 17bf6aed21cb966c52382e7cef23d2bd66144874
2016-11-16 13:41:27 -06:00
Emilio Cobos Álvarez
8f22036232 servo: Merge #14187 - Add a few minimal debugging docs (from emilio:rr-docs); r=jdm
r? @jdm (or anyone else)

Source-Repo: https://github.com/servo/servo
Source-Revision: bfd4a0e5ffce6ceed6c4426279a8f3dcb3766fd1
2016-11-13 14:16:15 -06:00
Ravi Shankar
11bd8d6583 servo: Merge #14166 - Allow tidy to run custom project-specific lints (from Wafflespeanut:tidy); r=frewsxcv
<!-- Please describe your changes on the following line: -->

Since tidy is a package, it shouldn't contain our WPT lint. This PR changes the file list generator (we already have) into an object, and allows tidy to run custom python lint scripts (specified in the config file) under the context of `LintRunner`. The errors are then chained into our mechanism.

r? @frewsxcv (cc @jdm @edunham @aneeshusa and anyone else interested in reviewing it)

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors

<!-- Either: -->
- [x] There are tests for these changes

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 290a1696dc6b16c421a40dc08abdc072a2fb4cf2

--HG--
rename : servo/python/tidy/servo_tidy_tests/dir_check/only_webidl/test.webidl => servo/python/tidy/servo_tidy_tests/lints/not_script
2016-11-12 11:06:27 -06:00
Emilio Cobos Álvarez
78f1a1fc46 servo: Merge #14150 - python: Cleanup run_tests_or_dispatch to avod rightward drift (from emilio:cleanup-py); r=Ms2ger
<!-- Please describe your changes on the following line: -->

r? @aneeshusa (or anyone else really).

Source-Repo: https://github.com/servo/servo
Source-Revision: 77c1f6fb553d3dbe7890d15dd1c29c16d400bf61
2016-11-09 20:43:29 -06:00
Corey Farwell
29854caa74 servo: Merge #14134 - Fix ./mach clippy (from frewsxcv:cargo-clippy); r=jdm
Fixes https://github.com/servo/servo/issues/13117.

Source-Repo: https://github.com/servo/servo
Source-Revision: f1f97fb48ee3ac16a56f02d5b1fd8e28d1f94b9c
2016-11-09 01:23:55 -06:00
Yuki Izumi
fa4f7b60bd servo: Merge #14092 - Sort check on JSON (from kivikakk:sort-check); r=Wafflespeanut
<!-- Please describe your changes on the following line: -->
Check that JSON keys are ordered, and that there's no duplicates (for `resources/prefs.json` and `resources/package-prefs.json`).

---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x]  🆕 `./mach test-tidy --self-test` does not report any errors
- [x] These changes fix #12283

<!-- Either: -->
- [x] There are tests for these changes 🎉

<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->

Source-Repo: https://github.com/servo/servo
Source-Revision: 94d0c485e10138e0d5b2bd8b41b6a922a22a059f
2016-11-07 07:41:34 -06:00