summary refs log tree commit diff
path: root/src/tools
AgeCommit message (Collapse)AuthorLines
2016-11-05Merge branch 'gdb-next-gen' of https://github.com/TimNN/rust into rollupAlex Crichton-92/+199
2016-11-05ignore gdb check for androidTim Neumann-5/+6
2016-11-01std: Flatten the num directory to reflect the module layoutBrian Anderson-2/+2
This makes it dissimilar to how core is structured on disk, but more predictable on its own.
2016-11-01std: Move sys_common to libstd/sys_commonBrian Anderson-5/+4
Make the directory structure reflect the module structure. I've always found the existing structure confusing.
2016-11-01std: Move platform-specific out of sys_common::utilBrian Anderson-1/+0
2016-11-01std: Move platform-specific code out of libstd/lib.rsBrian Anderson-3/+3
2016-11-01std: Move a plattform-specific constant to sys::stdioBrian Anderson-1/+0
2016-11-01std: Move elf TLS to sys::fast_thread_localBrian Anderson-1/+0
2016-10-31Changed most vec! invocations to use square bracesiirelu-42/+42
Most of the Rust community agrees that the vec! macro is clearer when called using square brackets [] instead of regular brackets (). Most of these ocurrences are from before macros allowed using different types of brackets. There is one left unchanged in a pretty-print test, as the pretty printer still wants it to have regular brackets.
2016-10-31detect gdb version & rust support in compiletestTim Neumann-76/+162
2016-10-31add gdb_native_rust config to compiletestTim Neumann-16/+36
2016-10-29Auto merge of #37378 - petrochenkov:nopat, r=eddybbors-1/+1
Prohibit patterns in trait methods without bodies They are not properly type checked ```rust trait Tr { fn f(&a: u8); // <- This compiles } ``` , mostly rejected by the parser already and generally don't make much sense. This PR is kind of a missing part of https://github.com/rust-lang/rust/pull/35015. Given the [statistics from crater](https://github.com/rust-lang/rust/pull/37378#issuecomment-256154994), the effect of this PR is mostly equivalent to improving `unused_mut` lint. cc https://github.com/rust-lang/rust/issues/35078#issuecomment-255707355 https://github.com/rust-lang/rust/pull/35015 https://github.com/rust-lang/rfcs/pull/1685 https://github.com/rust-lang/rust/issues/35203 r? @eddyb
2016-10-29Update cargo sha for cargotestVadim Petrochenkov-1/+1
2016-10-27tidy/features: fix checking of lang featuresTamir Duberstein-49/+64
Removes the `STATUSES` static which duplicates truth from the pattern match in `collect_lang_features`. Fixes existing duplicates by renaming: - never_type{,_impls} on `impl`s on `!` - concat_idents{,_macro} on `macro_rules! concat_idents` Fixes #37013.
2016-10-27tidy/bins: fix false positive on non checked-in binaryTamir Duberstein-13/+12
`git ls-files` now exits zero when called with a missing file; check that the file is included in the output before reporting a checked-in binary. Observed with git 2.10.1 and tripped by a symlink created by tests: src/test/run-make/issue-26006/out/time/deps/liblibc.rlib -> out/libc/liblibc.rlib
2016-10-19Rollup merge of #37182 - alexcrichton:appveyor, r=brsonEduard-Mihai Burtescu-0/+19
Add AppVeyor configuration to the repo We hope to move to AppVeyor in the near future off of Buildbot + EC2. This adds an `appveyor.yml` configuration file which is ready to run builds on the auto branch. This is also accompanied with a few minor fixes to the build system and such to accomodate AppVeyor. The intention is that we're not switching over to AppVeyor entirely just yet, but rather we'll watch the builds for a week or so. If everything checks out then we'll start gating on AppVeyor instead of Buildbot!
2016-10-17Rollup merge of #37177 - michaelwoerister:fix-check-stage1, r=petrochenkovGuillaume Gomez-0/+2
Fix make check-stage1 by conditionally activating question_mark feature for compiletest tool. r? @alexcrichton
2016-10-15rustdoc: Improve playground run buttonsOliver Middleton-7/+5
The main change is to stop using javascript to generate the URLs and use rustdoc instead. This also adds run buttons to the error index examples.
2016-10-14Add AppVeyor configuration to the repoAlex Crichton-0/+19
We hope to move to AppVeyor in the near future off of Buildbot + EC2. This adds an `appveyor.yml` configuration file which is ready to run builds on the auto branch. This is also accompanied with a few minor fixes to the build system and such to accomodate AppVeyor. The intention is that we're not switching over to AppVeyor entirely just yet, but rather we'll watch the builds for a week or so. If everything checks out then we'll start gating on AppVeyor instead of Buildbot!
2016-10-14Fix make check-stage1 by conditionally activating question_mark feature for ↵Michael Woerister-0/+2
compiletest tool.
2016-10-12Stabilise `?`Nick Cameron-5/+0
cc [`?` tracking issue](https://github.com/rust-lang/rust/issues/31436)
2016-10-08rustbuild: Optimize build times slightlyAlex Crichton-2/+2
As the entry point for building the Rust compiler, a good user experience hinges on this compiling quickly to get to the meat of the problem. To that end use `#[cfg]`-specific dependencies to avoid building Windows crates on Unix and drop the `regex` crate for now which was easily replacable with some string searching.
2016-10-08Rollup merge of #37016 - alexcrichton:workspaces, r=japaricManish Goregaokar-158/+0
Leverage Cargo workspaces in rustbuild This is a continuation of https://github.com/rust-lang/rust/pull/36032 which implements the change to use `cargo metadata` to learn about the crate graph.
2016-10-07Use workspaces and switch to a single Cargo.lock.Ahmed Charles-158/+0
This involves hacking the code used to run cargo test on various packages, because it reads Cargo.lock to determine which packages should be tested. This change implements a blacklist, since that will catch new crates when they are added in the future.
2016-10-07Auto merge of #36981 - alexcrichton:catch-unwind-for-tests, r=sfacklerbors-1/+1
std: Minor cleanup to libtest * Don't spawn two threads for all tests, just one now that `catch_unwind` is stable. * Remove usage of the unstable `box` keyword * Remove usage of the unstable `FnBox` trait
2016-10-06rustc: Rename rustc_macro to proc_macroAlex Crichton-4/+6
This commit blanket renames the `rustc_macro` infrastructure to `proc_macro`, which reflects the general consensus of #35900. A follow up PR to Cargo will be required to purge the `rustc-macro` name as well.
2016-10-06std: Minor cleanup to libtestAlex Crichton-1/+1
* Don't spawn two threads for all tests, just one now that `catch_unwind` is stable. * Remove usage of the unstable `box` keyword * Remove usage of the unstable `FnBox` trait
2016-10-03Auto merge of #36815 - alexcrichton:stabilize-1.13, r=aturonbors-1/+1
std: Stabilize and deprecate APIs for 1.13 This commit is intended to be backported to the 1.13 branch, and works with the following APIs: Stabilized * `i32::checked_abs` * `i32::wrapping_abs` * `i32::overflowing_abs` * `RefCell::try_borrow` * `RefCell::try_borrow_mut` Deprecated * `BinaryHeap::push_pop` * `BinaryHeap::replace` * `SipHash13` * `SipHash24` * `SipHasher` - use `DefaultHasher` instead in the `std::collections::hash_map` module Closes #28147 Closes #34767 Closes #35057 Closes #35070
2016-10-03std: Stabilize and deprecate APIs for 1.13Alex Crichton-1/+1
This commit is intended to be backported to the 1.13 branch, and works with the following APIs: Stabilized * `i32::checked_abs` * `i32::wrapping_abs` * `i32::overflowing_abs` * `RefCell::try_borrow` * `RefCell::try_borrow_mut` * `DefaultHasher` * `DefaultHasher::new` * `DefaultHasher::default` Deprecated * `BinaryHeap::push_pop` * `BinaryHeap::replace` * `SipHash13` * `SipHash24` * `SipHasher` - use `DefaultHasher` instead in the `std::collections::hash_map` module Closes #28147 Closes #34767 Closes #35057 Closes #35070
2016-10-02Move platform-specific arg handling to sys::argsBrian Anderson-1/+0
2016-10-02Add a platform-abstraction tidy scriptBrian Anderson-0/+233
This is intended to maintain existing standards of code organization in hopes that the standard library will continue to be refactored to isolate platform-specific bits, making porting easier; where "standard library" roughly means "all the dependencies of the std and test crates". This generally means placing restrictions on where `cfg(unix)`, `cfg(windows)`, `cfg(target_os)` and `cfg(target_env)` may appear, the basic objective being to isolate platform-specific code to the platform-specific `std::sys` modules, and to the allocation, unwinding, and libc crates. Following are the basic rules, though there are currently exceptions: - core may not have platform-specific code - liballoc_system may have platform-specific code - liballoc_jemalloc may have platform-specific code - libpanic_abort may have platform-specific code - libpanic_unwind may have platform-specific code - other crates in the std facade may not - std may have platform-specific code in the following places - sys/unix/ - sys/windows/ - os/ There are plenty of exceptions today though, noted in the whitelist.
2016-09-30Update bootstrap and compiletest to use the detected nodejsBrian Anderson-1/+5
2016-09-30Ignore all debuginfo tests on emscriptenBrian Anderson-1/+8
2016-09-30Preliminary wasm32 supportBrian Anderson-5/+5
2016-09-28Auto merge of #36604 - japaric:libtest-skip, r=alexcrichtonbors-0/+1
libtest: add a --skip flag to the test runner This flag takes a FILTER argument and instructs the test runner to skip the tests whose names contain the word FILTER. --skip can be used several times. --- My motivation for submitting this is that while using [smoke] to run `std` unit tests for cross targets I found that a few of the tests always fail due to limitations in QEMU (it can't handle too many threads) and I'd like to skip these problematic tests from the command line to be able to run the rest of the unit tests. [smoke]: https://github.com/japaric/smoke I know there is another mechanism to skip tests: `#[ignore]` but this doesn't work in my use case because I can't (easily) modify the source of the standard libraries to `#[ignore]` some tests. And even if I could, the change would involve conditionally ignoring some tests for some targets but that's not a perfect solution because those tests should pass if executed on real hardware so they should not be `#[ignored]` in that scenario. r? @alexcrichton cc @brson
2016-09-27fix compiletestJorge Aparicio-0/+1
2016-09-25Add support for the Haiku operating system on x86 and x86_64 machinesNiels Sascha Reedijk-0/+1
* Hand rebased from Niels original work on 1.9.0
2016-09-24Skip binary tidy check when on Windows Linux SubsystemMark-Simulacrum-0/+11
While it's possible that other linux systems will include "Microsoft" in their /proc/version, this is deemed unlikely, and since this is a tidy check, will likely be caught by buildbot/travis either way.
2016-09-23Auto merge of #36370 - michaelwoerister:incr-comp-metadata-hashes-check, ↵bors-34/+45
r=nikomatsakis ICH: Add ability to test the ICH of exported metadata items. Also adds an example test case for ICH testing. r? @nikomatsakis
2016-09-23ICH: Add ability to test the ICH of exported metadata items.Michael Woerister-34/+45
2016-09-23Auto merge of #36335 - mcarton:compiletest, r=GuillaumeGomezbors-1/+1
Fix ICE test in compiletest fail-tests While working on Clippy which uses *compiletest*, I noticed that as long as all expected error are found, *compile-fail* tests will be marked *ok* even if there is an ICE. One function seems to have not been updated with JSON errors because ICEs are now reported like this: ```json {"message":"../src/librustc/ty/context.rs:161: Attempted to intern `_` which contains inference types/regions in the global type context","code":null,"level":"error: internal compiler error","spans":[],"children":[],"rendered":null} ``` I don't think I can add a test for that. I guess: r? @nikomatsakis
2016-09-11Use question_mark feature in compiletest.Ahmed Charles-8/+8
2016-09-11Use question_mark feature in linkchecker.Ahmed Charles-4/+5
2016-09-09Add s390x supportUlrich Weigand-1/+1
This adds support for building the Rust compiler and standard library for s390x-linux, allowing a full cross-bootstrap sequence to complete. This includes: - Makefile/configure changes to allow native s390x builds - Full Rust compiler support for the s390x C ABI (only the non-vector ABI is supported at this point) - Port of the standard library to s390x - Update the liblibc submodule to a version including s390x support - Testsuite fixes to allow clean "make check" on s390x Caveats: - Resets base cpu to "z10" to bring support in sync with the default behaviour of other compilers on the platforms. (Usually, upstream supports all older processors; a distribution build may then chose to require a more recent base version.) (Also, using zEC12 causes failures in the valgrind tests since valgrind doesn't fully support this CPU yet.) - z13 vector ABI is not yet supported. To ensure compatible code generation, the -vector feature is passed to LLVM. Note that this means that even when compiling for z13, no vector instructions will be used. In the future, support for the vector ABI should be added (this will require common code support for different ABIs that need different data_layout strings on the same platform). - Two test cases are (temporarily) ignored on s390x to allow passing the test suite. The underlying issues still need to be fixed: * debuginfo/simd.rs fails because of incorrect debug information. This seems to be a LLVM bug (also seen with C code). * run-pass/union/union-basic.rs simply seems to be incorrect for all big-endian platforms. Signed-off-by: Ulrich Weigand <ulrich.weigand@de.ibm.com>
2016-09-08Fix ICE test in compiletest fail-testsmcarton-1/+1
2016-09-01test: Add a min-llvm-version directiveAlex Crichton-1/+26
We've got tests which require a particular version of LLVM to run as they're testing bug fixes. Our build system, however, supports multiple LLVM versions, so we can't run these tests on all LLVM versions. This adds a new `min-llvm-version` directive for tests so they can opt out of being run on older versions of LLVM. This then namely applies that logic to the `issue-36023.rs` test case and... Closes #36138
2016-08-31Auto merge of #35718 - michaelwoerister:incr-comp-dir-locking, r=alexcrichtonbors-2/+5
Implement synchronization scheme for incr. comp. directory This PR implements a copy-on-write-based synchronization scheme for the incremental compilation cache directory. For technical details, see the documentation at the beginning of `rustc_incremental/persist/fs.rs`. The PR contains unit tests for some functions but for testing whether the scheme properly handles races, a more elaborate test setup would be needed. It would probably involve a small tool that allows to manipulate the incremental compilation directory in a controlled way and then letting a compiler instance run against directories in different states. I don't know if it's worth the trouble of adding another test category to `compiletest`, but I'd be happy to do so. Fixes #32754 Fixes #34957
2016-08-29rustbook chapters/sections should be an ordered list.Corey Farwell-4/+4
2016-08-29compiletest: Canonicalize paths when remove incr.comp. dir, enabling longer ↵Michael Woerister-1/+4
paths
2016-08-29incr.comp.: Make compiletest generate shorter cache directory names.Michael Woerister-1/+1