about summary refs log tree commit diff
path: root/src/tools/remote-test-client
AgeCommit message (Collapse)AuthorLines
2025-07-04remote-test-client: Exit code `128 + <signal-number>` instead of `3`Martin Nordholts-1/+3
If the remote process is terminated by a signal, make `remote-test-client` exit with the code `128 + <signal-number>` instead of always `3`. This follows common practice among tools such as bash [^1]: > When a command terminates on a fatal signal whose number is N, Bash uses the > value 128+N as the exit status. It also allows us to differentiate between `run-pass` and `run-crash` ui tests without special case code in compiletest for that when `remote-test-client` is used. [^1]: https://www.gnu.org/software/bash/manual/html_node/Exit-Status.html
2024-07-29Reformat `use` declarations.Nicholas Nethercote-2/+1
The previous commit updated `rustfmt.toml` appropriately. This commit is the outcome of running `x fmt --all` with the new formatting options.
2024-07-02Give remote-test-client a longer timeoutAna Hobden-1/+1
2024-06-13remote-test-client: apply considerable clippy suggestionsonur-ozkan-6/+4
Signed-off-by: onur-ozkan <work@onurozkan.dev>
2024-01-21use u64 to represent file sizeonur-ozkan-6/+5
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-10-06tools/remote-test-{server,client}: Use /data/local/tmp on AndroidPeter Collingbourne-2/+2
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.
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-30Update armhf-gnu to Ubuntu 20.04Nikita Popov-2/+4
This requires updating the used Linux kernel to avoid an assembler error, the used busybox version to avoid a linker error, the used rootfs to match the host version and the qemu flags to work with the newer version.
2020-06-25Support configurable deny-warnings for all in-tree crates.Eric Huss-2/+0
2020-06-10tools: remote-test-client: fix typo Tom Eccles-1/+1
Thanks to jfrimmel for pointing this out Co-authored-by: J. Frimmel <31166235+jfrimmel@users.noreply.github.com>
2020-06-09Add a disabled builder for riscv64 emulated testsTom Eccles-15/+68
This will run all tests for `riscv64gc-unknown-linux-gnu` in a QEMU instance. This is based upon the armhf QEMU test image.
2020-06-02tools/remote-test-{server,client}: support RUST_TEST_TMPDIRTom Eccles-1/+1
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-31Make `remote-test-client` work as cargo runner againDennis Duda-3/+5
Since cargo appends executable/args, the support_lib count parameter has to come first.
2020-05-31Update help text of remote-test-client to reflect changed commandDennis Duda-3/+4
2020-05-31Make remote-test-client and remote-test-server compatible with windowsDennis Duda-5/+9
`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)
2020-05-18Add remote-test-client help textTom Eccles-5/+51
2019-12-22Format the worldMark Rousskov-90/+72
2019-09-23Add `#![deny(warnings)]` to internal toolsAlex Crichton-6/+8
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-client to 2018 editionHirokazu Hata-0/+1
2018-12-25Remove licensesMark Rousskov-10/+0
2018-07-25Add missing dynTatsuyuki Ishi-2/+2
2017-07-24Add a disabled builder for aarch64 emulated testsAlex Crichton-12/+35
This commit adds a disabled builder which will run all tests for the standard library for aarch64 in a QEMU instance. Once we get enough capacity to run this on Travis this can be used to boost our platform coverage of AArch64
2017-05-04Add remote device testing supportMátyás Mustoha-4/+12
2017-04-27travis: Parallelize tests on AndroidAlex Crichton-0/+287
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.