about summary refs log tree commit diff
path: root/src/tools/compiletest
AgeCommit message (Collapse)AuthorLines
2020-04-22Let compiletest recognize gdb 10.xTom Tromey-3/+19
git gdb has moved to version 10. My build prints this as its --version: GNU gdb (GDB) 10.0.50.20200420-git Unfortunately this conflicts with this comment in compiletest: // We limit major to 1 digit, otherwise, on openSUSE, we parse the openSUSE version This patch changes the version parsing to follow the GNU coding standard, which accounts for both the openSUSE case as well as handling gdb 10. My debuginfo test run now says: NOTE: compiletest thinks it is using GDB with native rust support NOTE: compiletest thinks it is using GDB version 10000050 ... where previously it failed to find that gdb 10 had rust support.
2020-04-16Rollup merge of #71145 - pfmooney:illumos-triple, r=nagisaDylan DPC-0/+1
Add illumos triple This fixes rust-lang/rust#55553 and adds support for `illumos` as a `target_os` on `x86_64`. In addition to the compile spec and libstd additions, several library dependencies have been bumped in order to permit working builds of cargo and rustup for the new target. Work originally started by @jasonbking, with subsequent additions by @pfmooney and @jclulow.
2020-04-16Rollup merge of #70774 - GuillaumeGomez:clean-rustdoc-js-tools, r=ollie27Dylan DPC-1/+7
End cleanup on rustdoc-js tools Fixes #70689. It removes a lot of code, which is pretty nice. :3 We now only have one entry point and a small set of options. r? @ollie27
2020-04-14Add illumos triplePatrick Mooney-0/+1
Co-Authored-By: Jason King <jason.brian.king@gmail.com> Co-Authored-By: Joshua M. Clulow <jmc@oxide.computer>
2020-04-14Improve rustdoc js testers codeGuillaume Gomez-1/+5
2020-04-13Auto merge of #70989 - eddyb:mir-opt-32-pr-ci, r=Mark-Simulacrumbors-8/+15
ci: run mir-opt tests on PR CI also as 32-bit (for `EMIT_MIR_FOR_EACH_BIT_WIDTH`). Background: #69916 and [`src/test/mir-opt/README.md`](https://github.com/rust-lang/rust/blob/master/src/test/mir-opt/README.md): > By default 32 bit and 64 bit targets use the same dump files, which can be problematic in the presence of pointers in constants or other bit width dependent things. In that case you can add > > ``` > // EMIT_MIR_FOR_EACH_BIT_WIDTH > ``` > > to your test, causing separate files to be generated for 32bit and 64bit systems. However, if you change the output of such a test (intentionally or not), or if you add a test and it varies between 32-bit and 64-bit platforms, you have to run this command (for a x64 linux host): `./x.py test --stage 1 --target x86_64-unknown-linux-gnu --target i686-unknown-linux-gnu --bless src/test/mir-opt` Otherwise, bors trying to merge the PR will fail, since we test 32-bit targets there. But we don't on PR CI, which means there's no way the PR author would know (unless they were burnt by this already and know what to look for). This PR resolves that by running `mir-opt` tests for ~~`i686-unknown-linux-gnu`~~, on PR CI. **EDIT**: switched to `armv5te-unknown-linux-gnueabi` to work around LLVM 7 crashes (see https://github.com/rust-lang/compiler-builtins/pull/311#issuecomment-612270089), found during testing. cc @rust-lang/wg-mir-opt @rust-lang/infra
2020-04-11End cleanup on rustdoc-js toolsGuillaume Gomez-0/+2
2020-04-11compiletest: support --pass=check and --pass=build for mir-opt tests.Eduard-Mihai Burtescu-7/+14
2020-04-11compiletest: diff direction should be (-)expected -> (+)actual.Eduard-Mihai Burtescu-1/+1
2020-04-10compiletest: let config flags overwrite -A unusedRalf Jung-4/+6
2020-04-07Remove old mir-opt test format.Ana-Maria Mihalache-164/+0
2020-04-07Normalize away pairs of line:col numbers.Ana-Maria Mihalache-1/+1
2020-04-03Auto merge of #70156 - michaelwoerister:incr-cgus, r=nikomatsakisbors-1/+11
Make the rustc respect the `-C codegen-units` flag in incremental mode. This PR implements (the as of yet unapproved) major change proposal at https://github.com/rust-lang/compiler-team/issues/245. See the description there for background and rationale. The changes are pretty straightforward and should be easy to rebase if the proposal gets accepted at some point. r? @nikomatsakis cc @pnkfelix
2020-04-01compiletest: don't use `std::io::stdout()`, as it bypasses `set_print`.Eduard-Mihai Burtescu-8/+4
2020-03-31Add a test case for incremental + codegen-units interaction.Michael Woerister-1/+11
2020-03-26Enable `--bless`ing of MIR dumpsOliver Scherer-25/+114
2020-03-26Remove unused argumentOliver Scherer-18/+3
2020-03-25Auto merge of #70297 - nnethercote:clean-up-debugging-options, ↵bors-4/+3
r=michaelwoerister Clean up debugging options I found various sub-optimal things when I was looking at option handling.
2020-03-24Remove `-Z incremental`.Nicholas Nethercote-3/+3
`-C incremental` was introduced over two years ago. `-Z incremental` was kept for transitioning, but it's been long enough now that it should be ok to remove it.
2020-03-24Remove `-Z incremental-queries`.Nicholas Nethercote-1/+0
Because it uses `parse_bool` and defaults to true, it is actually impossible to set it to false. And it hasn't been experimental for some time now.
2020-03-19Fix LLVM version handling in compiletestNikita Popov-9/+23
Convert version string to integer before comparing. Otherwise we get into trouble with double digit versions ;)
2020-03-16Rollup merge of #69964 - ollie27:ci_nodejs, r=Mark-Simulacrum,GuillaumeGomezDylan DPC-1/+1
Add Node.js to PR CI image This should allow the `rustdoc-js` and `rustdoc-js-std` test suites to run automatically on PRs.
2020-03-13Allow `rustdoc-js` and `rustdoc-js-std` to use none default build dir locationOliver Middleton-1/+1
2020-03-11Rollup merge of #66472 - GuillaumeGomez:show-coverage-json, r=ollie27Mazdak Farrokhzad-1/+3
--show-coverage json The purpose of this change is to be able to use it as a tool in docs.rs in order to provide some more stats to crates' owners. Eventually even create a badge or something along the line. r? @QuietMisdreavus
2020-03-06fix various typosMatthias Krüger-2/+2
2020-03-03Add test for -Znew-llvm-pass-manager -Clto=thin -Zsanitizer=...Tomasz Miąsko-0/+18
Additionally verify that the current implementation of LLVM version check (which uses lexicographic ordering) is good enough to exclude versions before LLVM 9, where the new LLVM pass manager is unsupported.
2020-03-02Extend json detection in runtestGuillaume Gomez-1/+3
2020-02-18Rollup merge of #69205 - JohnTitor:allow-whitespaces, r=Mark-SimulacrumDylan DPC-9/+2
Allow whitespaces in revision flags Allow whitespaces in revision flags, like `// [foo]`. Fixes #69183
2020-02-16Auto merge of #67885 - tobithiel:fix_group_lint_allow_override, ↵bors-11/+28
r=Mark-Simulacrum rustc_session: allow overriding lint level of individual lints from a group Fixes #58211 and fixes rust-lang/rust-clippy#4778 and fixes rust-lang/rust-clippy#4091 Instead of hard-coding the lint level preferences (from lowest to highest precedence: `lint::Allow -> lint::Warn -> lint::Deny -> lint::Forbid`), the position of the argument in the command line gets taken into account. Examples: 1. Passing `-D unused -A unused-variables` denies everything in the lint group `unused` **except** `unused-variables` which is explicitly allowed. 1. Passing `-A unused-variables -D unused` denies everything in the lint group `unused` **including** `unused-variables` since the allow is specified before the deny (and therefore overridden by the deny). This matches the behavior that is already being used when specifying `allow`/`deny` in the source code.
2020-02-16Allow whitespaces in revision flagsYuki Okushi-9/+2
2020-02-02compiletest: error if `compile-fail` header in ui test.Tyler Lanphear-0/+3
2020-01-28Auto merge of #68533 - tmiasko:compiletest, r=nikomatsakisbors-119/+279
compiletest: Unit tests for `EarlyProps` (+ small cleanup) * Parse `EarlyProps` from a reader * Add unit tests for `EarlyProps` * Remove unused `llvm-cxxflags` option * Remove unnecessary memory allocations in `iter_header` * Update mode list displayed in `--help`
2020-01-26updatecomet-1/+1
2020-01-27compiletest: Don't load TestProps from a directoriesTomasz Miąsko-102/+106
2020-01-27compiletest: Derive Default for EarlyPropsTomasz Miąsko-8/+2
2020-01-27compiletest: Remove unused llvm-cxxflags optionTomasz Miąsko-5/+0
2020-01-27compiletest: Add unit tests for EarlyPropsTomasz Miąsko-1/+155
2020-01-27compiletest: Update mode list displayed in `--help`Tomasz Miąsko-1/+2
2020-01-27compiletest: Parse EarlyProps from a readerTomasz Miąsko-4/+10
2020-01-27compiletest: Remove unnecessary memory allocation in iter_headerTomasz Miąsko-3/+9
Replace `BufRead::lines` with `BuRead::read_line` to reduce memory allocations.
2020-01-23Auto merge of #68391 - tmiasko:compiletest-debuginfo, r=alexcrichtonbors-278/+215
compiletest: Simplify multi-debugger support Previous implementation used a single mode type to store various pieces of otherwise loosely related information: * Whether debuginfo mode is in use or not. * Which debuggers should run in general. * Which debuggers are enabled for particular test case. The new implementation introduces a separation between those aspects. There is a single debuginfo mode parametrized by a debugger type. The debugger detection is performed first and a separate configuration is created for each detected debugger. The test cases are gathered independently for each debugger which makes it trivial to implement support for `ignore` / `only` conditions. Functional changes: * A single `debuginfo` entry point (rather than `debuginfo-cdb`, `debuginfo-gdb+lldb`, etc.). * Debugger name is included in the test name. * Test outputs are placed in per-debugger directory. * Fixed spurious hash mismatch. Previously, the config mode would change from `DebugInfoGdbLldb` (when collecting tests) to `DebugInfoGdb` or `DebugInfoLldb` (when running them) which would affect hash computation. * PYTHONPATH is additionally included in gdb hash. * lldb-python and lldb-python-dir are additionally included in lldb hash.
2020-01-23compiletest: Do not run debuginfo tests with gdb on msvc targetsTomasz Miąsko-0/+4
2020-01-21Account for run-make tests in `is_up_to_date`Jonas Schievink-1/+2
2020-01-20compiletest: Simplify multi-debugger supportTomasz Miąsko-278/+211
Previous implementation used a single mode type to store various pieces of otherwise loosely related information: * Whether debuginfo mode is in use or not. * Which debuggers should run in general. * Which debuggers are enabled for particular test case. The new implementation introduces a separation between those aspects. There is a single debuginfo mode parametrized by a debugger type. The debugger detection is performed first and a separate configuration is created for each detected debugger. The test cases are gathered independently for each debugger which makes it trivial to implement support for `ignore` / `only` conditions. Functional changes: * A single `debuginfo` entry point (rather than `debuginfo-cdb`, `debuginfo-gdb+lldb`, etc.). * Debugger name is included in the test name. * Test outputs are placed in per-debugger directory. * Fixed spurious hash mismatch. Previously, the config mode would change from `DebugInfoGdbLldb` (when collecting tests) to `DebugInfoGdb` or `DebugInfoLldb` (when running them) which would affect hash computation. * PYTHONPATH is additionally included in gdb hash. * lldb-python and lldb-python-dir are additionally included in lldb hash.
2020-01-15Auto merge of #68248 - JohnTitor:rollup-x0kml5f, r=JohnTitorbors-4/+2
Rollup of 12 pull requests Successful merges: - #67784 (Reset Formatter flags on exit from pad_integral) - #67914 (Don't run const propagation on items with inconsistent bounds) - #68141 (use winapi for non-stdlib Windows bindings) - #68211 (Add failing example for E0170 explanation) - #68219 (Untangle ZST validation from integer validation and generalize it to all zsts) - #68222 (Update the wasi-libc bundled with libstd) - #68226 (Avoid calling tcx.hir().get() on CRATE_HIR_ID) - #68227 (Update to a version of cmake with windows arm64 support) - #68229 (Update iovec to a version with no winapi dependency) - #68230 (Update libssh2-sys to a version that can build for aarch64-pc-windows…) - #68231 (Better support for cross compilation on Windows.) - #68233 (Update compiler_builtins with changes to fix 128 bit integer remainder for aarch64 windows.) Failed merges: r? @ghost
2020-01-15Rollup merge of #68141 - euclio:replace-bindings-with-winapi, r=alexcrichtonYuki Okushi-4/+2
use winapi for non-stdlib Windows bindings
2020-01-14Update rustfix in compiletest.Eric Huss-1/+1
2020-01-12convert match statement to if letTobias Thiel-5/+2
2020-01-11use winapi for non-stdlib Windows bindingsAndy Russell-4/+2
2020-01-11Revert "Rollup merge of #67727 - Dylan-DPC:stabilise/remove_item, ↵Lzu Tao-0/+1
r=alexcrichton" This reverts commit 4ed415b5478c74094c2859abfddb959588cd6bb1, reversing changes made to 3cce950743e8aa74a4378dfdefbbc80223a00865.