| Age | Commit message (Collapse) | Author | Lines |
|
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.
|
|
compiletest: make path normalization smarter
Fixes #59109.
|
|
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.
|
|
This adds some missing documentation for rustfix related things and adds
a test for the `is_test` function.
|
|
|
|
Not all suggestions come from lints
|
|
|
|
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.
|
|
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
|
|
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...)
|
|
|
|
|
|
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
|
|
|
|
r=QuietMisdreavus,Mark-Simulacrum
Add rustdoc JS non-std tests
@QuietMisdreavus: You asked it, here it is!
r? @QuietMisdreavus
|
|
|
|
|
|
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
|
|
|
|
|
|
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!
|
|
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.
|
|
|
|
|
|
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
|
|
|
|
Correctly set filetime for copied LLVM
This also makes compiletest no longer always retest everything.
Fixes #57864
|
|
This also makes compiletest no longer always retest everything.
|
|
`compile-flags: -Copt-level` will avoid adding -O. Similarly for -g and
-Cdebuglevel.
|
|
|
|
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.
|
|
Save quite a few syscalls and avoiding pushing in a loop.
|
|
Found with `git grep -P '\b([a-z]+)\s+\1\b'`
|
|
|
|
address some FIXME whose associated issues were marked as closed
part of #44366
|
|
Rollup of 25 pull requests
Successful merges:
- #56802 (Add DoubleEndedIterator::nth_back)
- #56909 (static eval: Do not ICE on layout size overflow)
- #56914 (Ignore ui/target-feature-gate on sparc, sparc64, powerpc, powerpc64 and powerpc64le)
- #56919 (Remove a wrong multiplier on relocation offset computation)
- #56933 (Add --progress to git submodule commands in x.py)
- #56936 (rename div_euc -> div_euclid, and mod_euc -> rem_euclid)
- #56941 (deny intra-doc link resolution failures in libstd)
- #56945 (Fix rustdoc-js tests)
- #56967 (Replace current crate's searchIndex when regenerating)
- #56970 (Mem uninit doc ptr drop)
- #56973 (make basic CTFE tracing available on release builds)
- #56979 (Adding unwinding support for x86_64_fortanix_unknown_sgx target.)
- #56981 (miri: allocation is infallible)
- #56984 (A few tweaks to dropck_outlives)
- #56989 (Fix compiletest `trim` deprecation warnings)
- #56992 (suggest similar lint names for unknown lints)
- #57002 (Stabilize Vec(Deque)::resize_with)
- #57011 (rustdoc: add new CLI flag to load static files from a different location)
- #57027 (Optimize away a move)
- #57034 (Inline tweaks)
- #57039 (Update migrate warning wording.)
- #57040 (Fix feature gate to point to 1.32.0 for `path_from_str`)
- #57049 (Stabilize #[repr(packed(N))])
- #57050 (Fixed typo in HashMap documentation)
- #57052 (Fix stabilization version numbers (exhaustive_integer_patterns + macro_literal_matcher))
|
|
r=Mark-Simulacrum
Fix compiletest `trim` deprecation warnings
None
|
|
Use compiletest timestamp to check if the tests should be rerun.
An attempt to fix #56280 by checking if timestamps of compile test files are older than the timestamp of the stamp file.
?r nagisa
|
|
|
|
|
|
Add targets thumbv7neon-linux-androideabi and thumbv7neon-unknown-linux-gnueabihf
These two targets enable both thumb-mode and NEON for ARMv7 CPUs.
This another attempt at #49902, which cannot be reopened. Between that PR and this one, some subrepos with C code whose build systems were failing went away.
|
|
|
|
|
|
There is a FIXME inside that function and I think the unit tests can be
helpful to resolve it without breaking anything else.
|
|
|
|
thumbv7neon-unknown-linux-gnueabihf
These two targets enable both thumb-mode and NEON for ARMv7 CPUs.
|
|
* Update bootstrap compiler
* Update version to 1.33.0
* Remove some `#[cfg(stage0)]` annotations
Actually updating the version number is blocked on updating Cargo
|
|
Various minor/cosmetic improvements to code
r? @Centril 😄
|
|
|
|
This commit replaces many usages of `File::open` and reading or writing
with `fs::read_to_string`, `fs::read` and `fs::write`. This reduces code
complexity, and will improve performance for most reads, since the
functions allocate the buffer to be the size of the file.
I believe that this commit will not impact behavior in any way, so some
matches will check the error kind in case the file was not valid UTF-8.
Some of these cases may not actually care about the error.
|