summary refs log tree commit diff
path: root/src/bootstrap/check.rs
AgeCommit message (Collapse)AuthorLines
2018-02-11Change Step to be invoked with a path when in default mode.Mark Simulacrum-3/+3
Previously, a Step would be able to tell on its own when it was invoked "by-default" (that is, `./x.py test` was called instead of `./x.py test some/path`). This commit replaces that functionality, invoking each Step with each of the paths it has specified as "should be invoked by." For example, if a step calls `path("src/tools/cargo")` and `path("src/doc/cargo")` then it's make_run will be called twice, with "src/tools/cargo" and "src/doc/cargo." This makes it so that default handling logic is in builder, instead of spread across various Steps. However, this meant that some Step specifications needed to be updated, since for example `rustdoc` can be built by `./x.py build src/librustdoc` or `./x.py build src/tools/rustdoc`. A `PathSet` abstraction is added that handles this: now, each Step can not only list `path(...)` but also `paths(&[a, b, ...])` which will make it so that we don't invoke it with each of the individual paths, instead invoking it with the first path in the list (though this shouldn't be depended on). Future work likely consists of implementing a better/easier way for a given Step to work with "any" crate in-tree, especially those that want to run tests, build, or check crates in the std, test, or rustc crate trees. Currently this is rather painful to do as most of the logic is duplicated across should_run and make_run. It seems likely this can be abstracted away into builder somehow.
2018-02-08Add tests for themesGuillaume Gomez-1/+0
2018-01-27rustc: Load the `rustc_trans` crate at runtimeAlex Crichton-1/+1
Building on the work of # 45684 this commit updates the compiler to unconditionally load the `rustc_trans` crate at runtime instead of linking to it at compile time. The end goal of this work is to implement # 46819 where rustc will have multiple backends available to it to load. This commit starts off by removing the `extern crate rustc_trans` from the driver. This involved moving some miscellaneous functionality into the `TransCrate` trait and also required an implementation of how to locate and load the trans backend. This ended up being a little tricky because the sysroot isn't always the right location (for example `--sysroot` arguments) so some extra code was added as well to probe a directory relative to the current dll (the rustc_driver dll). Rustbuild has been updated accordingly as well to have a separate compilation invocation for the `rustc_trans` crate and assembly it accordingly into the sysroot. Finally, the distribution logic for the `rustc` package was also updated to slurp up the trans backends folder. A number of assorted fallout changes were included here as well to ensure tests pass and such, and they should all be commented inline.
2018-01-23Add ./x.py check src/{libstd,libtest,rustc}.Mark Simulacrum-0/+163
This currently only supports a limited subset of the full compilation, but is likely 90% of what people will want and is possible without building a full compiler (i.e., running LLVM). In theory, this means that contributors who don't want to build LLVM now have an easy way to compile locally, though running tests won't work.
2018-01-23Rename check.rs to test.rsMark Simulacrum-1542/+0
2018-01-23Rollup merge of #47558 - spastorino:rustc_args, r=nikomatsakiskennytm-0/+1
Add rustc-args option to test runner r? @nikomatsakis
2018-01-19Auto merge of #47494 - michaelwoerister:proc-macro-incremental, r=nikomatsakisbors-0/+5
Don't include DefIndex in proc-macro registrar function symbol. There can only ever be one registrar function per plugin or proc-macro crate, so adding the `DefIndex` to the function's symbol name does not serve a real purpose. Remove the `DefIndex` from the symbol name makes it stable across incremental compilation sessions. This should fix issue #47292.
2018-01-19Add rustc-args option to test runnerSantiago Pastorino-0/+1
2018-01-17Rollup merge of #47250 - GuillaumeGomez:test-rustdoc-js, r=Mark-SimulacrumGuillaume Gomez-0/+37
Test rustdoc js Add tests for the rustdoc search. It was heavily required because of all the recent breaking changes that happened while I went through improvements in doc search (add search in/for generic search for example).
2018-01-16Add incremental-fulldeps test suite and regression test for #47290.Michael Woerister-0/+5
2018-01-13Only run rustdoc-js test suite when nodejs is availableGuillaume Gomez-8/+11
2018-01-12End of rustdoc-js tool add into builderGuillaume Gomez-1/+7
2018-01-12Move forward to add rustdoc testGuillaume Gomez-14/+7
2018-01-12Start adding js testsGuillaume Gomez-0/+35
2018-01-12Remove unused argument `rustc_cargo`.O01eg-1/+1
2018-01-04rustc: Don't use relative paths for extended errorsAlex Crichton-1/+2
These no longer work now that Cargo changes the cwd of rustc while it's running. Instead use an absolute path that's set by rustbuild.
2017-12-27Clarify toolstate names. Move publish.py to a more convenient location.kennytm-4/+4
2017-12-27Revert "Add a file to trivially disable tool building or testing"kennytm-28/+8
This reverts commit ab018c76e14b87f3c9e0b7384cc9b02d94779cd5. This also adds the `ToolBuild::is_ext_tool` field to replace the previous `ToolBuild::expectation` field, to indicate whether a build-failure of certain tool is essential.
2017-12-12Put miri const eval checking behind -ZmiriOliver Schneider-0/+1
2017-12-06Update miri to rustc changesOliver Schneider-53/+104
2017-09-27Add RLS and Rustfmt to the toolstate mechanismNick Cameron-2/+10
2017-09-19Add clippy to `toolstate.toml`Oliver Schneider-0/+44
2017-09-18rustbuild: with --no-fail-fast, report the specific commands that failedXimin Luo-4/+4
2017-09-17Rebase falloutOliver Schneider-0/+2
2017-09-17Add a file to trivially disable tool building or testingOliver Schneider-5/+14
2017-09-17Get the miri test suite to run inside the rustc dev environmentOliver Schneider-0/+44
2017-09-17Rollup merge of #44533 - nrc:rustfmt-submod, r=alexcrichtonTim Neumann-0/+41
Add Rustfmt r? @alexcrichton
2017-09-15rustbuild: Fix test "test rustdoc" invocationAlex Crichton-4/+5
Previously it would use the librustc output directory which would cause rustdoc to get entirely recompiled, whereas the intention is that it uses the already-compiled artifacts from building rustdoc itself, using the tool output directory
2017-09-13Build and test RustfmtNick Cameron-0/+41
2017-09-05Test rustdoc unit tests.Mark Simulacrum-1/+68
Doc tests are temporarily disabled until next release cycle, since current beta Cargo errors on them. Upgrade should be smooth as the relevant tests are already fixed in this commit.
2017-08-15use field init shorthand EVERYWHEREZack M. Davis-3/+3
Like #43008 (f668999), but _much more aggressive_.
2017-08-14Auto merge of #43842 - bjorn3:no_llvm_cleanup, r=alexcrichtonbors-17/+26
Cleanup for "Support compiling rustc without LLVM (try 2)" This includes a small patch to allow running tests without llvm. Also check if you are not trying to compile a dylib. cc #42932 r? @alexcrichton
2017-08-13Change run-make ignore messagebjorn3-1/+1
2017-08-13Remove some more cfg'sbjorn3-17/+26
2017-08-13Build rustdoc only at the top stageMark Simulacrum-3/+3
2017-08-13Unify flags into config.Mark Simulacrum-14/+5
This introduces a slight change in behavior, where we unilaterally respect the --host and --target parameters passed for all sanity checking and runtime configuration.
2017-07-28rustbuild: Use Cargo's "target runner"Alex Crichton-67/+13
This commit leverages a relatively new feature in Cargo to execute cross-compiled tests, the `target.$target.runner` configuration. We configure it through environment variables in rustbuild and this avoids the need for us to locate and run tests after-the-fact, instead relying on Cargo to do all that execution for us.
2017-07-27Correct a few run.host invocations where run.target is intended.Mark Simulacrum-2/+2
2017-07-27Don't needlessly build rustdoc for compiletest.Mark Simulacrum-1/+6
For most tests, rustdoc isn't needed, so avoid building it.
2017-07-27Build rustdoc on-demand.Mark Simulacrum-2/+1
Rustdoc is no longer compiled in every stage, alongside rustc, instead it is only compiled when requested, and generally only for the last stage.
2017-07-27Change tools to take a compiler instead of a stage.Mark Simulacrum-3/+3
2017-07-25Bump master to 1.21.0Alex Crichton-33/+35
This commit bumps the master branch's version to 1.21.0 and also updates the bootstrap compiler from the freshly minted beta release.
2017-07-24Make dist equivalent to old build system.Mark Simulacrum-1/+1
2017-07-23Do not run pretty tests by default.Mark Simulacrum-0/+3
2017-07-22Make distcheck work again.Mark Simulacrum-0/+4
2017-07-22Add make_run to distcheck.Mark Simulacrum-0/+4
2017-07-20Change make_run signature to taking a RunConfig struct for refactorability.Mark Simulacrum-116/+59
2017-07-20Add an optional condition to constrain defaults.Mark Simulacrum-8/+3
Utilized primarily to not be a default rule unless some configuration is given (e.g., compiler docs are enabled).
2017-07-20Remove step.rs commentsMark Simulacrum-231/+0
2017-07-20Don't include lldb/gdb in default testsMark Simulacrum-7/+5