about summary refs log tree commit diff
path: root/src/tools/compiletest
AgeCommit message (Collapse)AuthorLines
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
2016-08-07Add --test-threads option to test binariesJupp Müller-0/+1
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-07run rustfmt on compiletest folder in src/tools/ folderSrinivas Reddy Thatiparthy-270/+273
2016-08-02run mir opt test with mir-opt-level=3 so they fireScott A Carr-0/+2
2016-07-20add mir optimization tests, dump-mir-dir optionScott A Carr-2/+124
2016-07-02Rollup merge of #34551 - GuillaumeGomez:runtest_improvement, r=alexcrichtonManish Goregaokar-8/+12
Improve runtest output
2016-06-30Improve runtest outputggomez-8/+12
It now prints only unexpected errors and expected errors which weren't found
2016-06-29Rollup merge of #34499 - michaelwoerister:lldb-blacklist, r=alexcrichtonManish Goregaokar-0/+15
Disable debuginfo tests for a given blacklist of LLDB versions Anyone having trouble with most LLDB tests failing on OSX, please report your LLDB version here so I can add it to the blacklist. Blacklisted versions so far: * lldb-350.* cc @rust-lang/tools cc @tedhorst @indutny @jonathandturner (people from the original bug report) Fixes #32520.
2016-06-27Disable debuginfo tests for a given blacklist of LLDB versionsMichael Woerister-0/+15
2016-06-23Move errors from libsyntax to its own crateJonathan Turner-1/+1
2016-05-28Auto merge of #33848 - alexcrichton:android-gdb-sysroot, r=michaelwoeristerbors-5/+6
test: Use `set sysroot` for more NDK compatibility Recent versions of the Android NDK no longer ship debuggers like `arm-linux-androideabi-gdb`, but instead one prebuilt binary `gdb`. We can symlink this into place at least to get our detection still working, but it now needs to be told what the sysroot is so it can correctly do... something. Long story short, tests didn't pass with this change and after this change they pass.
2016-05-25trans: save metadata even with -Z no-trans.Eduard Burtescu-0/+7
2016-05-24test: Use `set sysroot` for more NDK compatibilityAlex Crichton-5/+6
Recent versions of the Android NDK no longer ship debuggers like `arm-linux-androideabi-gdb`, but instead one prebuilt binary `gdb`. We can symlink this into place at least to get our detection still working, but it now needs to be told what the sysroot is so it can correctly do... something. Long story short, tests didn't pass with this change and after this change they pass.
2016-05-18Auto merge of #33688 - jonathandturner:fix_old_school, r=nikomatsakisbors-21/+33
Fix for old school error issues, improvements to new school This PR: * Fixes some old school error issues, specifically #33559, #33543, #33366 * Improves wording borrowck errors with match patterns * De-emphasize multi-line spans, so we don't color the single source character when we're trying to say "span starts here" * Rollup of #33392 (which should help fix #33390) r? @nikomatsakis
2016-05-18pass revision and incr_comp directory to auxbuildNiko Matsakis-10/+40
This is needed for incremental compilation harness to support cross-crate testing. Also support cfg for typechecking prettyprint
2016-05-17Improve a few errors and fix #33366Jonathan Turner-19/+28
2016-05-17De-emph minimized spans, add better debugging outputJonathan Turner-7/+10
2016-05-16pacify the mercilous tidyNiko Matsakis-1/+2
2016-05-13dump outputs, diff on UI test failureNiko Matsakis-14/+98
2016-05-13add UI testing frameworkNiko Matsakis-1/+90
2016-05-08Auto merge of #33414 - Nercury:master, r=alexcrichtonbors-4/+4
Add armv7-linux-androideabi target This PR adds `armv7-linux-androideabi` target that matches `armeabi-v7a` Android ABI, ~~downscales `arm-linux-androideabi` target to match `armeabi` Android ABI~~ (TBD later if needed). This should allow us to get the best performance from every [Android ABI level](http://developer.android.com/ndk/guides/abis.html). Currently existing target `arm-linux-androideabi` started gaining features out of the supported range of [android `armeabi`](http://developer.android.com/ndk/guides/abis.html). While android compiler does not use a different target for later supported `armv7` architecture, it has distinct ABI name `armeabi-v7a`. We decided to add rust target `armv7-linux-androideabi` to match it. Note that `NEON`, `VFPv3-D32`, and `ThumbEE` instruction sets are not added, because not all android devices are guaranteed to support all or some of these, and [their availability should be checked at runtime](http://developer.android.com/ndk/guides/abis.html#v7a). ~~This reduces performance of existing `arm-linux-androideabi` and may make it _much_ slower (we are talking more than order of magnitude in some random ad-hoc fp benchmark that I did).~~ Part of #33278.
2016-05-07Always remove tmp/partitioning-tests before check-codegen-units to work ↵Eduard Burtescu-0/+5
around #33435.
2016-05-07Check for both arm and armv7 android targets in runtest.Nerijus Arlauskas-4/+4
2016-05-06s/aux/auxiliary, because windowsNiko Matsakis-3/+3
For legacy reasons (presumably), Windows does not permit files name aux.
2016-05-06kill the old auxiliary directoryNiko Matsakis-5/+0
2016-05-06move auxiliary builds to a test-relative `aux`Niko Matsakis-44/+61
Instead of finding aux-build files in `auxiliary`, we now search for an `aux` directory relative to the test. So if your test is `compile-fail/foo.rs`, we would look in `compile-fail/aux`. Similarly, we ignore the `aux` directory when searching for tets.
2016-05-06tweak incremental commentNiko Matsakis-9/+9
2016-05-06move free functions in runtest into methodsNiko Matsakis-1732/+1692
Also, promote the for loop iterating over revisions out into the top-level method, whereas before it was pushed down instead each test's method. Not entirely clear that this was the right call.
2016-05-06use methods for EarlyProps and TestPropsNiko Matsakis-214/+220