about summary refs log tree commit diff
path: root/src/tools/compiletest
AgeCommit message (Collapse)AuthorLines
2019-08-131. support crt-staticBaoshan Pang-3/+3
2. change armv7_wrs_vxworks to armv7_wrs_vxworks_eabihf. 3. use wr-** instead of vx-** 4. set PIE to false 5. code cleanup
2019-08-02compiletest: Unconfigure tests during normal buildVadim Petrochenkov-173/+183
2019-07-28Remove lint annotations in specific crates that are already enforced by ↵Vadim Petrochenkov-1/+0
rustbuild Remove some random unnecessary lint `allow`s
2019-07-27Remove run-pass test suitesVadim Petrochenkov-18/+11
2019-07-22tests: Require run-pass tests without annotations to run successfully againVadim Petrochenkov-1/+3
2019-07-16Add supporting for vxWorksBaoshan Pang-0/+13
r? @alexcrichton
2019-07-06Remove compile-pass from compiletestYuki Okushi-3/+0
Also change annotations in some tests
2019-06-26Hash force_pass_mode when config.mode == Pretty.Mazdak Farrokhzad-1/+1
2019-06-24Address review comments.Mazdak Farrokhzad-23/+20
2019-06-24compiletest: support '--pass check' and '// ignore-pass'.Mazdak Farrokhzad-22/+89
2019-06-16compiletest: Move pass mode update into a separate functionVadim Petrochenkov-32/+36
2019-06-16compiletest: Remove `skip-codegen`Vadim Petrochenkov-5/+1
2019-06-16compiletest: Validate pass modes harderVadim Petrochenkov-7/+34
2019-06-16compiletest: Introduce `// {check,build,run}-pass` pass modesVadim Petrochenkov-48/+31
2019-05-20Address CDB review feedbackMaulingMonkey-32/+26
- Don't add path_buf_capacity feature. - Convert `find_cdb` to early return style, reducing indentation - Simplify `compute_stamp_hash` for CDB to just hash it's path, if any.
2019-05-20Fix CDB support tidy check line length failures.MaulingMonkey-5/+6
2019-05-19Add basic CDB support to debuginfo compiletest s, to help catch `*.natvis` ↵MaulingMonkey-23/+190
regressions, like those fixed in #60687. Several Microsoft debuggers (VS, VS Code, WinDbg, CDB, ...) consume the `*.natvis` files we embed into rust `*.pdb` files. While this only tests CDB, that test coverage should help for all of them. CHANGES src\bootstrap - test.rs: Run CDB debuginfo tests on MSVC targets src\test\debuginfo - issue-13213.rs: CDB has trouble with this, skip for now (newly discovered regression?) - pretty-std.rs: Was ignored, re-enable for CDB only to start with, add CDB tests. - should-fail.rs: Add CDB tests. src\tools\compiletest: - Added "-cdb" option - Added Mode::DebugInfoCdb ("debuginfo-cdb") - Added run_debuginfo_cdb_test[_no_opt] - Renamed Mode::DebugInfoBoth -> DebugInfoGdbLldb ("debuginfo-gdb+lldb") since it's no longer clear what "Both" means. - Find CDB at the default Win10 SDK install path "C:\Program Files (x86)\Windows Kits\10\Debugger\*\cdb.exe" - Ignore CDB tests if CDB not found. ISSUES - `compute_stamp_hash`: not sure if there's any point in hashing `%ProgramFiles(x86)%` - `OsString` lacks any `*.natvis` entries (would be nice to add in a followup changelist) - DSTs (array/string slices) which work in VS & VS Code fail in CDB. - I've avoided `Mode::DebugInfoAll` as 3 debuggers leads to pow(2,3)=8 possible combinations. REFERENCE CDB is not part of the base Visual Studio install, but can be added via the Windows 10 SDK: https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk Installing just "Debugging Tools for Windows" is sufficient. CDB appears to already be installed on appveyor CI, where this changelist can find it, based on it's use here: https://github.com/rust-lang/rust/blob/0ffc57311030a1930edfa721fe57d0000a063af4/appveyor.yml#L227 CDB commands and command line reference: https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-reference
2019-05-17Auto merge of #60171 - matthewjasper:full-nll-compare-mode, r=pnkfelixbors-2/+1
Use -Zborrowck=mir for NLL compare mode closes #56993 r? @pnkfelix
2019-05-17Rollup merge of #60805 - euclio:filetime-dep, r=Mark-SimulacrumMazdak Farrokhzad-14/+17
remove compiletest's dependency on `filetime`
2019-05-13remove compiletest's dependency on `filetime`Andy Russell-14/+17
2019-05-13Remove bitrig support from rustMarcel Hellwig-6/+2
2019-05-12Change compare mode to use -Zborrowck=mirMatthew Jasper-2/+1
2019-05-10Make tests compatible with musl hostMateusz Mikuła-1/+14
2019-05-09remove unneeded `extern crate`s from build toolsAndy Russell-10/+12
2019-05-08Auto merge of #60378 - froydnj:apple-target-modifications, r=michaelwoeristerbors-0/+11
conditionally modify darwin targets to macosx targets with versions We need this behavior so that Rust LLVM IR objects match the target triple for Clang LLVM IR objects. This matching then convinces the linker that yes, you really can do cross-language LTO with objects from different compilers. The newly-added tests seem to pass locally on x86_64-unknown-linux-gnu. I haven't done a full test run or tried the new compiler in an cross-language LTO setup yet.
2019-05-07add negative tests for OS X LLVM target changesNathan Froyd-0/+11
2019-05-07compiletest: uniformly normalize paths, so they all work on all platforms.Eduard-Mihai Burtescu-17/+15
2019-05-07rustc: rename -Z emit-directives to -Z emit-artifact-notifications and ↵Eduard-Mihai Burtescu-5/+5
simplify the output.
2019-05-07compiletest: only use `make_exe_name` for tests that end up being executed.Eduard-Mihai Burtescu-5/+21
2019-04-30Auto merge of #60262 - michaelwoerister:pgo-preinlining-pass, r=alexcrichtonbors-1/+14
PGO: Add a run-make test that makes sure that PGO profiling data is used by the compiler during optimizations. From the tests comment section: ``` # This test makes sure that PGO profiling data leads to cold functions being # marked as `cold` and hot functions with `inlinehint`. # The test program contains an `if` were actual execution only ever takes the # `else` branch. Accordingly, we expect the function that is never called to # be marked as cold. ``` r? @alexcrichton
2019-04-29Auto merge of #60006 - nnethercote:json-for-pipelining, r=alexcrichtonbors-10/+17
In JSON output, emit a directive after metadata is generated. To implement pipelining, Cargo needs to know when metadata generation is finished. This is done via a new JSON "directive". Unfortunately, metadata file writing currently occurs very late during compilation, so pipelining won't produce a speed-up. Moving metadata file writing earlier will be a follow-up. r? @alexcrichton
2019-04-30In JSON output, emit a directive after metadata is generated.Nicholas Nethercote-10/+17
To implement pipelining, Cargo needs to know when metadata generation is finished. This commit adds code to do that. Unfortunately, metadata file writing currently occurs very late during compilation, so pipelining won't produce a speed-up. Moving metadata file writing earlier will be a follow-up. The change involves splitting the existing `Emitter::emit` method in two: `Emitter::emit_diagnostic` and `Emitter::emit_directive`. The JSON directives look like this: ``` {"directive":"metadata file written: liba.rmeta"} ``` The functionality is behind the `-Z emit-directives` option, and also requires `--error-format=json`.
2019-04-29compiletest: Make LLVM's bin directory available to run-make-fulldeps tests.Michael Woerister-1/+10
2019-04-26compiletest: Make the LLVM FileCheck tool available to run-make tests.Michael Woerister-0/+4
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