about summary refs log tree commit diff
path: root/src/tools/compiletest
AgeCommit message (Collapse)AuthorLines
2016-12-29appveyor: Attempt to debug flaky test runsAlex Crichton-0/+38
This commit is an attempt to debug #38620 since we're unable to reproduce it locally. It follows the [advice] of those with AppVeyor to use the `handle.exe` tool to try to debug what processes have a handle to the file open. This won't be guaranteed to actually help us, but hopefully it'll diagnose something at some point? [advice]: http://help.appveyor.com/discussions/questions/2898
2016-12-27compiletest: Don't limit all suites on AndroidAlex Crichton-1/+18
On Android we only have one test thread for supposed problems with concurrency and the remote debugger. Not all of our suites require one concurrency, however, and suites like compile-fail or pretty can be much faster if they're parallelized on Travis. This commit only sets the test threads to one on Android for suites which actually run code, and other suites aren't tampered with.
2016-12-20mk: Fix compile with makefilesAlex Crichton-4/+10
A tweak was made to dependencies in #38451 but the makefiles weren't updated to accompany this. Instead of trying to integerate the `build_helper` crate into the makefiles (which currently isn't present) this commit takes the approach of just duplicating the required logic, which should be small enough for now.
2016-12-20Rollup merge of #38451 - semarie:openbsd-rustbuild, r=alexcrichtonAlex Crichton-1/+4
adaptation to rustbuild for openbsd Since the switch to rustbuild, the build for openbsd is broken: - [X] `ar` inference based on compiler name is wrong (OpenBSD usually use `egcc`, but `ear` doesn't exist) - [X] `make` isn't GNU-make under OpenBSD (and others BSD platforms) - [x] `stdc++` isn't the right stdc++ library to link with (it should be `estdc++`) - [x] corrects tests that don't pass anymore (problems related to rustbuild) r? @alexcrichton
2016-12-20Rollup merge of #38289 - bluss:mir-verbose-test-fail, r=michaelwoeristerAlex Crichton-5/+19
A more verbose matching failure for mir tests This makes it easier to work with mir test failures during development. - Show which expected line was not found - Show full expected output - Show full actual output
2016-12-17let BSD to use gmake for GNU-makeSébastien Marie-1/+4
the diff extends build_helper to provide an function to return the expected name of GNU-make on the host: "make" or "gmake". Fixes #38429
2016-12-14libtest: add --list option to list tests and benchmarksJeremy Fitzhardinge-0/+1
This option lists all the tests and benchmarks a binary provides. By default the listing is sent to stdout, but if --logfile is also specified, it is written there. If filters are specified, they're applied before the output is emitted.
2016-12-10compiletest: A more verbose matching failure for mir testsUlrik Sverdrup-5/+19
This makes it easier to work with mir test failures during development. - Show which expected line was not found - Show full expected output - Show full actual output
2016-12-05libtest: add --exact to make filter matching exactJeremy Fitzhardinge-0/+7
Filter matching is by substring by default. This makes it impossible to run a single test if its name is a substring of some other test. For example, its not possible to run just "mymod::test" with these tests: mymod::test mymod::test1 mymod::test_module::moretests You could declare by convention that no test has a name that's a substring of another test, but that's not really practical. This PR adds the "--exact" flag, to make filter matching exactly match the complete name.
2016-11-30Update the bootstrap compilerAlex Crichton-8/+0
Now that we've got a beta build, let's use it!
2016-11-17Improved error reporting when target sysroot is missing.Robert Vally-2/+12
2016-11-10compiletest: detect nodejs binary, allow overrideMark-Simulacrum-2/+5
Allow passing a custom nodejs directory in configure.
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-10-31Changed most vec! invocations to use square bracesiirelu-37/+37
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-19Rollup merge of #37182 - alexcrichton:appveyor, r=brsonEduard-Mihai Burtescu-0/+5
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-14Add AppVeyor configuration to the repoAlex Crichton-0/+5
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-1/+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-92/+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-92/+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-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-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-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-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-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
2016-08-27Auto merge of #35674 - ahmedcharles:rpass, r=alexcrichtonbors-2/+8
Fix compiletest so it respects warnings for run-pass.
2016-08-23Update cargo bootstrap rev and add fix for cargo#3005Brian Anderson-0/+10
2016-08-22Fix compiletest so it respects warnings for run-pass.Ahmed Charles-2/+8
2016-08-15Auto merge of #35340 - michaelwoerister:incr-comp-cli-args, r=nikomatsakisbors-0/+1
Take commandline arguments into account for incr. comp. Implements the conservative strategy described in https://github.com/rust-lang/rust/issues/33727. From now one, every time a new commandline option is added, one has to specify if it influences the incremental compilation cache. I've tried to implement this as automatic as possible: One just has to added either the `[TRACKED]` or the `[UNTRACKED]` marker next to the field. The `Options`, `CodegenOptions`, and `DebuggingOptions` definitions in `session::config` show plenty of examples. The PR removes some cruft from `session::config::Options`, mostly unnecessary copies of flags also present in `DebuggingOptions` or `CodeGenOptions` in the same struct. One notable removal is the `cfg` field that contained the values passed via `--cfg` commandline arguments. I chose to remove it because (1) its content is only a subset of what later is stored in `hir::Crate::config` and it's pretty likely that reading the cfgs from `Options` would not be what you wanted, and (2) we could not incorporate it into the dep-tracking hash of the `Options` struct because of how the test framework works, leaving us with a piece of untracked but vital data. It is now recommended (just as before) to access the crate config via the `krate()` method in the HIR map. Because the `cfg` field is not present in the `Options` struct any more, some methods in the `CompilerCalls` trait now take the crate config as an explicit parameter -- which might constitute a breaking change for plugin authors.
2016-08-14Rollup merge of #35640 - ahmedcharles:dead, r=alexcrichtonEduard-Mihai Burtescu-4/+0
compiletest: Remove dead code.
2016-08-13Auto merge of #35414 - jupp0r:feature/test-threads-flag, r=alexcrichtonbors-0/+1
Add --test-threads option to test binaries This change allows parallelism of test runs to be specified by a command line flag names --test-threads in addition to the existing environment variable RUST_TEST_THREADS. Fixes #25636.
2016-08-12compiletest: Remove dead code.Ahmed Charles-4/+0
2016-08-11Always add `-Z incremental-info` to incremental compilation tests.Michael Woerister-0/+1
2016-08-11Rollup merge of #35448 - srinivasreddy:rf_compiletest, r=nikomatsakisJonathan Turner-270/+273
run rustfmt on compiletest folder in src/tools/ folder
2016-08-07Turn on new errors, json mode. Remove duplicate unicode testJonathan Turner-3/+1