Commit graph

278 commits

Author SHA1 Message Date
Steve Klabnik
2a14d4bb86 Rollup merge of #40151 - steveklabnik:update-mdbook, r=frewsxcv
update mdbook version

This contains two important bugfixes
2017-02-28 15:38:42 -08:00
Steve Klabnik
d076e840bc update mdbook version
This contains two important bugfixes
2017-02-28 12:32:32 -05:00
topecongiro
3bffc9e150 Add compile test for cfg_target_has_atomic 2017-03-01 01:35:59 +09:00
topecongiro
988be44c36 Add compile fail test for unboxed_closures feature 2017-02-28 11:18:50 +09:00
Alex Crichton
5ed6765fd4 build-manifest: Remove old to_hex function
This was actually just generating invalid hashes for the `rust`
component.
2017-02-25 20:20:09 -08:00
Alex Crichton
476a1cc244 build-manifest: Fix typos with rust-analysis
The name of the package is 'rust-analysis', not 'analysis', and then
name of the channel is 'nightly', not 'rust-nightly'
2017-02-25 20:20:04 -08:00
Eduard-Mihai Burtescu
6ffc9e4a33 Rollup merge of #40031 - cynicaldevil:master, r=est31
Added test for inclusive_range_syntax in compile-fail test suite

Fixes #39059
r? @est31

Forgot to leave a comment on the issue, hopefully nobody else is working on this one!
2017-02-25 14:13:36 +02:00
Eduard-Mihai Burtescu
f1350408c9 Rollup merge of #40026 - nrc:analysis-manifest, r=alexcrichton
Add save-analysis data to nightly manifests.

For use by RLS.

r? @alexcrichton
2017-02-25 14:13:34 +02:00
Eduard-Mihai Burtescu
46fed6e6fa Rollup merge of #39859 - GuillaumeGomez:rustdoc-test-relative-path, r=alexcrichton
Set rustdoc --test files' path relative to the current directory

r? @alexcrichton
2017-02-25 14:13:15 +02:00
Guillaume Gomez
958fbc5d66 Make path separator replacement for subfiles as well 2017-02-22 23:19:03 +01:00
Nikhil Shagrithaya
b7b58ffdf4 Added test for inclusive_range_syntax in compile-fail test suite 2017-02-23 00:50:29 +05:30
Nick Cameron
9ce8bb9f9d Add save-analysis data to nightly manifests.
For use by RLS.
2017-02-22 15:33:34 +13:00
bors
a17e5e2949 Auto merge of #39717 - pnkfelix:check-timestamps-in-compiletest-miropt, r=alexcrichton
When compiletest'ing src/test/mir-opt, check timestamps.

The tests in src/test/mir-opt embed references to generated files. The names of the generated files embed node id's, which will change depending on the content of the original source.

To guard against comparisons against stale output, check the timestamps of the supposed output against the timestamp of the original source (i.e. any output should be at least as new as the source that was recompiled).

Fix #39690.
2017-02-20 21:31:17 +00:00
Steve Klabnik
010a28de7c Update mdBook version
This brings in a needed bugfix.
2017-02-20 11:17:55 -05:00
Steve Klabnik
fc7bf8498b Enable linkchecker on books
Previously, mdBook used JavaScript to add header links, so we
skipped checking the book. As of
https://github.com/rust-lang/rust/pull/39966, it no longer does,
so we can start checking again.

There is a twist, though: it uses name instead of id, so let's test
for both. They're both valid links anyway, so it's good to have the
checker check anyway.
2017-02-20 11:17:53 -05:00
Felix S. Klock II
6a78282607 Fix #39690: make mir-opt mode for compiletest check timestamps.
This version removes prior use of `time` crate, to satisify vendoring requirements.

remove extraneous whitespace change
2017-02-20 17:00:37 +01:00
Steve Klabnik
7726735636 Update mdbook version
This version of mdbook includes
https://github.com/azerupi/mdBook/pull/207 , which is needed so that
we can start doing linkchecker on the various books.
2017-02-19 19:17:16 -05:00
Guillaume Gomez
e606a43320 Fix rustdoc test with new file path 2017-02-20 01:12:21 +01:00
Corey Farwell
4a07be3bea Rollup merge of #39834 - cseale:feature-gate-static-recursion, r=est31
static recursion test added to compile-fail test suite

Issue #39059
r? @est31
2017-02-15 23:48:15 -05:00
Colm Seale
cf20d8e23c static recursion test added to compile-fail test suite
Issue #39059
    r? @est31
2017-02-15 20:13:24 +00:00
bors
025c328bf5 Auto merge of #39633 - steveklabnik:vendor-mdbook, r=alexcrichton
Port books to mdbook

Part of https://github.com/rust-lang/rust/issues/39588

blocked on https://github.com/rust-lang/rust/pull/39431

As a first step towards the bookshelf, we ~vendor mdbook in-tree and~ port our books to it. Eventually, both of these books will be moved out-of-tree, but the nightly book will rely on doing the same thing. As such, this intermediate step is useful.

r? @alexcrichton @brson

/cc @azerupi
2017-02-15 01:22:16 +00:00
Corey Farwell
4246f37588 Rollup merge of #39790 - zackw:tidy-linelen-exempt-urls, r=alexcrichton
tidy: exempt URLs from the line length restriction

The length of a URL is usually not under our control, and Markdown
provides no way to split a URL in the middle.  Therefore, comment
lines consisting _solely_ of a URL (possibly with a Markdown link
label in front) should be exempt from the line-length restriction.

Inline hyperlink destinations ( `[foo](http://...)` notation ) are
_not_ exempt, because it is my arrogant opinion that long lines of
that type make the source text illegible.

The patch adds dependencies on the `regex` and `lazy_static` crates
to the tidy utility.  This _appears_ to Just Work, but if you would
rather not have that dependency I am willing to provide a hand-written
parser instead.
2017-02-14 10:07:36 -05:00
Corey Farwell
32b8f4ec98 Rollup merge of #39772 - cseale:staged_api_whitelist_removal, r=est31
Adding compile fail test for staged_api feature

Issue #39059
r? @est31

@est31 running the tests for this feature fails. Is that expected since this is the `compile-fail`suite?

I copied this test from the run-pass suite: `rust/src/test/run-pass/reachable-unnameable-type-alias.rs`. What are the differences between these suites in operation and why they are used?
2017-02-14 10:07:33 -05:00
bors
48bc08247a Auto merge of #39728 - eddyb:vendeur-tres-bien, r=alexcrichton
Automate vendoring by invoking cargo-vendor when building src dist tarballs.

This avoids #39633 bringing the `src/vendor` checked into git by #37524, past 200,000 lines of code.

I believe the strategy of having rustbuild run `cargo vendor` during the `dist src` step is sound.

However, the only way to be sure `cargo-vendor` exists is to run `cargo install --force cargo-vendor`, which will recompile it every time (not passing `--force` means you can't tell between "already exists" and "build error"). ~~This is quite suboptimal and I'd like to somehow do it in each `Dockerfile` that would need it.~~

* [ ] Cache `CARGO_HOME` (i.e. `~/.cargo`) between CI runs
  * `bin/cargo-vendor` and the actual caches are the relevant bits
* [x] Do not build `cargo-vendor` all the time
  * ~~Maybe detect `~/.cargo/bin/cargo-vendor` already exists?~~
  * ~~Could also try to build it in a `Dockerfile` but do we have `cargo`/`rustc` there?~~
  * Final solution: check `cargo install --list` for a line starting with `cargo-vendor `

cc @rust-lang/tools
2017-02-14 07:06:25 +00:00
Colm Seale
07b3a8bd60 Adding compile fail test for staged_api feature
Issue #39059
r? @est31
2017-02-14 00:03:17 +00:00
Eduard-Mihai Burtescu
d29f0bc8fa Automatically vendor Cargo deps when building the source tarballs. 2017-02-14 01:52:03 +02:00
Zack Weinberg
ff4758c2a0 Replace regex-based parser for URL lines with open-coded one. 2017-02-13 15:44:51 -05:00
Steve Klabnik
cacb3bc9c7 fix up linkchecker
1. skip png files
2. skip fragments for the book and nomicon, as these are added by JS
3. Actually print the filename for errors
2017-02-13 13:41:27 -05:00
Steve Klabnik
775726092e Add exceptions to tidy
We've decided that these deps are okay.
2017-02-13 13:41:20 -05:00
Steve Klabnik
a076961fd0 Re-implement rustbook in terms of mdbook
mdbook has a lot of optional dependencies that we don't want, so instead
of using it directly, we re-build rustbook to use mdbook as a library.
For convenience' sake, we keep the same CLI interface as mdbook; the
only difference is that it only accepts build and test subcommands,
rather than the full range.
2017-02-13 13:41:01 -05:00
Zack Weinberg
5817351048 tidy: exempt URLs from the line length restriction
The length of a URL is usually not under our control, and Markdown
provides no way to split a URL in the middle.  Therefore, comment
lines consisting _solely_ of a URL (possibly with a Markdown link
label in front) should be exempt from the line-length restriction.

Inline hyperlink destinations ( `[foo](http://...)` notation ) are
_not_ exempt, because it is my arrogant opinion that long lines of
that type make the source text illegible.

The patch adds dependencies on the `regex` and `lazy_static` crates
to the tidy utility.  This _appears_ to Just Work, but if you would
rather not have that dependency I am willing to provide a hand-written
parser instead.
2017-02-13 12:33:35 -05:00
Guillaume Gomez
c951ed7fb6 Add tested item in the rustdoc --test output 2017-02-11 16:36:31 +01:00
Corey Farwell
4269e5207e Rollup merge of #39676 - alexcrichton:fix-again, r=brson
Actually fix manifest generation

The previous fix contained an error where `toml::encode` returned a runtime
error, so this version just constructs a literal `toml::Value`.
2017-02-10 23:41:34 -05:00
Corey Farwell
bf750890c9 Rollup merge of #39660 - alexcrichton:shasum-dirs, r=brson
Don't include directory names in shasums

Right now we just run `shasum` on an absolute path but right now the shasum
files only include filenames, so let's use `current_dir` and just the file name
to only have the file name emitted.
2017-02-10 23:41:33 -05:00
Corey Farwell
af1ddb9ec5 Rollup merge of #39700 - msopena:master, r=est31
Adding compile fail test for const_indexing feature

First attempt at contributing to rust. Picked up an easy feature to test.

Issue #39059
r? @est31
2017-02-09 19:43:24 -05:00
Mario
ec4a3cc371 Adding compile fail test for const_indexing feature 2017-02-09 19:39:46 +01:00
Corey Farwell
116bdacf6b Rollup merge of #39647 - japaric:sparc, r=alexcrichton
build std for sparc64-unknown-linux-gnu

r? @alexcrichton

panicking / unwinding is broken (#39646) but with std available at least people
will be able to debug that issue on real hardware
2017-02-09 08:47:36 -05:00
Corey Farwell
9f2795f7bd Rollup merge of #39599 - alexcrichton:cargo-tarball-name, r=brson
Fix a manifest-generation bug on beta

Right now all Cargo release tarballs are 'nightly', they're not on the standard
channels yet.
2017-02-08 23:55:47 -05:00
Alex Crichton
de59d5d737 Actually fix manifest generation
The previous fix contained an error where `toml::encode` returned a runtime
error, so this version just constructs a literal `toml::Value`.
2017-02-08 20:49:58 -08:00
Alex Crichton
67574ccd53 Don't include directory names in shasums
Right now we just run `shasum` on an absolute path but right now the shasum
files only include filenames, so let's use `current_dir` and just the file name
to only have the file name emitted.
2017-02-08 15:08:30 -08:00
Jorge Aparicio
499717820d build-manifest: update TARGETS 2017-02-08 11:50:27 -05:00
Corey Farwell
62d22678d4 Rollup merge of #39630 - alexcrichton:update-manifest, r=brson
Rename manifest_version to manifest-version

The current manifests encode this with a dash in the name, so we should preserve
that!
2017-02-08 10:19:59 -05:00
Corey Farwell
722baed173 Rollup merge of #39597 - GuillaumeGomez:correct_rustdoc_test_file, r=alexcrichton
Display correct filename with --test option

Fixes #39592.

With the current files:

```rust
pub mod foo;

/// This is a Foo;
///
/// ```
/// println!("baaaaaar");
/// ```
pub struct Foo;

/// This is a Bar;
///
/// ```
/// println!("fooooo");
/// ```
pub struct Bar;
```

```rust
// note the whitespaces
/// ```
/// println!("foo");
/// ```
pub fn foo() {}
```

It displays:

```
./build/x86_64-apple-darwin/stage1/bin/rustdoc --test test.rs

running 3 tests
test test.rs - line 13 ... ok
test test.rs - line 5 ... ok
test foo.rs - line 2 ... ok

test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured
```

```

` ``
println!("lol");
` ``

asdjnfasd

asd
```

It displays:

```
./build/x86_64-apple-darwin/stage1/bin/rustdoc --test foo.md

running 1 test
test <input> - line 3 ... ok

test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured
```

r? @alexcrichton
2017-02-08 10:19:55 -05:00
Guillaume Gomez
d2f8abf254 Add more test for rustdoc --test 2017-02-08 10:10:06 +01:00
Corey Farwell
6fb57bf13f Rollup merge of #39431 - alexcrichton:no-more-makefiles, r=brson
Delete the makefile build system

This PR deletes the makefile build system in favor of the rustbuild build system. The beta has now been branched so 1.16 will continue to be buildable from the makefiles, but going forward 1.17 will only be buildable with rustbuild.

Rustbuild has been the default build system [since 1.15.0](https://github.com/rust-lang/rust/pull/37817) and the makefiles were [proposed for deletion](https://internals.rust-lang.org/t/proposal-for-promoting-rustbuild-to-official-status/4368) at this time back in November of last year.

And now with the deletion of these makefiles we can start getting those sweet sweet improvements of using crates.io crates in the compiler!
2017-02-07 22:54:25 -05:00
Corey Farwell
370b63f386 Rollup merge of #39400 - alexcrichton:arm-cross-test, r=brson
Add support for test suites emulated in QEMU

This commit adds support to the build system to execute test suites that cannot
run natively but can instead run inside of a QEMU emulator. A proof-of-concept
builder was added for the `arm-unknown-linux-gnueabihf` target to show off how
this might work.

In general the architecture is to have a server running inside of the emulator
which a local client connects to. The protocol between the server/client
supports compiling tests on the host and running them on the target inside the
emulator.

Closes #33114
2017-02-07 22:54:23 -05:00
Alex Crichton
e53eaa385e Rename manifest_version to manifest-version
The current manifests encode this with a dash in the name, so we should preserve
that!
2017-02-07 16:20:41 -08:00
Alex Crichton
bf126d244e Fix a manifest-generation bug on beta
Right now all Cargo release tarballs are 'nightly', they're not on the standard
channels yet.
2017-02-06 13:33:03 -08:00
Alex Crichton
c8e0d04878 compiletest: Add caching of test results
Don't re-run tests in compiletest if all the inputs haven't changed, manage
stamp files in the output directory.
2017-02-06 08:44:27 -08:00
Alex Crichton
77c3bfa742 std: Remove cfg(cargobuild) annotations
These are all now no longer needed that we've only got rustbuild in tree.
2017-02-06 08:42:54 -08:00