summary refs log tree commit diff
path: root/src/tools/tidy
AgeCommit message (Collapse)AuthorLines
2018-05-30Replace libbacktrace with a submoduleAlex Crichton-0/+1
While we're at it update the `backtrace` crate from crates.io. It turns out that the submodule's configure script has gotten a lot more finnicky as of late so also switch over to using the `cc` crate manually which allows to avoid some hacks around the configure script as well
2018-05-29Whitelist datafrog on tidySantiago Pastorino-0/+1
2018-05-27Ensure every unstable feature has a tracking issue.kennytm-6/+29
2018-05-26Rollup merge of #51047 - spastorino:use_polonius_engine_facts, r=nikomatsakiskennytm-0/+1
Use AllFacts from polonius-engine
2018-05-24Use AllFacts from polonius-engineSantiago Pastorino-0/+1
2018-05-24extend the crate whitelist to include rustc-hash, chalkNiko Matsakis-0/+3
2018-05-17Rename trans to codegen everywhere.Irina Popa-1/+1
2018-05-16tidy: Add a check for empty UI test filesJane Lusby-23/+40
Check for empty `.stderr` and `.stdout` files in UI test directories. Empty files could still pass testing for `compile-pass` tests with no output so they can get into the repo accidentally, but they are not necessary and can be removed.
2018-05-13Add a Rayon thread poolJohn Kåre Alsaker-0/+10
2018-05-12Display the name of the failed file in tidy/libcoretestvarkor-8/+15
2018-05-12Ignore non .rs files for tidy libcoretestvarkor-6/+9
Previously, any file would be read, which is both unnecessary, and causes issues if irrelevant non-Unicode files were read (e.g. `.DS_STORE`).
2018-05-06Auto merge of #50466 - kennytm:rustbuild-stage0-lib-test, r=Mark-Simulacrumbors-0/+36
rustbuild: Allow quick testing of libstd and libcore at stage0 This PR implemented two features: 1. Added a `--no-doc` flag to allow testing a crate *without* doc tests. In this mode, we don't need to build rustdoc, and thus we can skip building the stage2 compiler. (Ideally stage0 test should use the bootstrap rustdoc, but I don't want to mess up the core builder logic here) 2. Moved all libcore tests externally and added a tidy test to ensure we don't accidentally add `#[test]` into libcore. After this PR, one could run `./x.py test --stage 0 --no-doc src/libstd` to test `libstd` without building the compiler, thus enables us to quickly test new library features.
2018-05-05Misc tweaksJohn Kåre Alsaker-0/+1
2018-05-06Added a tidy test to ensure libcore cannot contain any tests.kennytm-0/+36
2018-04-26handle license checkNick Cameron-1/+2
2018-04-20Fix revision support for UI tests.Eric Huss-27/+15
Fixes #48878
2018-04-11Auto merge of #49861 - pnkfelix:compare-mode-nll-followup-2, r=nikomatsakisbors-2/+29
Blindly checkpoint status of NLL mode ui tests This takes the next (and potentially final?) step with #48879. Namely, this PR got things to the point where I can successfully run `compiletest` on `src/test/ui` with `--compile-mode=nll`. Here are the main pieces of it: 1. To figure out how to even run `compiletest` normally on the ui directory, I ran `x.py test -vv`, and then looked for the `compiletest` invocation that mentioned `src/test/ui`. 2. I took the aforementioned `compiletest` invocation and used it, adding `--compile-mode=nll` to the end. It had 170 failing cases. 3. Due to #49855, I had to edit some of the tests so that they fail even under NLL, via `#[rustc_error]`. That's the first commit. (Then goto 2 to double-check no such tests remain.) 4. I took the generated `build/target/test/foo.stderr` file for every case that failed, and blindly copied it to `src/test/foo.nll.stderr`. That's the second commit. 5. Goto 2 until there were no failing cases. 6. Remove any stamp files, and re-run `x.py test` to make sure that the edits and new `.nll.stderr` files haven't broken the pre-existing test suite.
2018-04-09Make tidy treat "test/ui/foo.nll.stderr" just like "foo.stderr".Felix S. Klock II-2/+29
2018-04-08Move deny(warnings) into rustbuildMark Simulacrum-2/+0
This permits easier iteration without having to worry about warnings being denied. Fixes #49517
2018-03-14Remove syntax and syntax_pos thread localsJohn Kåre Alsaker-0/+1
2018-03-13Rollup merge of #48880 - petrochenkov:badstderr, r=kennytmkennytm-0/+28
tidy: Add a check for stray `.stderr` and `.stdout` files in UI test directories
2018-03-11Update Cargo submoduleAlex Crichton-0/+2
Required moving all fulldeps tests depending on `rand` to different locations as now there's multiple `rand` crates that can't be implicitly linked against.
2018-03-09tidy: Add a check for stray `.stderr` and `.stdout` files in UI test directoriesVadim Petrochenkov-0/+28
2018-03-06Update env_logger to 0.5.4Alex Crichton-0/+17
It looks like this cuts down on the number of dependencies in env_logger and notably cuts out a difference between a shared dependency of rls/cargo. My goal here is to ensure that when we compile the RLS/Cargo on CI we only compile Cargo once, and this is one step towards that!
2018-03-05Add ena to whitelistWho? Me?!-0/+1
2018-03-05Uncomment whitelistWho? Me?!-34/+34
2018-03-05Do check the deps of path depsMark Mansi-32/+44
2018-03-05enable whitelistMark Mansi-23/+23
2018-03-05Don't check in-tree depsMark Mansi-39/+12
2018-03-05different versions may have different depsMark Mansi-66/+84
2018-03-05Add a few missing depsMark Mansi-0/+3
2018-03-05Remove spurious whitespaceMark Mansi-54/+54
2018-03-05uncomment whitelistMark Mansi-55/+55
2018-03-05Fix alexcrichton's commentsMark Mansi-95/+77
2018-03-05Only check the whitelist for some cratesMark Mansi-340/+147
2018-03-05Get the path to cargo from rustbuildMark Mansi-7/+9
2018-03-05Trying to get paths right...Mark Mansi-1/+310
2018-03-05MAKE IT FAILgit statusgit statusMark Mansi-20/+53
2018-03-05CommentsMark Mansi-1/+2
2018-03-05Start adding a whitelist for rustc dependenciesMark Mansi-9/+77
2018-03-05Run rustfmt on tidy/src/deps.rsMark Mansi-14/+15
2018-03-03rust: Import LLD for linking wasm objectsAlex Crichton-1/+1
This commit imports the LLD project from LLVM to serve as the default linker for the `wasm32-unknown-unknown` target. The `binaryen` submoule is consequently removed along with "binaryen linker" support in rustc. Moving to LLD brings with it a number of benefits for wasm code: * LLD is itself an actual linker, so there's no need to compile all wasm code with LTO any more. As a result builds should be *much* speedier as LTO is no longer forcibly enabled for all builds of the wasm target. * LLD is quickly becoming an "official solution" for linking wasm code together. This, I believe at least, is intended to be the main supported linker for native code and wasm moving forward. Picking up support early on should help ensure that we can help LLD identify bugs and otherwise prove that it works great for all our use cases! * Improvements to the wasm toolchain are currently primarily focused around LLVM and LLD (from what I can tell at least), so it's in general much better to be on this bandwagon for bugfixes and new features. * Historical "hacks" like `wasm-gc` will soon no longer be necessary, LLD will [natively implement][gc] `--gc-sections` (better than `wasm-gc`!) which means a postprocessor is no longer needed to show off Rust's "small wasm binary size". LLD is added in a pretty standard way to rustc right now. A new rustbuild target was defined for building LLD, and this is executed when a compiler's sysroot is being assembled. LLD is compiled against the LLVM that we've got in tree, which means we're currently on the `release_60` branch, but this may get upgraded in the near future! LLD is placed into rustc's sysroot in a `bin` directory. This is similar to where `gcc.exe` can be found on Windows. This directory is automatically added to `PATH` whenever rustc executes the linker, allowing us to define a `WasmLd` linker which implements the interface that `wasm-ld`, LLD's frontend, expects. Like Emscripten the LLD target is currently only enabled for Tier 1 platforms, notably OSX/Windows/Linux, and will need to be installed manually for compiling to wasm on other platforms. LLD is by default turned off in rustbuild, and requires a `config.toml` option to be enabled to turn it on. Finally the unstable `#![wasm_import_memory]` attribute was also removed as LLD has a native option for controlling this. [gc]: https://reviews.llvm.org/D42511
2018-03-02std: Add `arch` and `simd` modulesAlex Crichton-0/+1
This commit imports the `stdsimd` crate into the standard library, creating an `arch` and `simd` module inside of both libcore and libstd. Both of these modules are **unstable** and will continue to be so until RFC 2335 is stabilized. As a brief recap, the modules are organized as so: * `arch` contains all current architectures with intrinsics, for example `std::arch::x86`, `std::arch::x86_64`, `std::arch::arm`, etc. These modules contain all of the intrinsics defined for the platform, like `_mm_set1_epi8`. * In the standard library, the `arch` module also exports a `is_target_feature_detected` macro which performs runtime detection to determine whether a target feature is available at runtime. * The `simd` module contains experimental versions of strongly-typed lane-aware SIMD primitives, to be fully fleshed out in a future RFC. The main purpose of this commit is to start pulling in all these intrinsics and such into the standard library on nightly and allow testing and such. This'll help allow users to easily kick the tires and see if intrinsics work as well as allow us to test out all the infrastructure for moving the intrinsics into the standard library.
2018-02-14Exclude clippy lints from tidy license checkMark Simulacrum-0/+1
2018-02-04add exceptions for new depssteveklabnik-0/+2
2018-01-28rustc: Split Emscripten to a separate codegen backendAlex Crichton-0/+1
This commit introduces a separately compiled backend for Emscripten, avoiding compiling the `JSBackend` target in the main LLVM codegen backend. This builds on the foundation provided by #47671 to create a new codegen backend dedicated solely to Emscripten, removing the `JSBackend` of the main codegen backend in the process. A new field was added to each target for this commit which specifies the backend to use for translation, the default being `llvm` which is the main backend that we use. The Emscripten targets specify an `emscripten` backend instead of the main `llvm` one. There's a whole bunch of consequences of this change, but I'll try to enumerate them here: * A *second* LLVM submodule was added in this commit. The main LLVM submodule will soon start to drift from the Emscripten submodule, but currently they're both at the same revision. * Logic was added to rustbuild to *not* build the Emscripten backend by default. This is gated behind a `--enable-emscripten` flag to the configure script. By default users should neither check out the emscripten submodule nor compile it. * The `init_repo.sh` script was updated to fetch the Emscripten submodule from GitHub the same way we do the main LLVM submodule (a tarball fetch). * The Emscripten backend, turned off by default, is still turned on for a number of targets on CI. We'll only be shipping an Emscripten backend with Tier 1 platforms, though. All cross-compiled platforms will not be receiving an Emscripten backend yet. This commit means that when you download the `rustc` package in Rustup for Tier 1 platforms you'll be receiving two trans backends, one for Emscripten and one that's the general LLVM backend. If you never compile for Emscripten you'll never use the Emscripten backend, so we may update this one day to only download the Emscripten backend when you add the Emscripten target. For now though it's just an extra 10MB gzip'd. Closes #46819
2018-01-18add target/ to ignored tidy dirsManish Goregaokar-0/+1
2018-01-15Rollup merge of #47414 - est31:master, r=alexcrichtonkennytm-2/+2
Enforce dashes in the unstable book file names Also rename the existing underscore using files to use dashes. Fixes #47394.
2018-01-13Enforce dashes in the unstable book file namesest31-2/+2
Also rename the existing underscore using files to use dashes. Fixes #47394.
2018-01-11Extend tidy to allow conditionalizing tests for multiple targets.Ed Schouten-2/+2