Add unit tests for cookies handling
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#9965
Either:
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
Add unit tests for the `net` component about cookies. The tests are generated
with a new `mach update-net-cookies` command from this repo: https://github.com/abarth/http-state.
This PR also includes two trivial bug fixes about cookie handling.
From all the tests included, the following ones are currently failing:
- cookie_http_state::test_0003
- cookie_http_state::test_0006
- cookie_http_state::test_attribute0004
- cookie_http_state::test_attribute0005
- cookie_http_state::test_attribute0007
- cookie_http_state::test_attribute0008
- cookie_http_state::test_domain0017
- cookie_http_state::test_mozilla0001
- cookie_http_state::test_mozilla0002
- cookie_http_state::test_mozilla0003
- cookie_http_state::test_mozilla0005
- cookie_http_state::test_mozilla0007
- cookie_http_state::test_mozilla0009
- cookie_http_state::test_mozilla0010
- cookie_http_state::test_mozilla0013
`test_000[36]` and `test_mozilla*` are failing because there is currently no
method to clean a `net::cookie_storage` from expired cookies.
`test_attribute000[4578]` are failing because hyper does not parse the `Secure`
attribute correctly. I will open an issue on the upstream project.
`test_domain0017` fails because the TLD .org is not on the PUB_DOMAINS list.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11196)
<!-- Reviewable:end -->
add tidy test for space after ":" in stucts
Addresses issue #10702
the tidy self-test doesn't seem to catch the `member_name:"Foo"` line like it should. the regex follows similar pattern in the file and works in my regex tester tool, so not really sure what is going on there.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10713)
<!-- Reviewable:end -->
Use the same build environment and features for CEF, Servo, Gonk, Geckolib
* Remove unnecessary dependencies and features from top-level Cargo.tomls. The features for each crate will be computed based on the union of features specified in the dependency graph. Specifying the same ones again just adds more ways for them to get out of sync.
* Move all cargo build environment variables into CommandBase
Fixes#11112. r? @metajack
(Not included: CI test to make sure #11112 doesn't regress again.)
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11122)
<!-- Reviewable:end -->
This preserved the fix from #11097 in the situation where `$CARGO_HOME` and
`cargo-home-dir` in `.servobuild` are both present: `.servobuild` should win.
But it changes the behavior when `$CARGO_HOME` is present and `.servobuild` is
not: Then `$CARGO_HOME` should be used.
We now check the following values in order of priority and use the first one
that is found:
1. `cargo-home-dir` in `.servobuild`
2. `CARGO_HOME_DIR` in the enivironment
3. default value (`<servo-repo>/.cargo`)
The features for each crate will be computed based on the union of features
specified in the dependency graph. Specifying the same ones again just adds
more ways for them to get out of sync.
This use always `cargo-home-dir` in `/.servobuild`
even if you set `CARGO_HOME` in your shell.
If you use [racer][racer] with [rustup (multirust.rs)][rustup],
you may set `CARGO_HOME` env variable.
Then the previous code would be a problem which does not use
`cargo-home-dir` in `/.servobuild`.
[racer]: https://github.com/phildawes/racer
[rustup]: https://github.com/rust-lang-nursery/rustup.rs
Added tox.ini
The default maximum line length Python linters use is 79, so a bunch of editor plugins complain about line lengths, unless you have a tox.ini telling the linter to ignore line lengths (E501) explicitly.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11073)
<!-- Reviewable:end -->
mach run --debug: Use nicer syntax in rust-gdb/rust-lldb check
After actually reading a Python tutorial, I realised this can be handled
in a more elegant fashion :-)
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/11013)
<!-- Reviewable:end -->
Use NEON build flag on ARM and AArch64
The NEON flag is already used when building for Android, this patch enables it on other ARM devices too.
Note that this patch just adds the build flag to the compilation, for actually enabling the SIMD code in Servo, we'll also need #10900 (but it's not a dependency).
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10916)
<!-- Reviewable:end -->
Upgrade mach to 0.6; stop vendoring mach.
When I originally rewrote Servo's mach bootstrapping (using virtualenv
w/ requirements.txt in #7103), I didn't specify mach as a requirement
because a new version hadn't been published in a while. Now that 0.6
is out, I asked the mach maintainers to publish a new version on PyPI,
so now we can fetch it like the other Python dependencies.
Fixes https://github.com/servo/servo/issues/10728.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10976)
<!-- Reviewable:end -->
When I originally rewrote Servo's mach bootstrapping (using virtualenv
w/ requirements.txt in #7103), I didn't specify mach as a requirement
because a new version hadn't been published in a while. Now that 0.6
is out, I asked the mach maintainers to publish a new version on PyPI,
so now we can fetch it like the other Python dependencies.
Fixes https://github.com/servo/servo/issues/10728.
tidy check for vim and emacs modelines
See #10719.
It skips *.webidl files for now since I am not sure where they come from and if they should be edited in tree or not.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10786)
<!-- Reviewable:end -->
This is a new attempt of #10586, after Simon Sapin's great cleanups in #10749 has landed. I have adjusted the changes to the new structure that was introduced, and also only done a few of the longhand ones. Will certainly continue on this as soon as we have a basic agreement that this style is reasonable.