about summary refs log tree commit diff
path: root/src/tools/remote-test-server
AgeCommit message (Collapse)AuthorLines
2024-07-29Reformat `use` declarations.Nicholas Nethercote-9/+4
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-06-13remote-test-server: apply considerable clippy suggestionsonur-ozkan-1/+1
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-01-21use u64 to represent file sizeonur-ozkan-8/+8
This increases the maximum supported file size (previously limited to 4GB) and avoids potential issues with u32 to u64 conversions, which are no longer needed. Signed-off-by: onur-ozkan <work@onurozkan.dev>
2022-12-23Use u32 methods instead of manual shiftingAyush Singh-12/+8
Switch to `to_be_bytes()` and `from_be_bytes()` instead of manual shifting This was suggested [`here`](https://github.com/rust-lang/rust/pull/105145#discussion_r1051418964) Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-12-17Auto merge of #105145 - Ayush1325:sequential-remote-server, r=Mark-Simulacrumbors-13/+36
Add batch flag to remote-test-server When using this flag, the stdout and stderr are sent in a single batch instead of being streamed. It also used `Command::output` instead of `Command::spawn`. This is useful for targets that might support std but not threading (Eg: UEFI). Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-12-12Add batch flag to remote-test-serverAyush Singh-13/+36
When using this flag, the stdout and stderr is sent in a single batch instead of being streamed. It also used `Command::output` instead of `Command::spawn`. This is useful for targets that might support std but not threading (Eg: UEFI). Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-11-08Add retry flag to remote-test-serverAyush Singh-1/+13
This allows retrying binding TCP Socket multiple times. This is useful when using emulators as network might not be available in the beginning. This was orignally implemented in https://github.com/rust-lang/rust/pull/100316 Signed-off-by: Ayush Singh <ayushsingh1325@gmail.com>
2022-10-12Show command line argumentsFlorian Bartels-3/+22
2022-10-06tools/remote-test-{server,client}: Use /data/local/tmp on AndroidPeter Collingbourne-1/+1
The /data/tmp directory does not exist, at least not on recent versions of Android, which currently leads to test failures on that platform. I checked a virtual device running AOSP master and a Nexus 5 running Android Marshmallow and on both devices the /data/tmp directory does not exist and /data/local/tmp does, so let's switch to /data/local/tmp.
2022-09-23add the --sequential flag to compiletestPietro Albini-1/+9
2022-09-23replace --remote with the --bind flag in remote-test-serverPietro Albini-11/+21
2022-09-23make remote-test-server cli parsing more consistentPietro Albini-8/+4
2021-09-20Migrate to 2021Mark Rousskov-1/+1
2021-07-29rfc3052: Remove authors field from Cargo manifestsJade-1/+0
Since RFC 3052 soft deprecated the authors field anyway, hiding it from crates.io, docs.rs, and making Cargo not add it by default, and it is not generally up to date/useful information, we should remove it from crates in this repo.
2021-01-27Preserve existing LD_LIBRARY_PATH in remote-test-serverAmanieu d'Antras-15/+9
2020-06-25Support configurable deny-warnings for all in-tree crates.Eric Huss-2/+0
2020-06-02tools/remote-test-server: make use of verbose optionTom Eccles-6/+16
There was an unused verbose command line argument. Add some prints if verbose is set.
2020-06-02tools/remote-test-{server,client}: support RUST_TEST_TMPDIRTom Eccles-7/+14
Some tests (e.g. ui-fulldeps/create-dir-all-bare.rs) assume that RUST_TEST_TMPDIR exists on the system running the test. Expand remote-test-{server,client} such that a tmp directory is created on the remote runner and this environment variable will point at it.
2020-05-31Fix `set_permissions` call for non-windowsDennis Duda-1/+1
2020-05-31Unify temp path generation for non-androidDennis Duda-4/+4
2020-05-31Make remote-test-client and remote-test-server compatible with windowsDennis Duda-23/+60
`compiletest` and `remote-test-client`: The command line for `remote-test-client` was changed slightly to allow cross-platform compatible paths. The old way of supplying the support libs was by joining their paths with the executable path with `:`. This caused Windows-style paths to be split after the directory letter. Now, the number of support libs is provided as a parameter as well, and the support lib paths are split off from the regular args in the client. `remote-test-server`: - Marked Unix-only parts as such and implemented Windows alternatives - On Windows `LD_LIBRARY_PATH` doesn't exist. Libraries are loaded from `PATH` though, so that's the way around it. - Tiny cleanup: `Command::args`/`envs` instead of manually looping over them - The temp path for Windows has to be set via environment variable, since there isn't a global temp directory that would work on every machine (as a static string)
2019-12-22Format the worldMark Rousskov-27/+22
2019-09-23Add `#![deny(warnings)]` to internal toolsAlex Crichton-11/+13
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-2/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-03-01tools/remote-test-{client,server}: deny(rust_2018_idioms)Mazdak Farrokhzad-1/+3
2019-02-03Transition remote-test-server to 2018 editionHirokazu Hata-0/+1
2019-02-01Fix typoking6cong-1/+1
2019-01-26Replace deprecated ATOMIC_INIT constsMark Rousskov-2/+2
2018-12-25Remove licensesMark Rousskov-10/+0
2018-08-04Remove explicit returns where unnecessaryljedrz-1/+1
2018-07-25Add missing dynTatsuyuki Ishi-2/+2
2017-05-04Add remote device testing supportMátyás Mustoha-6/+49
2017-04-27travis: Parallelize tests on AndroidAlex Crichton-0/+263
Currently our slowest test suite on android, run-pass, takes over 5 times longer than the x86_64 component (~400 -> ~2200s). Typically QEMU emulation does indeed add overhead, but not 5x for this kind of workload. One of the slowest parts of the Android process is that *compilation* happens serially. Tests themselves need to run single-threaded on the emulator (due to how the test harness works) and this forces the compiles themselves to be single threaded. Now Travis gives us more than one core per machine, so it'd be much better if we could take advantage of them! The emulator itself is still fundamentally single-threaded, but we should see a nice speedup by sending binaries for it to run much more quickly. It turns out that we've already got all the tools to do this in-tree. The qemu-test-{server,client} that are in use for the ARM Linux testing are a perfect match for the Android emulator. This commit migrates the custom adb management code in compiletest/rustbuild to the same qemu-test-{server,client} implementation that ARM Linux uses. This allows us to lift the parallelism restriction on the compiletest test suites, namely run-pass. Consequently although we'll still basically run the tests themselves in single threaded mode we'll be able to compile all of them in parallel, keeping the pipeline much more full and using more cores for the work at hand. Additionally the architecture here should be a bit speedier as it should have less overhead than adb which is a whole new process on both the host and the emulator! Locally on an 8 core machine I've seen the run-pass test suite speed up from taking nearly an hour to only taking 6 minutes. I don't think we'll see quite a drastic speedup on Travis but I'm hoping this change can place the Android tests well below 2 hours instead of just above 2 hours. Because the client/server here are now repurposed for more than just QEMU, they've been renamed to `remote-test-{server,client}`. Note that this PR does not currently modify how debuginfo tests are executed on Android. While parallelizable it wouldn't be quite as easy, so that's left to another day. Thankfully that test suite is much smaller than the run-pass test suite. As a final fix I discovered that the ARM and Android test suites were actually running all library unit tests (e.g. stdtest, coretest, etc) twice. I've corrected that to only run tests once which should also give a nice boost in overall cycle time here.