about summary refs log tree commit diff
path: root/src/tools/compiletest
AgeCommit message (Collapse)AuthorLines
2019-04-25ignore-tidy-filelength on all files with greater than 3000 linesvarkor-0/+2
2019-04-25Rollup merge of #60038 - michaelwoerister:pgo-updates-2, r=alexcrichtonMazdak Farrokhzad-0/+21
Add codegen test for PGO instrumentation. This PR adds a codegen test that makes sure that LLVM actually generates instrumentation code when we enable PGO instrumentation in `rustc`. The second commit updates a test case to the new commandline option syntax introduced in #59874. Without the fix the test still works, but it confusingly creates a directory called `test.profraw`, which usually is the name of the _file_ where profiling data is collected.
2019-04-22update tests for migrate mode by defaultMatthew Jasper-2/+3
2019-04-18compiletest: Allow for tests requiring profiler-rt or sanitizer-rt support.Michael Woerister-0/+21
2019-04-17Rollup merge of #59128 - oli-obk:colorful_json, r=mark-i-m,eddybMazdak Farrokhzad-45/+8
Emit ansi color codes in the `rendered` field of json diagnostics cc @ljedrz Implemented for https://github.com/rust-lang/rust/pull/56595#issuecomment-447645115 (x.py clippy)
2019-04-17bump bootstrap; remove redundant 'use libc;' on macOS.Mazdak Farrokhzad-1/+0
2019-04-17bump bootstrap; fix compiletest wrt. exclude_should_panicMazdak Farrokhzad-0/+1
2019-04-16Auto merge of #59769 - RalfJung:compiletest-normalization, r=alexcrichtonbors-1/+2
compiletest normalization: preserve non-JSON lines such as ICEs Currently, every non-JSON line from stderr gets normalized away when compiletest normalizes the output. In particular, ICEs get normalized to the empty output. That does not seem desirable, so this changes normalization to preserve non-JSON lines instead. Also see https://github.com/laumann/compiletest-rs/issues/169: because of that bug, Miri currently *looks* green in the toolstate, but some tests ICE. That same bug is likely no longer present in latest compiletest because the error code gets checked separately, but it still seems like a good idea to also make sure that ICEs are considered stderr output: This change found an accidental user-visible `error!` in CTFE validation (fixed), and a non-deterministic panic when there are two `main` symbols (not fixed, no idea where this comes from). Both got missed before because non-JSON output got ignored.
2019-04-16Auto merge of #59990 - bjorn3:nicer_compiletest_errors, r=alexcrichtonbors-1/+3
Use resume_unwind instead of panic!() for nicer compiletest errors cc https://github.com/rust-lang/rust/pull/58783#issuecomment-477287606
2019-04-15Use resume_unwind instead of panic!() for nicer compiletest errorsbjorn3-1/+3
2019-04-14Fix typo in commentAaron Hill-1/+1
2019-04-14Fix Windows dll name formatAaron Hill-7/+7
2019-04-14Handle --extern-private properly on muslAaron Hill-8/+35
On musl (and some other platforms), compiletest ends up creating a static rlib (instead of a dylib) when building 'aux-build' crates. This commit changes the '--extern-private' path computed by compiletest to properly take this into account
2019-04-14Refactor structure of ExternEntryAaron Hill-0/+1
2019-04-14compiletest normalization: preserve non-JSON lines such as ICEsRalf Jung-1/+2
2019-04-14Properly parse '--extern-private' with name and pathAaron Hill-0/+30
2019-04-12Rollup merge of #59806 - phansch:compiletest_docs2, r=oli-obkMazdak Farrokhzad-1/+5
compiletest: Improve no_prefer_dynamic docs This adds some extra docs for the `no-prefer-dynamic` header. And also a `s/must_compile_successfully/compile_pass`. `must_compile_successfully` has been renamed to `compile_pass` at some point in the past and this comment was still referring to the old name.
2019-04-08compiletest: Improve no_prefer_dynamic docsPhilipp Hansch-1/+5
This adds some extra docs for the `no-prefer-dynamic` header. And also a `s/must_compile_successfully/compile_pass`. `must_compile_successfully` has been renamed to `compile_pass` at some point in the past and this comment was still referring to the old name.
2019-04-03rustfix coverage: Skip UI tests with non-json error-formatPhilipp Hansch-2/+5
When using the `rustfix-coverage` flag, some tests currently fail because they define a different error-format than `json`. The current implementation crashes when encountering those tests. Since we don't care about non-json test output when collecting the coverage data, we handle those tests by returning an empty `Vec` instead.
2019-04-02Don't dump diagnostics json if not absolutely necessaryOliver Scherer-5/+8
2019-04-02Remove workaround code for a closed issueOliver Scherer-40/+0
2019-03-28Rollup merge of #59408 - euclio:compiletest-normalization, r=oli-obkMazdak Farrokhzad-5/+98
compiletest: make path normalization smarter Fixes #59109.
2019-03-28Rollup merge of #59398 - phansch:rustfix_coverage, r=oli-obkMazdak Farrokhzad-1/+51
Add a way to track Rustfix UI test coverage This came out of the first Rustfix WG meeting. One of the goals is to enable Rustfix tests for all UI tests that trigger lints with `MachineApplicable` suggestions. In order to do that we first want to create a tracking issue that lists all files with missing `// run-rustfix` headers. This PR adds a `--rustfix-coverage` flag to `./x.py` and compiletest to list the files with the missing headers in `/tmp/rustfix_missing_coverage.txt`. From that file we can create the tracking issue and at some point also enforce the `// run-rustfix` flag on UI tests with `MachineApplicable` lints.
2019-03-26Improve some compiletest documentationPhilipp Hansch-3/+20
This adds some missing documentation for rustfix related things and adds a test for the `is_test` function.
2019-03-25Save coverage file in build_base path, not /tmpPhilipp Hansch-6/+10
2019-03-25s/lints/diagnosticsPhilipp Hansch-2/+2
Not all suggestions come from lints
2019-03-25compiletest: make path normalization smarterAndy Russell-5/+98
2019-03-24Add a way to track Rustfix UI test coveragePhilipp Hansch-1/+47
This came out of the first Rustfix WG meeting. One of the goals is to enable Rustfix tests for all UI tests that trigger lints with `MachineApplicable` suggestions. In order to do that we first want to create a tracking issue that lists all files with missing `// run-rustfix` headers. This PR adds a `--rustfix-coverage` flag to `./x.py` and compiletest to list the files with the missing headers in `/tmp/rustfix_missing_coverage.txt`. From that file we can create the tracking issue and at some point also enforce the `// run-rustfix` flag on UI tests with `MachineApplicable` lints.
2019-03-20Auto merge of #58791 - denzp:asm-compile-tests, r=alexcrichtonbors-9/+68
Introduce assembly tests suite The change introduces a new test suite - **Assembly** tests. The motivation behind this is an ability to perform end-to-end codegen testing with LLVM backend. Turned out, NVPTX backend sometimes missing common Rust features (`i128` and libcalls in the past, and still full atomics support) due to different reasons. Prior to this change, basic NVPTX assembly tests were implemented within `run-make` suite. Now, it's easier to write additional and maintain existing tests for the target. cc @gnzlbg @peterhj cc @eddyb I adjusted mangling scheme expectation, so there is no need to change the tests for #57967
2019-03-17Auto merge of #59250 - bovinebuddha:filter_ui_revision_tests, r=petrochenkovbors-1/+1
Filter ui revision tests Updates UI test output filtering to also filter away test annotations for revisions: Previously filtered: //~ ERROR [XXXX] Now also filters: //[revision]~ ERROR [XXXX] I reckon, if we have the one, we should have the other for consistency, its lack was probably an oversight (the existence of revision testing is not really well documented...)
2019-03-17compiletest: Filter test annotations from UI test output for revision testsMathias Blikstad-1/+1
2019-03-16Merge remote-tracking branch 'upstream/master' into asm-compile-testsDenys Zariaiev-0/+8
2019-03-16Rollup merge of #58941 - wzssyqa:master, r=alexcrichtonkennytm-0/+8
MIPS: add r6 support MIPS r6 is quite different with the previous version. It use some new target triples: mipsisa32r6-unknown-linux-gnu mipsisa32r6el-unknown-linux-gnu mipsisa64r6-unknown-linux-gnuabi64 mipsisa64r6el-unknown-linux-gnuabi64 This patch has been tested with Debian Port for mips64r6el, and the support of these triples also is included in llvm: https://reviews.llvm.org/rGe58c45a695f39004710b6ce940d489fee800dbd3
2019-03-13Merge remote-tracking branch 'upstream/master' into asm-compile-testsDenys Zariaiev-3/+36
2019-03-12Auto merge of #58330 - GuillaumeGomez:rustdoc-js-non-std, ↵bors-3/+30
r=QuietMisdreavus,Mark-Simulacrum Add rustdoc JS non-std tests @QuietMisdreavus: You asked it, here it is! r? @QuietMisdreavus
2019-03-11compiletest: Filter away test annotations from UI test outputVadim Petrochenkov-0/+6
2019-03-06Improve codeGuillaume Gomez-1/+4
2019-03-05MIPS: add r6 supportYunQiang Su-0/+8
MIPS r6 is quite different with the previous version. It use some new target triples: mipsisa32r6-unknown-linux-gnu mipsisa32r6el-unknown-linux-gnu mipsisa64r6-unknown-linux-gnuabi64 mipsisa64r6el-unknown-linux-gnuabi64 This patch has been tested with Debian Port for mips64r6el, and the support of these triples also is included in llvm: https://reviews.llvm.org/rGe58c45a695f39004710b6ce940d489fee800dbd3
2019-02-28Move rustdoc-js testing into compiletestGuillaume Gomez-4/+28
2019-02-27Introduce assembly testsDenys Zariaiev-9/+68
2019-02-12Auto merge of #58341 - alexreg:cosmetic-2-doc-comments, r=steveklabnikbors-26/+26
Cosmetic improvements to doc comments This has been factored out from https://github.com/rust-lang/rust/pull/58036 to only include changes to documentation comments (throughout the rustc codebase). r? @steveklabnik Once you're happy with this, maybe we could get it through with r=1, so it doesn't constantly get invalidated? (I'm not sure this will be an issue, but just in case...) Anyway, thanks for your advice so far!
2019-02-11use ignore directives for run-make testsAndy Russell-0/+9
This makes the tests easier to read, and makes it possible to tell which tests aren't being run on the host platform. Fixes #56704.
2019-02-10tools: doc commentsAlexander Regueiro-26/+26
2019-02-04Transition compiletest to Rust 2018Philipp Hansch-47/+39
2019-01-31Auto merge of #57514 - michaelwoerister:xlto-tests, r=alexcrichtonbors-0/+24
compiletest: Support opt-in Clang-based run-make tests and use them for testing xLTO. Some cross-language run-make tests need a Clang compiler that matches the LLVM version of `rustc`. Since such a compiler usually isn't available these tests (marked with the `needs-matching-clang` directive) are ignored by default. For some CI jobs we do need these tests to run unconditionally though. In order to support this a `--force-clang-based-tests` flag is added to compiletest. If this flag is specified, `compiletest` will fail if it can't detect an appropriate version of Clang. @rust-lang/infra The PR doesn't yet enable the tests yet. Do you have any recommendation for which jobs to enable them? cc #57438 r? @alexcrichton
2019-01-28Use multiple threads by default. Limits tests to one thread. Do some renaming.John Kåre Alsaker-0/+3
2019-01-27Auto merge of #57871 - Mark-Simulacrum:fix-compiletest-stamp, r=oli-obkbors-20/+37
Correctly set filetime for copied LLVM This also makes compiletest no longer always retest everything. Fixes #57864
2019-01-25Correctly set filetime for copied LLVMMark Rousskov-20/+37
This also makes compiletest no longer always retest everything.
2019-01-24Support revisions for codegen testsSimonas Kazlauskas-15/+59
`compile-flags: -Copt-level` will avoid adding -O. Similarly for -g and -Cdebuglevel.
2019-01-17compiletest: Simplify handling of Clang-based tests.Michael Woerister-90/+14