about summary refs log tree commit diff
path: root/src/libtest
AgeCommit message (Collapse)AuthorLines
2020-07-27mv std libs to library/mark-4891/+0
2020-07-16Rollup merge of #74033 - ehuss:std-compile-all-platforms, r=Mark-SimulacrumManish Goregaokar-131/+97
Add build support for Cargo's build-std feature. This makes some changes to the standard library to make it easier to use with Cargo's build-std feature. The primary goal is to make it so that Cargo and its users do not need to know which crates to build and which features to use for every platform. Conditional cfgs are adjusted so that there is usually a fall-through for unsupported platforms. Additionally, there is a "restricted-std" feature to mark `std` as unstable when used with build-std on no_std platforms. There is no intent to stabilize this feature for the foreseeable future. This borrows some of the implementation for wasm which already does what this needs. More code sharing can be done with some other platforms (there is a lot of duplication with cloudabi, hermit, and sgx), but I figure that can be done in a future PR. There are some small changes to stable behavior in this PR: - `std::env::consts::ARCH` on asmjs now reports "wasm32", to match its actual architecture. - Some of the wasm error messages for unsupported features report a slightly different error message so that the code can be reused. There should otherwise not be any changes to how std is built for distribution via bootstrap. This does not yet support all platforms when used with build-std. - It doesn't work with 16-bit targets (hashbrown does not support that). - It does not work with JSON spec targets. - In particular, all target triple snooping will need to be replaced with appropriate target option checking. - Switching to gimli (#73441) will make cross-building *much* easier. - There are still a ton of issues on the Cargo side to resolve. A big one is panic strategy support. Future PRs are intended to address some of these issues.
2020-07-15Move libstd's default feature to libtestAlex Crichton-0/+3
This commit makes it so `std` no longer has a `default` feature, but instead the `test` crate has a `default` feature doing the same thing. The purpose of this commit is to allow Cargo's `-Zbuild-std` command, which could customize the features of the standard library, to handle the `default` feature for libstd. Currently Cargo's `-Zbuild-std` support starts at libtests's manifest as the entry point to the std set of crates.
2020-07-15Use cfg_if in libtest.Eric Huss-131/+97
Simplifies some of the expressions, and provides a default.
2020-06-08typo: awailable -> availableJosh Stone-1/+1
2020-05-11Fix clippy warningsMatthias Krüger-2/+2
Fixes clippy::{cone_on_copy, filter_next, redundant_closure, single_char_pattern, len_zero,redundant_field_names, useless_format, identity_conversion, map_clone, into_iter_on_ref, needless_return, option_as_ref_deref, unused_unit, unnecessary_mut_passed}
2020-04-14Add illumos triplePatrick Mooney-0/+1
Co-Authored-By: Jason King <jason.brian.king@gmail.com> Co-Authored-By: Joshua M. Clulow <jmc@oxide.computer>
2020-04-06Stop importing float module in libtestLinus Färnstrand-1/+0
2020-03-26Rename asm! to llvm_asm!Amanieu d'Antras-1/+0
asm! is left as a wrapper around llvm_asm! to maintain compatibility.
2020-03-23Request "-Z unstable-options" for unstable optionsJubilee-1/+1
Explicitly requests the "-Z unstable-options" flag if someone attempts to use a cargo option gated by it. This enhances discoverability, particularly in the instance where the user is on the nightly compiler but isn't using the flag.
2020-03-14Rollup merge of #69802 - matthiaskrgr:cl1ppy, r=Dylan-DPCYuki Okushi-14/+14
fix more clippy findings * reduce references on match patterns (clippy::match_ref_pats) * Use writeln!(fmt, "word") instead of write!(fmt, "word\n") (clippy::write_with_newline) * libtest: remove redundant argument to writeln!() (clippy::writeln_empty_string) * remove unneeded mutable references (cippy::unnecessary_mut_passed) * libtest: declare variables as floats instead of casting them (clippy::unnecessary_cast) * rustdoc: remove redundant static lifetimes (clippy::redundant_static_lifetimes) * call .as_deref() instead of .as_ref().map(Deref::deref) (clippy::option_as_ref_deref) * iterate over a maps values directly. (clippy::for_kv_map) * rustdoc: simplify boolean condition (clippy::nonminimal_bool) * Use ?-operator in more places (clippy::question_mark, had some false negatives fixed recently) * rustdoc: Use .any(p) instead of find(p).is_some(). (clippy::search_is_some) * rustdoc: don't call into_iter() on iterator. (clippy::identity_conversion)
2020-03-07reduce references on match patterns (clippy::match_ref_pats)Matthias Krüger-4/+4
2020-03-07Use writeln!(fmt, "word") instead of write!(fmt, "word\n") ↵Matthias Krüger-1/+1
(clippy::write_with_newline)
2020-03-07libtest: remove redundant argument to writeln!() (clippy::writeln_empty_string)Matthias Krüger-1/+1
2020-03-07libtest: declare variables as floats instead of casting them ↵Matthias Krüger-8/+8
(clippy::unnecessary_cast)
2020-03-06fix various typosMatthias Krüger-3/+3
2020-03-05Don't always eval arguments inside .expect(), use unwrap_or_else and ↵Matthias Krüger-1/+1
closure. (clippy::expect_fun_call)
2020-03-05Const items have by default a static lifetime, there's no need to annotate ↵Matthias Krüger-1/+1
it. (clippy::redundant_static_lifetimes)
2020-03-01Rollup merge of #69580 - matthiaskrgr:map_clone, r=CentrilYuki Okushi-1/+1
use .copied() instead of .map(|x| *x) on iterators
2020-02-29Make it build againVadim Petrochenkov-2/+2
2020-02-29use .copied() instead of .map(|x| *x) on iteratorsMatthias Krüger-1/+1
2020-02-28use is_empty() instead of len() == x to determine if structs are empty.Matthias Krüger-1/+1
2020-02-06Respect --nocapture in panic=abort test modeTyler Mandry-9/+17
2020-02-04remove redundant imports (clippy::single_component_path_imports)Matthias Krüger-3/+0
2020-01-17Rollup merge of #68301 - tmandry:dont-propagate-test-invoke, r=alexcrichtonDylan DPC-1/+2
Don't propagate __RUST_TEST_INVOKE to subprocess When -Z panic_abort_tests is enabled, we use an environment variable to tell the subprocess which test to invoke. If that subprocess then invokes another Rust test binary, chaos ensues. r? @alexcrichton
2020-01-16Don't propagate __RUST_TEST_INVOKE to subprocessTyler Mandry-1/+2
When -Z panic_abort_tests is enabled, we use an environment variable to tell the subprocess which test to invoke. If that subprocess then invokes another Rust test binary, chaos ensues.
2020-01-16don't clone types that are copyMatthias Krüger-3/+1
found via clippy
2020-01-15remove redundant clones, found by clippyMatthias Krüger-2/+2
2020-01-10Clarify test timeout evironment variablesMikail Bagishov-0/+2
2019-12-22Format the worldMark Rousskov-390/+219
2019-12-06Use `Instant::now` lazilyvarkor-2/+2
2019-12-06Rename to `then_some` and `then`varkor-2/+2
2019-12-06Use `to_option` in various placesvarkor-10/+3
2019-11-19Simplify if else as suggested in PR feedbackThomas Etter-20/+16
2019-11-18replace some asserts with assert_eq for better error readabilityThomas Etter-6/+6
2019-11-18print a more useful error message on should_panic mismatchThomas Etter-7/+50
2019-11-15Add --force-run-in-process unstable libtest optionTyler Mandry-1/+6
2019-11-06Replace `array.into_iter()` with `iter()` in `libtest/tests.rs`Lukas Kalbertodt-2/+2
2019-10-29Rollup merge of #65898 - hermitcore:rusty-hermit, r=kennytmTyler Mandry-1/+7
add basic HermitCore support within libtest This an extension to #65167. The current pull request extend libtest to support HermitCore as target OS.
2019-10-28removing trailing whitespacesStefan Lankes-1/+1
2019-10-28add basic HermitCore support within libtestStefan Lankes-1/+7
2019-10-25Re-enable Emscripten's exception handling supportThomas Lively-2/+2
Passes LLVM codegen and Emscripten link-time flags for exception handling if and only if the panic strategy is `unwind`. Sets the default panic strategy for Emscripten targets to `unwind`. Re-enables tests that depend on unwinding support for Emscripten, including `should_panic` tests.
2019-10-23Rollup merge of #64178 - mati865:clippy, r=scottmcmMazdak Farrokhzad-4/+4
More Clippy fixes for alloc, core and std Continuation of https://github.com/rust-lang/rust/pull/63805
2019-10-23Public some types for compiletest_rsLzu Tao-3/+4
2019-10-22Apply clippy::needless_return suggestionsMateusz Mikuła-4/+4
2019-10-21Remove unneccessary use under cfg(unix)Igor Aleksanov-12/+2
2019-10-18Add public re-exports for benchesIgor Aleksanov-2/+4
2019-10-17Improve code styleIgor Aleksanov-21/+41
2019-10-17Add more explaining comments to the codeIgor Aleksanov-68/+94
2019-10-17Split options parsing into several functionsIgor Aleksanov-123/+179