Skip to content
This repository has been archived by the owner on Dec 29, 2022. It is now read-only.

Translate remaining tests #1320

Merged
merged 1 commit into from
Feb 24, 2019
Merged

Translate remaining tests #1320

merged 1 commit into from
Feb 24, 2019

Conversation

Xanewok
Copy link
Member

@Xanewok Xanewok commented Feb 22, 2019

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

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
Copy link
Member Author

Xanewok commented Feb 24, 2019

Squashed since there were 20+ commits here (each per test case + follow-up fixes).
Tested it thoroughly; I'd like to merge this PR since I'd like for the testing work to pick up the pace, I hope that's okay.

@bors r+

@bors
Copy link
Contributor

bors commented Feb 24, 2019

📌 Commit de8a00e has been approved by Xanewok

@bors
Copy link
Contributor

bors commented Feb 24, 2019

⌛ Testing commit de8a00e with merge 0822b62...

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
@bors
Copy link
Contributor

bors commented Feb 24, 2019

☀️ Test successful - checks-travis
Approved by: Xanewok
Pushing 0822b62 to master...

@bors bors merged commit de8a00e into rust-lang:master 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.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants