This repository has been archived by the owner on Dec 29, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 257
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Xanewok
force-pushed
the
translate-tests
branch
from
February 24, 2019 17:36
a78d429
to
0fefebc
Compare
By spawning separate processes into temporary directories the in-process RLS invocations don't need to fight over global env vars and working directory, allowing us to better utilize multiple test threads and isolate RLS behaviour in test cases.
Xanewok
force-pushed
the
translate-tests
branch
from
February 24, 2019 21:16
5c08df5
to
de8a00e
Compare
Squashed since there were 20+ commits here (each per test case + follow-up fixes). @bors r+ |
📌 Commit de8a00e has been approved by |
bors
added a commit
that referenced
this pull request
Feb 24, 2019
Translate remaining tests Continuation of #1244. Here are some anecdotal benchmarks (used `time` under Xubuntu 18.04, AMD Ryzen 2600). * master branch `$ time cargo test --release client_` 5.5 real (2.5 sys) `$ time cargo test --release test_ `8.65 real (3.2 sys) * translate-tests branch `$ time cargo test --release client_` 5.7 real (6.3 sys) `$ time cargo test --release test_` 1.3 real (0.8 sys) Unfortunately it seems that two tests post-translation fail very often (which I disabled for now): - client_hover_after_src_line_change (sometimes has to fall back to Racer, which is bad) - client_find_all_refs_test (sometimes doesn't pick up reference from `#[cfg(test)]` code - maybe analysis chokes when coalescing defs from the 2 crates with same origin but different cfgs?) This is alarming since the new approach should isolate the behaviour better (we start a new process in a scratchpad directory), which means that either I'm not seeing what I'm doing wrong with the new approach or it uncovered some bugs with the rls-analysis (seems like an obvious culprit for both of these failures). r? @alexheretic
☀️ Test successful - checks-travis |
This was referenced Feb 24, 2019
bors
added a commit
to rust-lang/rust
that referenced
this pull request
Mar 4, 2019
Update cargo, rls ## cargo 6 commits in 5c6aa46e6f28661270979696e7b4c2f0dff8628f..716b02cb4c7b75ce435eb06defa25bc2d725909c 2019-02-22 19:32:35 +0000 to 2019-03-02 14:23:51 +0000 - Some test/bench-related tweaks (rust-lang/cargo#6707) - Fix links to the permanent home of the edition guide. (rust-lang/cargo#6703) - HTTPS all the things (rust-lang/cargo#6614) - Cargo test quicker by not building untested examples when filtered (rust-lang/cargo#6683) - Link from ARCHITECTURE.md to docs.rs and github (rust-lang/cargo#6695) - Update how to install rustfmt (rust-lang/cargo#6696) ## rls 9 commits in 0d6f53e1a4adbaf7d83cdc0cb54720203fcb522e..6a1b5a9cfda2ae19372e0613e76ebefba36edcf5 2019-02-14 07:52:15 +0000 to 2019-03-04 20:24:45 +0000 - Update cargo and clippy. (rust-lang/rls#1388) - catch up rust-lang/rust PR#58321 (rust-lang/rls#1384) - Apply Clippy fixes (rust-lang/rls#1327) - Various cosmetic improvements (rust-lang/rls#1326) - Make test `RlsHandle` transport-agnostic (rust-lang/rls#1317) - Translate remaining tests (rust-lang/rls#1320) - Remove unnecessary #![feature]s (rust-lang/rls#1323) - Update Clippy (rust-lang/rls#1319) - Update Clippy (rust-lang/rls#1315) cc @Xanewok
bors
added a commit
to rust-lang/rust
that referenced
this pull request
Mar 9, 2019
Update cargo, rls, books ## cargo 10 commits in 5c6aa46e6f28661270979696e7b4c2f0dff8628f..95b45eca19ac785263fed98ecefe540bb47337ac 2019-02-22 19:32:35 +0000 to 2019-03-06 19:24:30 +0000 - Relax some rustdoc tests. (rust-lang/cargo#6721) - Include build script execution in the fingerprint. (rust-lang/cargo#6720) - part of the infrastructure for public & private dependencies in the resolver (rust-lang/cargo#6653) - Bump to 0.36.0 (rust-lang/cargo#6718) - Some test/bench-related tweaks (rust-lang/cargo#6707) - Fix links to the permanent home of the edition guide. (rust-lang/cargo#6703) - HTTPS all the things (rust-lang/cargo#6614) - Cargo test quicker by not building untested examples when filtered (rust-lang/cargo#6683) - Link from ARCHITECTURE.md to docs.rs and github (rust-lang/cargo#6695) - Update how to install rustfmt (rust-lang/cargo#6696) ## rls 9 commits in 0d6f53e1a4adbaf7d83cdc0cb54720203fcb522e..6a1b5a9cfda2ae19372e0613e76ebefba36edcf5 2019-02-14 07:52:15 +0000 to 2019-03-04 20:24:45 +0000 - Update cargo and clippy. (rust-lang/rls#1388) - catch up rust-lang/rust PR#58321 (rust-lang/rls#1384) - Apply Clippy fixes (rust-lang/rls#1327) - Various cosmetic improvements (rust-lang/rls#1326) - Make test `RlsHandle` transport-agnostic (rust-lang/rls#1317) - Translate remaining tests (rust-lang/rls#1320) - Remove unnecessary #![feature]s (rust-lang/rls#1323) - Update Clippy (rust-lang/rls#1319) - Update Clippy (rust-lang/rls#1315) cc @Xanewok ## Books See #58936 for details.
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Continuation of #1244.
Here are some anecdotal benchmarks (used
time
under Xubuntu 18.04, AMD Ryzen 2600).$ time cargo test --release client_
5.5 real (2.5 sys)$ time cargo test --release test_
8.65 real (3.2 sys)$ time cargo test --release client_
5.7 real (6.3 sys)$ time cargo test --release test_
1.3 real (0.8 sys)Unfortunately it seems that two tests post-translation fail very often (which I disabled for now):
#[cfg(test)]
code - maybe analysis chokes when coalescing defs from the 2 crates with same origin but different cfgs?)This is alarming since the new approach should isolate the behaviour better (we start a new process in a scratchpad directory), which means that either I'm not seeing what I'm doing wrong with the new approach or it uncovered some bugs with the rls-analysis (seems like an obvious culprit for both of these failures).
r? @alexheretic