summary refs log tree commit diff
path: root/src/tools/compiletest
AgeCommit message (Collapse)AuthorLines
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-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.
2020-01-11Rollup merge of #68019 - cuviper:in-tree-compiletest, r=Mark-SimulacrumYuki Okushi-1/+3
Build compiletest with in-tree libtest This updates compiletest to build in `Mode::ToolStd`, using the locally-built crates for `std` and especially `test`. This way we're immune to unstable differences in the bootstrap compiler crates, whether that's a prior-release stage0 or a current release local rebuild. Fixes #59264. As a minor cleanup, this also removes the unused `llvm_tools` flag.
2020-01-10Rollup merge of #68006 - infinity0:master, r=nikomatsakisYuki Okushi-0/+1
Recognise riscv64 in compiletest Otherwise tests can't run, fails with "Cannot determine Architecture from triple"
2020-01-09compiletest: Do not deduplicate diagnostics in UI testsVadim Petrochenkov-0/+2
2020-01-08Comment on allowing only feature(test) in compiletestJosh Stone-1/+3
2020-01-08Recognise riscv64 in compiletestXimin Luo-0/+1
2020-01-06remove usage of feature gatedylan_DPC-1/+0
2020-01-04tools/compiletest: fix argument ordering for allowing unused in ui & ↵Tobias Thiel-11/+31
compile-fail tests
2019-12-30Support `-Z ui-testing=yes/no`Vadim Petrochenkov-18/+2
2019-12-27Teach `compiletest` to ignore platform triplesEsteban Küber-0/+1
2019-12-22Format the worldMark Rousskov-988/+520
2019-12-21refactor & address review commentsMazdak Farrokhzad-57/+103
2019-12-21rework run-fail and support check,build-failMazdak Farrokhzad-23/+54
2019-12-21make `--pass check` work with `// run-fail` testsMazdak Farrokhzad-2/+6
2019-12-18Fix compiletest fallout from stage0 bumpMark Rousskov-0/+1
2019-12-09compiletest: add aux-crate directiveEric Huss-93/+95
2019-12-09Add options to --extern flag.Eric Huss-6/+6
2019-11-21Give name to full regex captureDylan MacKenzie-2/+3
2019-11-21Allow multiple cfgs per comment in "revisions:" testsDylan MacKenzie-42/+47
The `//[X]~` syntax filters errors for tests that are run across multiple cfgs with `// revisions:`. This commit extends that syntax to accept `//[X,Y]~`, which will match multiple cfgs to the same error annotation. This is functionally the same as writing two comments, `//[X]~` and `//[Y]~`, but can fit on a single line.
2019-11-20Rollup merge of #66060 - traxys:test_65401, r=michaelwoeristerMazdak Farrokhzad-4/+37
Making ICEs and test them in incremental This adds: - A way to make the compiler ICE - A way to check for ICE in `cfail` tests with `should-ice` - A regression test for issue #65401 I am not sure the attribute added `should-ice` is the best for this job
2019-11-15Move JSON emitter to rustc_errorsMark Rousskov-1/+1
2019-11-14Rollup merge of #66369 - tmiasko:compiletest-stamp, r=Mark-SimulacrumYuki Okushi-72/+90
compiletest: Obtain timestamps for common inputs only once Obtain timestamps for common inputs (e.g., libraries in run-lib path, or sources in `src/tool/compiletest/`) only once and reuse the result, instead of repeating the work for each test case.
2019-11-13compiletest: Avoid double negation in ignore conditionTomasz Miąsko-5/+6
2019-11-13compiletest: Obtain timestamps for common inputs only onceTomasz Miąsko-70/+87
Obtain timestamps for common inputs (e.g., libraries in run-lib path, or sources in `src/tool/compiletest/`) only once and reuse the result, instead of repeating the work for each test case. No functional changes intended.
2019-11-13Improve error message in make_testsPhilip Munksgaard-1/+1
We should use expect instead of unwrap. This commit is based on https://github.com/laumann/compiletest-rs/pull/58. Thanks to @colin-kiegel.
2019-11-12Compiletest bump to stage0 bootstrap libtestMark Rousskov-0/+2