1125 Commits

Author SHA1 Message Date
bors
7ab477866e Auto merge of #7375 - ehuss:extract-platform, r=alexcrichton
Extract Platform to a separate crate.

This moves the `Platform`, `Cfg`, `CfgExpr` types to a new crate named "cargo-platform".  The intent here is to give users of `cargo_metadata` a way of parsing and inspecting cargo's platform values.

Along the way, I rewrote the error handling to remove `failure`, and to slightly improve the output.

I'm having doubts whether or not this is a good idea.  As you can see from the `examples/matches.rs` example, it is nontrivial to use this (which also misses cargo's config values and environment variables).  I don't know if anyone will actually use this.  If this doesn't seem to have value, I would suggest closing it.

I've also included a sample script, `publish.py`, for publishing cargo itself.  I suspect it will need tweaking, but I figure it would be a start and open for feedback.
2019-09-20 18:05:09 +00:00
bors
d96c050b2c Auto merge of #7386 - alexcrichton:less-env-leak, r=ehuss
Remove all `CARGO_*` env vars in tests

Usage of `CARGO_PROFILE_*` is generating unexpected warnings in tests in
rust-lang/rust#64316 so let's just blanket remove every env var that has
a `CARGO_*` prefix which generally means Cargo-specific env vars. Tests
practically all assume that they have blank configs right now.
2019-09-19 20:19:40 +00:00
bors
d3df047551 Auto merge of #7389 - alexcrichton:less-winapi-02, r=Eh2406
Remove dependency on `winapi` 0.2

This commit removes Cargo's dependency on `winapi` 0.2 which takes an
excessively long time to build, slowing down Windows builds. The
`winapi` 0.2 crate was pulled in via a dependency chain that looked
like:

    cargo
    \- crates-io
       \- http
          \- bytes
             \- iovec
                \- winapi 0.2

The fix implemented here was to remove the `http` crate dependency from
`crates-io` which is only used for rendering status codes, but it's easy
enough to inline that function locally.
2019-09-19 18:58:16 +00:00
Alex Crichton
0f751deffb Remove dependency on winapi 0.2
This commit removes Cargo's dependency on `winapi` 0.2 which takes an
excessively long time to build, slowing down Windows builds. The
`winapi` 0.2 crate was pulled in via a dependency chain that looked
like:

    cargo
    \- crates-io
       \- http
          \- bytes
             \- iovec
                \- winapi 0.2

The fix implemented here was to remove the `http` crate dependency from
`crates-io` which is only used for rendering status codes, but it's easy
enough to inline that function locally.
2019-09-19 11:53:24 -07:00
Alex Crichton
ef5b89ce28 Remove all CARGO_* env vars in tests
Usage of `CARGO_PROFILE_*` is generating unexpected warnings in tests in
rust-lang/rust#64316 so let's just blanket remove every env var that has
a `CARGO_*` prefix which generally means Cargo-specific env vars. Tests
practically all assume that they have blank configs right now.
2019-09-18 18:10:32 -07:00
Eric Huss
079b3fbad8 Fix tar duplicate artifact in rust-lang/rust. 2019-09-18 17:41:48 -07:00
Eric Huss
57c96c194a Extract Platform to a separate crate. 2019-09-17 14:55:22 -07:00
Alex Crichton
0dd79670d4 Add back a full integration test for -Zbuild-std
Only run these tests on one CI builder (not all platforms) though. This
is extremely resource intensive since it rebuilds libstd. Currently this
does not share a build directly like before because the number of tests
are supposed to be small, but if necessary we can add that in later too.
2019-09-16 11:47:09 -07:00
Alex Crichton
9115b2c326 Extract support directory to its own crate
Extract out all our test support code to its own standalone crate so it
can be shared between multiple test suites if necessary.
2019-09-16 11:47:09 -07:00
Eh2406
c14bb6e073 minimal-copy deserialize for InternedString and use InternedString more places 2019-09-03 10:26:15 -04:00
Eric Huss
5c7875d2e0 Bump to 0.40.0, Update changelog 2019-08-19 14:27:15 -07:00
Eric Huss
e26ef01743 Refactor resolve Method 2019-07-27 16:21:24 -07:00
Eric Huss
51a8206c38 Be more consistent about detecting CI. 2019-07-25 12:10:55 -07:00
Alex Crichton
3c67dc8430 Update the url crate to 2.0
Looks like minor API changes, primarily around percent encoding.
2019-07-24 08:26:28 -07:00
Alex Crichton
8887b67ec5 Optimize runtime of #[cargo_test_macro]
I've noticed recently that the incremental compile time for our test
suite has felt like it's increased quite a bit. I think one reason is
that everything has to go through `#[cargo_test_macro]` unconditionally
on all incremental builds, and wow do we have a lot of tests being
pumped through that macro.

Instrumenting the macro a little bit shows that we spend nearly 2.5
seconds on each compilation simply executing this macro (note that it's
in debug mode as well, not release since we typically don't execute
tests in release mode.

This commit instead drops the usage of `syn` and `quote` in favor of a
"raw procedural macro" which is much more optimized for just our use
case, even in debug mode. This drops the collective time spent in the
macro to 0.2 seconds, even in debug mode!
2019-07-19 11:07:01 -07:00
Eric Huss
a4e9611453 Fix some formatting for some strings. 2019-07-13 16:00:47 -07:00
Eric Huss
2208c1f62f Bump to 0.39.0 2019-07-05 10:42:46 -07:00
Matthias Krüger
51a56a452d format crates-io and cargo-test-macro subcrates 2019-06-23 00:29:52 +02:00
bors
37cb9bbe24 Auto merge of #7045 - Eh2406:resolver-test/debug-cleanup, r=alexcrichton
Resolver test/debug cleanup

This is several small things salvaged from abandoned PRs and implemented on top of #7011

In working on this I noted that the prop tests are very sensitive to whether backtrace are turned on. Maybe we should set that env to 0 for that builder?
2019-06-21 01:30:05 +00:00
Jeremy Stucki
930134c75b
Rename to_url -> into_url 2019-06-20 16:53:24 +02:00
Eh2406
034c5908d8 check that the SAT solver exempts the result from the resolver 2019-06-19 16:58:25 -04:00
Eh2406
f203deaa05 optimize conflict_store for looking up only older matches 2019-06-19 13:02:08 -04:00
Eh2406
f4bd3a4c6e dont have arg if it is all ways pkg_id("root") 2019-06-19 11:59:33 -04:00
Alex Crichton
290a727ad0 Extract resolver tests to their own crate
These tests take a good amount of time to run locally and they're also
causing a lot of dependencies to get pulled into rust-lang/rust, so
let's have a separate crate that we just test on our own CI
2019-06-18 10:50:48 -07:00
Alex Crichton
e449cb23e3 Move the crates-io crate to a crates directory
That way when we add more crates we've got a place to put them!
2019-06-18 10:47:44 -07:00