Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run doctests via out-of-process rustc #63827

Merged
merged 2 commits into from
Aug 30, 2019

Conversation

andjo403
Copy link
Contributor

closes #63638

@andjo403

This comment has been minimized.

@andjo403
Copy link
Contributor Author

r? @Mark-Simulacrum

src/librustdoc/test.rs Outdated Show resolved Hide resolved
@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-23T06:04:32.3040595Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-23T06:04:32.3252881Z ##[command]git config gc.auto 0
2019-08-23T06:04:32.3321055Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-23T06:04:32.3389493Z ##[command]git config --get-all http.proxy
2019-08-23T06:04:32.3540858Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63827/merge:refs/remotes/pull/63827/merge
---
2019-08-23T06:05:07.1115575Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-23T06:05:07.1115610Z 
2019-08-23T06:05:07.1115833Z   git checkout -b <new-branch-name>
2019-08-23T06:05:07.1115867Z 
2019-08-23T06:05:07.1115939Z HEAD is now at 6014e0a03 Merge 2661f79224445d71ef5b061666c94680717305fd into a71e32e4078f3a8c1ebc2a731e23ac3da3ef73a1
2019-08-23T06:05:07.1279943Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-23T06:05:07.1283163Z ==============================================================================
2019-08-23T06:05:07.1283224Z Task         : Bash
2019-08-23T06:05:07.1283288Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-23T07:09:41.9278714Z .................................................................................................... 1500/8950
2019-08-23T07:09:47.6208164Z .................................................................................................... 1600/8950
2019-08-23T07:10:00.7473982Z ...........................................i...............i........................................ 1700/8950
2019-08-23T07:10:09.2025978Z .................................................................................................... 1800/8950
2019-08-23T07:10:23.9726087Z ...................................iiiii............................................................ 1900/8950
2019-08-23T07:10:35.0854332Z .................................................................................................... 2100/8950
2019-08-23T07:10:37.8067092Z .................................................................................................... 2200/8950
2019-08-23T07:10:42.4310835Z .................................................................................................... 2300/8950
2019-08-23T07:10:49.7666618Z .................................................................................................... 2400/8950
---
2019-08-23T07:13:55.5503518Z .......................i...............i............................................................ 4700/8950
2019-08-23T07:14:07.8904942Z .................................................................................................... 4800/8950
2019-08-23T07:14:14.1888414Z .................................................................................................... 4900/8950
2019-08-23T07:14:25.5593296Z .................................................................................................... 5000/8950
2019-08-23T07:14:30.9913716Z ....ii.ii........................................................................................... 5100/8950
2019-08-23T07:14:46.2659182Z .................................................................................................... 5300/8950
2019-08-23T07:14:53.2386411Z ............................................................i....................................... 5400/8950
2019-08-23T07:15:00.4741260Z .................................................................................................... 5500/8950
2019-08-23T07:15:08.5937270Z .................................................................................................... 5600/8950
2019-08-23T07:15:08.5937270Z .................................................................................................... 5600/8950
2019-08-23T07:15:19.7074469Z ......................................................ii...i..ii...........i........................ 5700/8950
2019-08-23T07:15:42.1435058Z .................................................................................................... 5900/8950
2019-08-23T07:15:47.2240065Z .................................................................................................... 6000/8950
2019-08-23T07:15:47.2240065Z .................................................................................................... 6000/8950
2019-08-23T07:15:54.7617116Z .......................................................i..ii........................................ 6100/8950
2019-08-23T07:16:22.6667604Z .................................................................................................... 6300/8950
2019-08-23T07:16:24.9428998Z .i.................................................................................................. 6400/8950
2019-08-23T07:16:27.2640674Z .........................................................................i.......................... 6500/8950
2019-08-23T07:16:30.3354334Z .................................................................................................... 6600/8950
---
2019-08-23T07:21:19.1423398Z  finished in 21.475
2019-08-23T07:21:19.1608419Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-23T07:21:19.3322579Z 
2019-08-23T07:21:19.3323393Z running 149 tests
2019-08-23T07:21:22.7459900Z i....iii......iii..iiii....i.............................i..i..................i....i.........ii.i.i 100/149
2019-08-23T07:21:24.7518673Z ..iiii..............i.........iii.i......ii......
2019-08-23T07:21:24.7520047Z 
2019-08-23T07:21:24.7523545Z  finished in 5.591
2019-08-23T07:21:24.7724635Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-23T07:21:24.9370181Z 
---
2019-08-23T07:21:27.0857021Z  finished in 2.313
2019-08-23T07:21:27.1043867Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-23T07:21:27.2786449Z 
2019-08-23T07:21:27.2786794Z running 9 tests
2019-08-23T07:21:27.2787673Z iiiiiiiii
2019-08-23T07:21:27.2788161Z 
2019-08-23T07:21:27.2790864Z  finished in 0.174
2019-08-23T07:21:27.3009683Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-23T07:21:27.4688267Z 
---
2019-08-23T07:21:45.8897229Z  finished in 18.589
2019-08-23T07:21:45.9089443Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-23T07:21:46.0742757Z 
2019-08-23T07:21:46.0743114Z running 122 tests
2019-08-23T07:22:11.3055961Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
2019-08-23T07:22:16.1356428Z .i.i......iii.i.....ii
2019-08-23T07:22:16.1357150Z 
2019-08-23T07:22:16.1361707Z  finished in 30.227
2019-08-23T07:22:16.1370231Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-23T07:22:16.1370577Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-08-23T07:29:51.7908207Z 
2019-08-23T07:29:51.7908282Z failures:
2019-08-23T07:29:51.7908335Z 
2019-08-23T07:29:51.7908643Z ---- /checkout/src/test/rustdoc/async-move-doctest.rs -  (line 8) stdout ----
2019-08-23T07:29:51.7909219Z thread '/checkout/src/test/rustdoc/async-move-doctest.rs -  (line 8)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputw5Ridd.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7909349Z 
2019-08-23T07:29:51.7909394Z 
2019-08-23T07:29:51.7909439Z failures:
2019-08-23T07:29:51.7909702Z     /checkout/src/test/rustdoc/async-move-doctest.rs -  (line 8)
---
2019-08-23T07:29:51.7913029Z 
2019-08-23T07:29:51.7913092Z failures:
2019-08-23T07:29:51.7913121Z 
2019-08-23T07:29:51.7913398Z ---- /checkout/src/test/rustdoc/comment-in-doctest.rs -  (line 10) stdout ----
2019-08-23T07:29:51.7913947Z thread '/checkout/src/test/rustdoc/comment-in-doctest.rs -  (line 10)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputXcxC49.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7914088Z 
2019-08-23T07:29:51.7914118Z 
2019-08-23T07:29:51.7914178Z failures:
2019-08-23T07:29:51.7914453Z     /checkout/src/test/rustdoc/comment-in-doctest.rs -  (line 10)
---
2019-08-23T07:29:51.7915769Z ---- [rustdoc] rustdoc/doctest-manual-crate-name.rs stdout ----
2019-08-23T07:29:51.7915806Z 
2019-08-23T07:29:51.7915850Z error: rustdoc failed!
2019-08-23T07:29:51.7915916Z status: exit code: 101
2019-08-23T07:29:51.7916575Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/doctest-manual-crate-name/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/doctest-manual-crate-name" "/checkout/src/test/rustdoc/doctest-manual-crate-name.rs" "--test"
2019-08-23T07:29:51.7916926Z ------------------------------------------
2019-08-23T07:29:51.7916963Z 
2019-08-23T07:29:51.7917025Z running 1 test
2019-08-23T07:29:51.7917309Z test /checkout/src/test/rustdoc/doctest-manual-crate-name.rs -  (line 3) ... FAILED
2019-08-23T07:29:51.7917309Z test /checkout/src/test/rustdoc/doctest-manual-crate-name.rs -  (line 3) ... FAILED
2019-08-23T07:29:51.7917350Z 
2019-08-23T07:29:51.7917396Z failures:
2019-08-23T07:29:51.7917441Z 
2019-08-23T07:29:51.7918092Z ---- /checkout/src/test/rustdoc/doctest-manual-crate-name.rs -  (line 3) stdout ----
2019-08-23T07:29:51.7918796Z thread '/checkout/src/test/rustdoc/doctest-manual-crate-name.rs -  (line 3)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputMIy9X6.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7918965Z 
2019-08-23T07:29:51.7918997Z 
2019-08-23T07:29:51.7919058Z failures:
2019-08-23T07:29:51.7919369Z     /checkout/src/test/rustdoc/doctest-manual-crate-name.rs -  (line 3)
---
2019-08-23T07:29:51.7922615Z test /checkout/src/test/rustdoc/edition-doctest.rs - foo (line 3) ... FAILED
2019-08-23T07:29:51.7922656Z 
2019-08-23T07:29:51.7922735Z failures:
2019-08-23T07:29:51.7922765Z 
2019-08-23T07:29:51.7923042Z ---- /checkout/src/test/rustdoc/edition-doctest.rs - foo (line 22) stdout ----
2019-08-23T07:29:51.7923587Z thread '/checkout/src/test/rustdoc/edition-doctest.rs - foo (line 22)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputWKSkw4.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7923738Z 
2019-08-23T07:29:51.7924030Z ---- /checkout/src/test/rustdoc/edition-doctest.rs - foo (line 3) stdout ----
2019-08-23T07:29:51.7924030Z ---- /checkout/src/test/rustdoc/edition-doctest.rs - foo (line 3) stdout ----
2019-08-23T07:29:51.7924582Z thread '/checkout/src/test/rustdoc/edition-doctest.rs - foo (line 3)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputPM2hEs.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7924700Z 
2019-08-23T07:29:51.7924743Z failures:
2019-08-23T07:29:51.7925009Z     /checkout/src/test/rustdoc/edition-doctest.rs - foo (line 22)
2019-08-23T07:29:51.7925275Z     /checkout/src/test/rustdoc/edition-doctest.rs - foo (line 3)
---
2019-08-23T07:29:51.7926564Z ---- [rustdoc] rustdoc/edition-flag.rs stdout ----
2019-08-23T07:29:51.7926630Z 
2019-08-23T07:29:51.7926765Z error: rustdoc failed!
2019-08-23T07:29:51.7926818Z status: exit code: 101
2019-08-23T07:29:51.7929174Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/edition-flag/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/edition-flag" "/checkout/src/test/rustdoc/edition-flag.rs" "--test" "-Z" "unstable-options" "--edition=2018"
2019-08-23T07:29:51.7929562Z ------------------------------------------
2019-08-23T07:29:51.7929618Z 
2019-08-23T07:29:51.7929668Z running 1 test
2019-08-23T07:29:51.7929943Z test /checkout/src/test/rustdoc/edition-flag.rs - main (line 4) ... FAILED
2019-08-23T07:29:51.7929943Z test /checkout/src/test/rustdoc/edition-flag.rs - main (line 4) ... FAILED
2019-08-23T07:29:51.7930002Z 
2019-08-23T07:29:51.7930048Z failures:
2019-08-23T07:29:51.7930077Z 
2019-08-23T07:29:51.7930360Z ---- /checkout/src/test/rustdoc/edition-flag.rs - main (line 4) stdout ----
2019-08-23T07:29:51.7931117Z thread '/checkout/src/test/rustdoc/edition-flag.rs - main (line 4)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputC1ybz5.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7931262Z 
2019-08-23T07:29:51.7931290Z 
2019-08-23T07:29:51.7931333Z failures:
2019-08-23T07:29:51.7931593Z     /checkout/src/test/rustdoc/edition-flag.rs - main (line 4)
---
2019-08-23T07:29:51.7965583Z ---- [rustdoc] rustdoc/issue-18199.rs stdout ----
2019-08-23T07:29:51.7965621Z 
2019-08-23T07:29:51.7965674Z error: rustdoc failed!
2019-08-23T07:29:51.7965722Z status: exit code: 101
2019-08-23T07:29:51.7966352Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-18199/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-18199" "/checkout/src/test/rustdoc/issue-18199.rs" "--test"
2019-08-23T07:29:51.7966688Z ------------------------------------------
2019-08-23T07:29:51.7966733Z 
2019-08-23T07:29:51.7966797Z running 1 test
2019-08-23T07:29:51.7967086Z test /checkout/src/test/rustdoc/issue-18199.rs - foo (line 5) ... FAILED
2019-08-23T07:29:51.7967086Z test /checkout/src/test/rustdoc/issue-18199.rs - foo (line 5) ... FAILED
2019-08-23T07:29:51.7967128Z 
2019-08-23T07:29:51.7967185Z failures:
2019-08-23T07:29:51.7967214Z 
2019-08-23T07:29:51.7967489Z ---- /checkout/src/test/rustdoc/issue-18199.rs - foo (line 5) stdout ----
2019-08-23T07:29:51.7968508Z thread '/checkout/src/test/rustdoc/issue-18199.rs - foo (line 5)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInput9pPiud.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7968823Z 
2019-08-23T07:29:51.7968868Z 
2019-08-23T07:29:51.7968914Z failures:
2019-08-23T07:29:51.7969229Z     /checkout/src/test/rustdoc/issue-18199.rs - foo (line 5)
---
2019-08-23T07:29:51.7970751Z ---- [rustdoc] rustdoc/issue-23106.rs stdout ----
2019-08-23T07:29:51.7970788Z 
2019-08-23T07:29:51.7970845Z error: rustdoc failed!
2019-08-23T07:29:51.7970892Z status: exit code: 101
2019-08-23T07:29:51.7971523Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-23106/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-23106" "/checkout/src/test/rustdoc/issue-23106.rs" "--test"
2019-08-23T07:29:51.7972853Z ------------------------------------------
2019-08-23T07:29:51.7972892Z 
2019-08-23T07:29:51.7972955Z running 1 test
2019-08-23T07:29:51.7973235Z test /checkout/src/test/rustdoc/issue-23106.rs - main (line 3) ... FAILED
2019-08-23T07:29:51.7973235Z test /checkout/src/test/rustdoc/issue-23106.rs - main (line 3) ... FAILED
2019-08-23T07:29:51.7973276Z 
2019-08-23T07:29:51.7973323Z failures:
2019-08-23T07:29:51.7973359Z 
2019-08-23T07:29:51.7973631Z ---- /checkout/src/test/rustdoc/issue-23106.rs - main (line 3) stdout ----
2019-08-23T07:29:51.7974570Z thread '/checkout/src/test/rustdoc/issue-23106.rs - main (line 3)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputnIgfWn.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7974760Z 
2019-08-23T07:29:51.7974788Z 
2019-08-23T07:29:51.7974840Z failures:
2019-08-23T07:29:51.7975119Z     /checkout/src/test/rustdoc/issue-23106.rs - main (line 3)
---
2019-08-23T07:29:51.7976406Z ---- [rustdoc] rustdoc/issue-23744.rs stdout ----
2019-08-23T07:29:51.7976443Z 
2019-08-23T07:29:51.7976489Z error: rustdoc failed!
2019-08-23T07:29:51.7976543Z status: exit code: 101
2019-08-23T07:29:51.7977171Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-23744/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-23744" "/checkout/src/test/rustdoc/issue-23744.rs" "--test"
2019-08-23T07:29:51.7977520Z ------------------------------------------
2019-08-23T07:29:51.7977557Z 
2019-08-23T07:29:51.7977976Z running 2 tests
2019-08-23T07:29:51.7978350Z test /checkout/src/test/rustdoc/issue-23744.rs - foo (line 5) ... FAILED
2019-08-23T07:29:51.7978350Z test /checkout/src/test/rustdoc/issue-23744.rs - foo (line 5) ... FAILED
2019-08-23T07:29:51.7978631Z test /checkout/src/test/rustdoc/issue-23744.rs - foo (line 9) ... FAILED
2019-08-23T07:29:51.7978674Z 
2019-08-23T07:29:51.7978733Z failures:
2019-08-23T07:29:51.7978762Z 
2019-08-23T07:29:51.7979035Z ---- /checkout/src/test/rustdoc/issue-23744.rs - foo (line 5) stdout ----
2019-08-23T07:29:51.7979722Z thread '/checkout/src/test/rustdoc/issue-23744.rs - foo (line 5)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputL4A2Mt.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7979883Z 
2019-08-23T07:29:51.7980201Z ---- /checkout/src/test/rustdoc/issue-23744.rs - foo (line 9) stdout ----
2019-08-23T07:29:51.7980201Z ---- /checkout/src/test/rustdoc/issue-23744.rs - foo (line 9) stdout ----
2019-08-23T07:29:51.7980747Z thread '/checkout/src/test/rustdoc/issue-23744.rs - foo (line 9)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputBGvQhA.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7980837Z 
2019-08-23T07:29:51.7980892Z failures:
2019-08-23T07:29:51.7981161Z     /checkout/src/test/rustdoc/issue-23744.rs - foo (line 5)
2019-08-23T07:29:51.7981538Z     /checkout/src/test/rustdoc/issue-23744.rs - foo (line 9)
---
2019-08-23T07:29:51.7982869Z ---- [rustdoc] rustdoc/issue-25944.rs stdout ----
2019-08-23T07:29:51.7982914Z 
2019-08-23T07:29:51.7982960Z error: rustdoc failed!
2019-08-23T07:29:51.7983019Z status: exit code: 101
2019-08-23T07:29:51.7983649Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-25944/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-25944" "/checkout/src/test/rustdoc/issue-25944.rs" "--test"
2019-08-23T07:29:51.7983988Z ------------------------------------------
2019-08-23T07:29:51.7984026Z 
2019-08-23T07:29:51.7984075Z running 1 test
2019-08-23T07:29:51.7984365Z test /checkout/src/test/rustdoc/issue-25944.rs - main (line 3) ... FAILED
2019-08-23T07:29:51.7984365Z test /checkout/src/test/rustdoc/issue-25944.rs - main (line 3) ... FAILED
2019-08-23T07:29:51.7984406Z 
2019-08-23T07:29:51.7984452Z failures:
2019-08-23T07:29:51.7984480Z 
2019-08-23T07:29:51.7984768Z ---- /checkout/src/test/rustdoc/issue-25944.rs - main (line 3) stdout ----
2019-08-23T07:29:51.7985587Z thread '/checkout/src/test/rustdoc/issue-25944.rs - main (line 3)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputQn7WRp.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7985767Z 
2019-08-23T07:29:51.7985796Z 
2019-08-23T07:29:51.7985839Z failures:
2019-08-23T07:29:51.7986166Z     /checkout/src/test/rustdoc/issue-25944.rs - main (line 3)
---
2019-08-23T07:29:51.7987459Z ---- [rustdoc] rustdoc/issue-30252.rs stdout ----
2019-08-23T07:29:51.7987939Z 
2019-08-23T07:29:51.7988049Z error: rustdoc failed!
2019-08-23T07:29:51.7988095Z status: exit code: 101
2019-08-23T07:29:51.7988836Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-30252/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-30252" "/checkout/src/test/rustdoc/issue-30252.rs" "--test" "--cfg" "feature=\"bar\""
2019-08-23T07:29:51.7989177Z ------------------------------------------
2019-08-23T07:29:51.7989214Z 
2019-08-23T07:29:51.7989263Z running 1 test
2019-08-23T07:29:51.7989547Z test /checkout/src/test/rustdoc/issue-30252.rs - foo (line 3) ... FAILED
2019-08-23T07:29:51.7989547Z test /checkout/src/test/rustdoc/issue-30252.rs - foo (line 3) ... FAILED
2019-08-23T07:29:51.7989585Z 
2019-08-23T07:29:51.7989630Z failures:
2019-08-23T07:29:51.7989659Z 
2019-08-23T07:29:51.7990753Z ---- /checkout/src/test/rustdoc/issue-30252.rs - foo (line 3) stdout ----
2019-08-23T07:29:51.7991698Z thread '/checkout/src/test/rustdoc/issue-30252.rs - foo (line 3)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputeGSUvN.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.7991855Z 
2019-08-23T07:29:51.7991883Z 
2019-08-23T07:29:51.7991926Z failures:
2019-08-23T07:29:51.7992210Z     /checkout/src/test/rustdoc/issue-30252.rs - foo (line 3)
---
2019-08-23T07:29:51.7994829Z ---- [rustdoc] rustdoc/issue-38129.rs stdout ----
2019-08-23T07:29:51.7994879Z 
2019-08-23T07:29:51.7994925Z error: rustdoc failed!
2019-08-23T07:29:51.7994970Z status: exit code: 101
2019-08-23T07:29:51.7995602Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-38129/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-38129" "/checkout/src/test/rustdoc/issue-38129.rs" "--test"
2019-08-23T07:29:51.7995928Z ------------------------------------------
2019-08-23T07:29:51.7995979Z 
2019-08-23T07:29:51.7996041Z running 5 tests
2019-08-23T07:29:51.7996333Z test /checkout/src/test/rustdoc/issue-38129.rs - both_attrs (line 47) ... FAILED
2019-08-23T07:29:51.7996333Z test /checkout/src/test/rustdoc/issue-38129.rs - both_attrs (line 47) ... FAILED
2019-08-23T07:29:51.7996649Z test /checkout/src/test/rustdoc/issue-38129.rs - both_attrs_reverse (line 74) ... FAILED
2019-08-23T07:29:51.7996940Z test /checkout/src/test/rustdoc/issue-38129.rs - feature_attr (line 41) ... FAILED
2019-08-23T07:29:51.8005257Z test /checkout/src/test/rustdoc/issue-38129.rs - non_feature_attr (line 15) ... FAILED
2019-08-23T07:29:51.8005677Z test /checkout/src/test/rustdoc/issue-38129.rs - simple (line 10) ... FAILED
2019-08-23T07:29:51.8005721Z 
2019-08-23T07:29:51.8005767Z failures:
2019-08-23T07:29:51.8005795Z 
2019-08-23T07:29:51.8006072Z ---- /checkout/src/test/rustdoc/issue-38129.rs - both_attrs (line 47) stdout ----
2019-08-23T07:29:51.8006739Z thread '/checkout/src/test/rustdoc/issue-38129.rs - both_attrs (line 47)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputWjVmKu.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8006901Z 
2019-08-23T07:29:51.8007217Z ---- /checkout/src/test/rustdoc/issue-38129.rs - both_attrs_reverse (line 74) stdout ----
2019-08-23T07:29:51.8007217Z ---- /checkout/src/test/rustdoc/issue-38129.rs - both_attrs_reverse (line 74) stdout ----
2019-08-23T07:29:51.8008227Z thread '/checkout/src/test/rustdoc/issue-38129.rs - both_attrs_reverse (line 74)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputDgmQ2D.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8008570Z ---- /checkout/src/test/rustdoc/issue-38129.rs - feature_attr (line 41) stdout ----
2019-08-23T07:29:51.8008570Z ---- /checkout/src/test/rustdoc/issue-38129.rs - feature_attr (line 41) stdout ----
2019-08-23T07:29:51.8009341Z thread '/checkout/src/test/rustdoc/issue-38129.rs - feature_attr (line 41)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputSJH62j.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8009871Z ---- /checkout/src/test/rustdoc/issue-38129.rs - non_feature_attr (line 15) stdout ----
2019-08-23T07:29:51.8009871Z ---- /checkout/src/test/rustdoc/issue-38129.rs - non_feature_attr (line 15) stdout ----
2019-08-23T07:29:51.8010378Z thread '/checkout/src/test/rustdoc/issue-38129.rs - non_feature_attr (line 15)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputqAIbpH.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8010703Z ---- /checkout/src/test/rustdoc/issue-38129.rs - simple (line 10) stdout ----
2019-08-23T07:29:51.8010703Z ---- /checkout/src/test/rustdoc/issue-38129.rs - simple (line 10) stdout ----
2019-08-23T07:29:51.8011200Z thread '/checkout/src/test/rustdoc/issue-38129.rs - simple (line 10)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputU3v2iR.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8011310Z 
2019-08-23T07:29:51.8011351Z failures:
2019-08-23T07:29:51.8011608Z     /checkout/src/test/rustdoc/issue-38129.rs - both_attrs (line 47)
2019-08-23T07:29:51.8011861Z     /checkout/src/test/rustdoc/issue-38129.rs - both_attrs_reverse (line 74)
---
2019-08-23T07:29:51.8013858Z ---- [rustdoc] rustdoc/issue-43153.rs stdout ----
2019-08-23T07:29:51.8013891Z 
2019-08-23T07:29:51.8013931Z error: rustdoc failed!
2019-08-23T07:29:51.8014135Z status: exit code: 101
2019-08-23T07:29:51.8014735Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-43153/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-43153" "/checkout/src/test/rustdoc/issue-43153.rs" "--test"
2019-08-23T07:29:51.8015153Z ------------------------------------------
2019-08-23T07:29:51.8015197Z 
2019-08-23T07:29:51.8015244Z running 1 test
2019-08-23T07:29:51.8015534Z test /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6) ... FAILED
2019-08-23T07:29:51.8015534Z test /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6) ... FAILED
2019-08-23T07:29:51.8015571Z 
2019-08-23T07:29:51.8015614Z failures:
2019-08-23T07:29:51.8015640Z 
2019-08-23T07:29:51.8015897Z ---- /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6) stdout ----
2019-08-23T07:29:51.8016383Z thread '/checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInput70CpsG.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8016510Z 
2019-08-23T07:29:51.8016536Z 
2019-08-23T07:29:51.8016573Z failures:
2019-08-23T07:29:51.8016932Z     /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6)
---
2019-08-23T07:29:51.8018486Z ---- [rustdoc] rustdoc/issue-48377.rs stdout ----
2019-08-23T07:29:51.8018520Z 
2019-08-23T07:29:51.8018560Z error: rustdoc failed!
2019-08-23T07:29:51.8018601Z status: exit code: 101
2019-08-23T07:29:51.8019178Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-48377/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-48377" "/checkout/src/test/rustdoc/issue-48377.rs" "--test"
2019-08-23T07:29:51.8019490Z ------------------------------------------
2019-08-23T07:29:51.8019524Z 
2019-08-23T07:29:51.8019569Z running 2 tests
2019-08-23T07:29:51.8019810Z test /checkout/src/test/rustdoc/issue-48377.rs -  (line 10) ... FAILED
2019-08-23T07:29:51.8019810Z test /checkout/src/test/rustdoc/issue-48377.rs -  (line 10) ... FAILED
2019-08-23T07:29:51.8020070Z test /checkout/src/test/rustdoc/issue-48377.rs -  (line 5) ... FAILED
2019-08-23T07:29:51.8020108Z 
2019-08-23T07:29:51.8020148Z failures:
2019-08-23T07:29:51.8020174Z 
2019-08-23T07:29:51.8020429Z ---- /checkout/src/test/rustdoc/issue-48377.rs -  (line 10) stdout ----
2019-08-23T07:29:51.8020919Z thread '/checkout/src/test/rustdoc/issue-48377.rs -  (line 10)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInput5Pix6q.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8021054Z 
2019-08-23T07:29:51.8021295Z ---- /checkout/src/test/rustdoc/issue-48377.rs -  (line 5) stdout ----
2019-08-23T07:29:51.8021295Z ---- /checkout/src/test/rustdoc/issue-48377.rs -  (line 5) stdout ----
2019-08-23T07:29:51.8021793Z thread '/checkout/src/test/rustdoc/issue-48377.rs -  (line 5)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputt7TOOr.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8021873Z 
2019-08-23T07:29:51.8021911Z failures:
2019-08-23T07:29:51.8022156Z     /checkout/src/test/rustdoc/issue-48377.rs -  (line 10)
2019-08-23T07:29:51.8022389Z     /checkout/src/test/rustdoc/issue-48377.rs -  (line 5)
---
2019-08-23T07:29:51.8026403Z 
2019-08-23T07:29:51.8026445Z failures:
2019-08-23T07:29:51.8026487Z 
2019-08-23T07:29:51.8026747Z ---- /checkout/src/test/rustdoc/issue-54478-demo-allocator.rs -  (line 19) stdout ----
2019-08-23T07:29:51.8027257Z thread '/checkout/src/test/rustdoc/issue-54478-demo-allocator.rs -  (line 19)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputZkmnkZ.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8027397Z 
2019-08-23T07:29:51.8027424Z 
2019-08-23T07:29:51.8027475Z failures:
2019-08-23T07:29:51.8028067Z     /checkout/src/test/rustdoc/issue-54478-demo-allocator.rs -  (line 19)
---
2019-08-23T07:29:51.8029479Z ---- [rustdoc] rustdoc/process-termination.rs stdout ----
2019-08-23T07:29:51.8029513Z 
2019-08-23T07:29:51.8030458Z error: rustdoc failed!
2019-08-23T07:29:51.8030525Z status: exit code: 101
2019-08-23T07:29:51.8031175Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/process-termination/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/process-termination" "/checkout/src/test/rustdoc/process-termination.rs" "--test"
2019-08-23T07:29:51.8031490Z ------------------------------------------
2019-08-23T07:29:51.8031524Z 
2019-08-23T07:29:51.8031569Z running 3 tests
2019-08-23T07:29:51.8031859Z test /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 14) ... FAILED
2019-08-23T07:29:51.8031859Z test /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 14) ... FAILED
2019-08-23T07:29:51.8032140Z test /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 20) ... FAILED
2019-08-23T07:29:51.8032607Z test /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 7) ... FAILED
2019-08-23T07:29:51.8032667Z 
2019-08-23T07:29:51.8032708Z failures:
2019-08-23T07:29:51.8032734Z 
2019-08-23T07:29:51.8033061Z ---- /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 14) stdout ----
2019-08-23T07:29:51.8033601Z thread '/checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 14)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputX98apu.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8033735Z 
2019-08-23T07:29:51.8034011Z ---- /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 20) stdout ----
2019-08-23T07:29:51.8034011Z ---- /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 20) stdout ----
2019-08-23T07:29:51.8034564Z thread '/checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 20)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputOF7bd7.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8035009Z ---- /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 7) stdout ----
2019-08-23T07:29:51.8035009Z ---- /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 7) stdout ----
2019-08-23T07:29:51.8035551Z thread '/checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 7)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/tempRustDocTestInputHgkcAy.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8035635Z 
2019-08-23T07:29:51.8035691Z failures:
2019-08-23T07:29:51.8035965Z     /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 14)
2019-08-23T07:29:51.8036245Z     /checkout/src/test/rustdoc/process-termination.rs - check_process_termination (line 20)
---
2019-08-23T07:29:51.8038280Z ---- [rustdoc] rustdoc/test_option_check/bar.rs stdout ----
2019-08-23T07:29:51.8038320Z 
2019-08-23T07:29:51.8038361Z error: rustdoc failed!
2019-08-23T07:29:51.8038422Z status: exit code: 101
2019-08-23T07:29:51.8039021Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/test_option_check/bar/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/test_option_check/bar" "/checkout/src/test/rustdoc/test_option_check/bar.rs" "--test"
2019-08-23T07:29:51.8039329Z ------------------------------------------
2019-08-23T07:29:51.8039362Z 
2019-08-23T07:29:51.8039407Z running 1 test
2019-08-23T07:29:51.8039407Z running 1 test
2019-08-23T07:29:51.8039673Z test /checkout/src/test/rustdoc/test_option_check/bar.rs - foooo (line 6) ... FAILED
2019-08-23T07:29:51.8039755Z failures:
2019-08-23T07:29:51.8039780Z 
2019-08-23T07:29:51.8039780Z 
2019-08-23T07:29:51.8040046Z ---- /checkout/src/test/rustdoc/test_option_check/bar.rs - foooo (line 6) stdout ----
2019-08-23T07:29:51.8040691Z thread '/checkout/src/test/rustdoc/test_option_check/bar.rs - foooo (line 6)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/test_option_check/tempRustDocTestInputm7480h.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8040835Z 
2019-08-23T07:29:51.8040864Z 
2019-08-23T07:29:51.8040903Z failures:
2019-08-23T07:29:51.8040903Z failures:
2019-08-23T07:29:51.8041197Z     /checkout/src/test/rustdoc/test_option_check/bar.rs - foooo (line 6)
2019-08-23T07:29:51.8041280Z test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
2019-08-23T07:29:51.8041312Z 
2019-08-23T07:29:51.8041351Z 
2019-08-23T07:29:51.8041565Z ------------------------------------------
---
2019-08-23T07:29:51.8043261Z stdout:
2019-08-23T07:29:51.8043488Z ------------------------------------------
2019-08-23T07:29:51.8043522Z 
2019-08-23T07:29:51.8043580Z running 3 tests
2019-08-23T07:29:51.8043841Z test /checkout/src/test/rustdoc/test_option_check/bar.rs - bar::foooo (line 6) ... FAILED
2019-08-23T07:29:51.8044123Z test /checkout/src/test/rustdoc/test_option_check/test.rs - Bar (line 15) ... FAILED
2019-08-23T07:29:51.8044382Z test /checkout/src/test/rustdoc/test_option_check/test.rs - Foo (line 8) ... FAILED
2019-08-23T07:29:51.8044471Z failures:
2019-08-23T07:29:51.8044497Z 
2019-08-23T07:29:51.8044497Z 
2019-08-23T07:29:51.8044750Z ---- /checkout/src/test/rustdoc/test_option_check/bar.rs - bar::foooo (line 6) stdout ----
2019-08-23T07:29:51.8045285Z thread '/checkout/src/test/rustdoc/test_option_check/bar.rs - bar::foooo (line 6)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/test_option_check/tempRustDocTestInput0liJ4L.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8045418Z 
2019-08-23T07:29:51.8045690Z ---- /checkout/src/test/rustdoc/test_option_check/test.rs - Bar (line 15) stdout ----
2019-08-23T07:29:51.8045690Z ---- /checkout/src/test/rustdoc/test_option_check/test.rs - Bar (line 15) stdout ----
2019-08-23T07:29:51.8046211Z thread '/checkout/src/test/rustdoc/test_option_check/test.rs - Bar (line 15)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/test_option_check/tempRustDocTestInputRgQ43J.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8046537Z ---- /checkout/src/test/rustdoc/test_option_check/test.rs - Foo (line 8) stdout ----
2019-08-23T07:29:51.8046537Z ---- /checkout/src/test/rustdoc/test_option_check/test.rs - Foo (line 8) stdout ----
2019-08-23T07:29:51.8047146Z thread '/checkout/src/test/rustdoc/test_option_check/test.rs - Foo (line 8)' panicked at 'rustdoc needs to create a tempfile: Custom { kind: Other, error: PathError { path: "/checkout/src/test/rustdoc/test_option_check/tempRustDocTestInputQafxVx.rs", err: Os { code: 30, kind: Other, message: "Read-only file system" } } }', src/libcore/result.rs:1084:5
2019-08-23T07:29:51.8047269Z 
2019-08-23T07:29:51.8047308Z failures:
2019-08-23T07:29:51.8047308Z failures:
2019-08-23T07:29:51.8047600Z     /checkout/src/test/rustdoc/test_option_check/bar.rs - bar::foooo (line 6)
2019-08-23T07:29:51.8048155Z     /checkout/src/test/rustdoc/test_option_check/test.rs - Bar (line 15)
2019-08-23T07:29:51.8048407Z     /checkout/src/test/rustdoc/test_option_check/test.rs - Foo (line 8)
2019-08-23T07:29:51.8048506Z test result: FAILED. 0 passed; 3 failed; 0 ignored; 0 measured; 0 filtered out
2019-08-23T07:29:51.8048539Z 
2019-08-23T07:29:51.8048566Z 
2019-08-23T07:29:51.8049194Z ------------------------------------------
---
2019-08-23T07:29:51.8053806Z test result: FAILED. 299 passed; 17 failed; 2 ignored; 0 measured; 0 filtered out
2019-08-23T07:29:51.8053857Z 
2019-08-23T07:29:51.8053883Z 
2019-08-23T07:29:51.8053908Z 
2019-08-23T07:29:51.8055461Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--rustdoc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "--src-base" "/checkout/src/test/rustdoc" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "rustdoc" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-08-23T07:29:51.8055734Z 
2019-08-23T07:29:51.8055849Z 
2019-08-23T07:29:51.8056161Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:536:22
2019-08-23T07:29:51.8056222Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-23T07:29:51.8056222Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-23T07:29:51.8056277Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-23T07:29:51.8056340Z Build completed unsuccessfully in 1:17:54
2019-08-23T07:29:51.8056383Z == clock drift check ==
2019-08-23T07:29:51.8056428Z   local time: Fri Aug 23 07:29:51 UTC 2019
2019-08-23T07:29:51.8891571Z   network time: Fri, 23 Aug 2019 07:29:51 GMT
2019-08-23T07:29:51.8892711Z == end clock drift check ==
2019-08-23T07:29:53.9775867Z ##[error]Bash exited with code '1'.
2019-08-23T07:29:53.9857426Z ##[section]Starting: Checkout
2019-08-23T07:29:53.9859796Z ==============================================================================
2019-08-23T07:29:53.9859877Z Task         : Get sources
2019-08-23T07:29:53.9860087Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Mark-Simulacrum
Copy link
Member

I'll try to make some time tomorrow to review this patch and leave some notes here.

@JohnTitor JohnTitor added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Aug 25, 2019
@Mark-Simulacrum
Copy link
Member

cc @rust-lang/rustdoc as y'all might have thoughts on this / should be aware

@Mark-Simulacrum Mark-Simulacrum added S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. S-blocked Status: Marked as blocked ❌ on something else such as an RFC or other implementation work. labels Aug 25, 2019
@andjo403 andjo403 force-pushed the out-of-process-rustc-in-rustdoc branch from 2661f79 to ad6b322 Compare August 26, 2019 20:26
@andjo403

This comment has been minimized.

src/librustc_driver/lib.rs Outdated Show resolved Hide resolved
src/librustdoc/test.rs Outdated Show resolved Hide resolved
@Mark-Simulacrum
Copy link
Member

Mark-Simulacrum commented Aug 26, 2019

We probably need to set the current directory of the compiler to the same as rustdoc's, all other paths (in the input that is) should be relative to that anyway.

@andjo403
Copy link
Contributor Author

tried to set current dir to rustdocs current dir but that it did not work and according to the doc the path shall be relative the current file

@Mark-Simulacrum
Copy link
Member

I'll try to get this branch built locally and get back to you after some debugging then.

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-26T20:26:50.1377294Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-26T20:26:50.1605793Z ##[command]git config gc.auto 0
2019-08-26T20:26:50.1664445Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-26T20:26:50.1717065Z ##[command]git config --get-all http.proxy
2019-08-26T20:26:50.1831549Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63827/merge:refs/remotes/pull/63827/merge
---
2019-08-26T20:27:25.0228405Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-26T20:27:25.0228605Z 
2019-08-26T20:27:25.0228931Z   git checkout -b <new-branch-name>
2019-08-26T20:27:25.0229112Z 
2019-08-26T20:27:25.0229296Z HEAD is now at bf96088cb Merge ad6b322fd9bf5988bf0cee6c470c693e24601cca into 9fa8f140233047fb0211dbaee531a290bcfeae7e
2019-08-26T20:27:25.0380778Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-26T20:27:25.0383261Z ==============================================================================
2019-08-26T20:27:25.0383305Z Task         : Bash
2019-08-26T20:27:25.0383339Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-26T21:26:55.1456583Z .................................................................................................... 1500/8953
2019-08-26T21:27:00.5729243Z .................................................................................................... 1600/8953
2019-08-26T21:27:12.7328848Z .............................................i...............i...................................... 1700/8953
2019-08-26T21:27:20.4891173Z .................................................................................................... 1800/8953
2019-08-26T21:27:34.2666267Z .....................................iiiii.......................................................... 1900/8953
2019-08-26T21:27:44.2812324Z .................................................................................................... 2100/8953
2019-08-26T21:27:46.6792699Z .................................................................................................... 2200/8953
2019-08-26T21:27:50.7318860Z .................................................................................................... 2300/8953
2019-08-26T21:27:57.6935505Z .................................................................................................... 2400/8953
---
2019-08-26T21:30:47.7973214Z .........................i...............i.......................................................... 4700/8953
2019-08-26T21:30:58.8477403Z .................................................................................................... 4800/8953
2019-08-26T21:31:04.7316654Z .................................................................................................... 4900/8953
2019-08-26T21:31:15.0594047Z .................................................................................................... 5000/8953
2019-08-26T21:31:20.2057335Z ......ii.ii......................................................................................... 5100/8953
2019-08-26T21:31:33.6193559Z .................................................................................................... 5300/8953
2019-08-26T21:31:40.2664773Z ..............................................................i..................................... 5400/8953
2019-08-26T21:31:47.0175618Z .................................................................................................... 5500/8953
2019-08-26T21:31:54.3332999Z .................................................................................................... 5600/8953
2019-08-26T21:31:54.3332999Z .................................................................................................... 5600/8953
2019-08-26T21:32:03.4379302Z ........................................................ii...i..ii...........i...................... 5700/8953
2019-08-26T21:32:23.6244962Z .................................................................................................... 5900/8953
2019-08-26T21:32:28.2278269Z .................................................................................................... 6000/8953
2019-08-26T21:32:28.2278269Z .................................................................................................... 6000/8953
2019-08-26T21:32:35.0536380Z .........................................................i..ii...................................... 6100/8953
2019-08-26T21:33:01.1529261Z .................................................................................................... 6300/8953
2019-08-26T21:33:03.0910341Z ...i................................................................................................ 6400/8953
2019-08-26T21:33:05.0659011Z ...........................................................................i........................ 6500/8953
2019-08-26T21:33:07.5158387Z .................................................................................................... 6600/8953
---
2019-08-26T21:37:32.5293092Z  finished in 18.624
2019-08-26T21:37:32.5452290Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T21:37:32.7001336Z 
2019-08-26T21:37:32.7001497Z running 149 tests
2019-08-26T21:37:35.6726221Z i....iii......iii..iiii....i.............................i..i..................i....i.........ii.i.i 100/149
2019-08-26T21:37:37.5282444Z ..iiii..............i.........iii.i......ii......
2019-08-26T21:37:37.5283699Z 
2019-08-26T21:37:37.5287791Z  finished in 4.983
2019-08-26T21:37:37.5449222Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T21:37:37.7001432Z 
---
2019-08-26T21:37:39.6910132Z  finished in 2.146
2019-08-26T21:37:39.7072828Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T21:37:39.8606668Z 
2019-08-26T21:37:39.8607108Z running 9 tests
2019-08-26T21:37:39.8608106Z iiiiiiiii
2019-08-26T21:37:39.8608522Z 
2019-08-26T21:37:39.8608561Z  finished in 0.153
2019-08-26T21:37:39.8763845Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T21:37:40.0303230Z 
---
2019-08-26T21:37:57.0984613Z  finished in 17.220
2019-08-26T21:37:57.1146206Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T21:37:57.2671537Z 
2019-08-26T21:38:19.4467650Z running 122 tests
2019-08-26T21:38:19.4469294Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
2019-08-26T21:38:23.7242071Z .i.i......iii.i.....ii
2019-08-26T21:38:23.7243625Z 
2019-08-26T21:38:23.7243749Z  finished in 26.609
2019-08-26T21:38:23.7253338Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-26T21:38:23.7253963Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-08-26T21:45:25.0821222Z ---- [rustdoc] rustdoc/issue-43153.rs stdout ----
2019-08-26T21:45:25.0821282Z 
2019-08-26T21:45:25.0821334Z error: rustdoc failed!
2019-08-26T21:45:25.0821372Z status: exit code: 101
2019-08-26T21:45:25.0821859Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-43153/auxiliary" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-43153" "/checkout/src/test/rustdoc/issue-43153.rs" "--test"
2019-08-26T21:45:25.0822123Z ------------------------------------------
2019-08-26T21:45:25.0822378Z 
2019-08-26T21:45:25.0823499Z running 1 test
2019-08-26T21:45:25.0823947Z test /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6) ... FAILED
2019-08-26T21:45:25.0823947Z test /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6) ... FAILED
2019-08-26T21:45:25.0823989Z 
2019-08-26T21:45:25.0824061Z failures:
2019-08-26T21:45:25.0824088Z 
2019-08-26T21:45:25.0824346Z ---- /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6) stdout ----
2019-08-26T21:45:25.0827293Z "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--cfg" "rustdoc" "--cfg" "doctest" "--edition" "2015" "-o" "/tmp/rustdoctestmtxQ8P/rust_out" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc/issue-43153/auxiliary" "-"
2019-08-26T21:45:25.0827823Z Output { status: ExitStatus(ExitStatus(256)), stdout: "", stderr: "error: couldn\'t read \"/checkout/src/test/rustdoc/auxiliary/empty.rs: No such file or directory (os error 2)\n --> \"/checkout/src/test/rustdoc/issue-43153.rs\":7:1\n  |\n2 | include!(\"auxiliary/empty.rs\");\n  | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n\nerror: aborting due to previous error\n\n" }
2019-08-26T21:45:25.0828225Z 
2019-08-26T21:45:25.0828262Z failures:
2019-08-26T21:45:25.0828470Z     /checkout/src/test/rustdoc/issue-43153.rs - Foo (line 6)
2019-08-26T21:45:25.0828506Z 
---
2019-08-26T21:45:25.0830424Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:536:22
2019-08-26T21:45:25.0830473Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-26T21:45:25.0830885Z 
2019-08-26T21:45:25.0831573Z 
2019-08-26T21:45:25.0834418Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--rustdoc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustdoc" "--src-base" "/checkout/src/test/rustdoc" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/rustdoc" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "rustdoc" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
2019-08-26T21:45:25.0835034Z 
2019-08-26T21:45:25.0835069Z 
2019-08-26T21:45:25.0838056Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-26T21:45:25.0838530Z Build completed unsuccessfully in 1:11:23
2019-08-26T21:45:25.0838530Z Build completed unsuccessfully in 1:11:23
2019-08-26T21:45:25.0888363Z == clock drift check ==
2019-08-26T21:45:25.0906671Z   local time: Mon Aug 26 21:45:25 UTC 2019
2019-08-26T21:45:25.1858040Z   network time: Mon, 26 Aug 2019 21:45:25 GMT
2019-08-26T21:45:25.1862572Z == end clock drift check ==
2019-08-26T21:45:27.5151705Z ##[error]Bash exited with code '1'.
2019-08-26T21:45:27.5189157Z ##[section]Starting: Checkout
2019-08-26T21:45:27.5190977Z ==============================================================================
2019-08-26T21:45:27.5191020Z Task         : Get sources
2019-08-26T21:45:27.5191055Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@Mark-Simulacrum
Copy link
Member

This patch fixes the test failure for me:

diff --git a/src/librustdoc/test.rs b/src/librustdoc/test.rs
index f27d6c3597e..e5b38a8f84f 100644
--- a/src/librustdoc/test.rs
+++ b/src/librustdoc/test.rs
@@ -199,7 +199,7 @@ fn run_test(
         _ => PathBuf::from(r"doctest.rs"),
     };

-    let file_and_line = format!("{:?}:{}",path,line as isize - line_offset as isize);
+    let file_and_line = format!("{}:{}", path.display(), line as isize - line_offset as isize);

     enum DirState {
         Temp(tempfile::TempDir),
@@ -245,7 +245,6 @@ fn run_test(
         compiler.arg("--sysroot").arg(sysroot);
     }
     compiler.arg("--edition").arg(&edition.to_string());
-    compiler.current_dir(outdir.path());
     compiler.env("UNSTABLE_RUSTDOC_TEST_FILE_AND_LINE", file_and_line);
     compiler.arg("-o").arg(&output_file);
     if as_test_harness {

@andjo403 andjo403 force-pushed the out-of-process-rustc-in-rustdoc branch from ad6b322 to fde794c Compare August 27, 2019 07:00
@andjo403
Copy link
Contributor Author

thanks for finding that

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-llvm-6.0 of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-27T07:02:52.5107310Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-08-27T07:02:52.5336621Z ##[command]git config gc.auto 0
2019-08-27T07:02:52.5400172Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-08-27T07:02:52.5456133Z ##[command]git config --get-all http.proxy
2019-08-27T07:02:52.5598110Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63827/merge:refs/remotes/pull/63827/merge
---
2019-08-27T07:03:29.7406108Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-27T07:03:29.7406138Z 
2019-08-27T07:03:29.7406375Z   git checkout -b <new-branch-name>
2019-08-27T07:03:29.7406404Z 
2019-08-27T07:03:29.7406469Z HEAD is now at 8f57a2d8f Merge fde794c9f86bd69cc63e85320ae5d317e0ded8d1 into 0444b9f66acb5da23dc816e0d8eb59623ba9ea50
2019-08-27T07:03:29.7566317Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-27T07:03:29.7570148Z ==============================================================================
2019-08-27T07:03:29.7570214Z Task         : Bash
2019-08-27T07:03:29.7570260Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-27T08:05:04.3244095Z .................................................................................................... 1500/8967
2019-08-27T08:05:09.9981403Z .................................................................................................... 1600/8967
2019-08-27T08:05:22.5478659Z .............................................i...............i...................................... 1700/8967
2019-08-27T08:05:30.6691094Z .................................................................................................... 1800/8967
2019-08-27T08:05:44.6773556Z ....................................iiiii........................................................... 1900/8967
2019-08-27T08:05:55.3061428Z .................................................................................................... 2100/8967
2019-08-27T08:05:57.8974630Z .................................................................................................... 2200/8967
2019-08-27T08:06:02.2853871Z .................................................................................................... 2300/8967
2019-08-27T08:06:09.5336676Z .................................................................................................... 2400/8967
---
2019-08-27T08:09:08.4542275Z .......................i...............i............................................................ 4700/8967
2019-08-27T08:09:20.7018240Z .................................................................................................... 4800/8967
2019-08-27T08:09:26.8199377Z .................................................................................................... 4900/8967
2019-08-27T08:09:37.7524868Z .................................................................................................... 5000/8967
2019-08-27T08:09:43.0935447Z ....ii.ii........................................................................................... 5100/8967
2019-08-27T08:09:57.1615949Z .................................................................................................... 5300/8967
2019-08-27T08:10:04.6761197Z ..................................................................i................................. 5400/8967
2019-08-27T08:10:12.0829558Z .................................................................................................... 5500/8967
2019-08-27T08:10:19.0823455Z .................................................................................................... 5600/8967
2019-08-27T08:10:19.0823455Z .................................................................................................... 5600/8967
2019-08-27T08:10:29.2724955Z ............................................................ii...i..ii...........i.................. 5700/8967
2019-08-27T08:10:54.0574924Z .................................................................................................... 5900/8967
2019-08-27T08:10:59.0968534Z .................................................................................................... 6000/8967
2019-08-27T08:10:59.0968534Z .................................................................................................... 6000/8967
2019-08-27T08:11:06.0079078Z .............................................................i..ii.................................. 6100/8967
2019-08-27T08:11:33.7587589Z .................................................................................................... 6300/8967
2019-08-27T08:11:35.9007248Z .................i.................................................................................. 6400/8967
2019-08-27T08:11:38.1053863Z ........................................................................................i........... 6500/8967
2019-08-27T08:11:40.9106745Z .................................................................................................... 6600/8967
---
2019-08-27T08:16:22.1456373Z  finished in 21.445
2019-08-27T08:16:22.1647766Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:16:22.3402199Z 
2019-08-27T08:16:22.3403225Z running 149 tests
2019-08-27T08:16:25.6861042Z i....iii......iii..iiii....i.............................i..i..................i....i.........ii.i.i 100/149
2019-08-27T08:16:27.6844715Z ..iiii..............i.........iii.i......ii......
2019-08-27T08:16:28.5064046Z 
2019-08-27T08:16:28.5065465Z  finished in 5.520
2019-08-27T08:16:28.5067637Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:16:28.5068396Z 
---
2019-08-27T08:16:30.0087263Z  finished in 2.305
2019-08-27T08:16:30.0290278Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:16:30.1943616Z 
2019-08-27T08:16:30.1944466Z running 9 tests
2019-08-27T08:16:30.1947747Z iiiiiiiii
2019-08-27T08:16:30.1948449Z 
2019-08-27T08:16:30.1949041Z  finished in 0.165
2019-08-27T08:16:30.2149714Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:16:30.3806610Z 
---
2019-08-27T08:16:49.0861001Z  finished in 18.871
2019-08-27T08:16:49.1092635Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:16:49.2819657Z 
2019-08-27T08:16:49.2820078Z running 122 tests
2019-08-27T08:17:13.4651871Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
2019-08-27T08:17:18.1182409Z .i.i......iii.i.....ii
2019-08-27T08:17:18.1183278Z 
2019-08-27T08:17:18.1195857Z  finished in 29.010
2019-08-27T08:17:18.1210712Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:17:18.1248378Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-08-27T08:31:21.1758636Z 
2019-08-27T08:31:21.1759628Z    Doc-tests core
2019-08-27T08:31:26.1692040Z 
2019-08-27T08:31:26.1693313Z running 2379 tests
2019-08-27T08:31:39.4399747Z ......iiiii......................................................................................... 100/2379
2019-08-27T08:31:52.0983025Z .........................................................................ii......................... 200/2379
2019-08-27T08:32:22.6367028Z .................................................................................................... 400/2379
2019-08-27T08:32:22.6367028Z .................................................................................................... 400/2379
2019-08-27T08:32:34.5419164Z ..............................i..i.................iiii............................................. 500/2379
2019-08-27T08:32:58.7531913Z .................................................................................................... 700/2379
2019-08-27T08:33:10.6213983Z .................................................................................................... 800/2379
2019-08-27T08:33:22.3404604Z .................................................................................................... 900/2379
2019-08-27T08:33:34.3450633Z .................................................................................................... 1000/2379
---
2019-08-27T08:38:58.8063897Z 
2019-08-27T08:38:58.8090511Z running 991 tests
2019-08-27T08:39:23.5281059Z i................................................................................................... 100/991
2019-08-27T08:39:38.3437199Z .................................................................................................... 200/991
2019-08-27T08:39:51.4045755Z .................iii......i......i...i......i....................................................... 300/991
2019-08-27T08:40:06.1840395Z .................................................................................................... 400/991
2019-08-27T08:40:17.8494102Z ..................................i..i.................................ii........................... 500/991
2019-08-27T08:40:44.0308688Z .................................................................................................... 700/991
2019-08-27T08:40:44.0308688Z .................................................................................................... 700/991
2019-08-27T08:41:00.2457490Z .................iiii............................................................................... 800/991
2019-08-27T08:41:21.7595955Z .................................................................................................... 900/991
2019-08-27T08:41:35.2112333Z .......................................iiii................................................
2019-08-27T08:41:35.2112536Z 
2019-08-27T08:41:35.2150539Z  finished in 302.356
2019-08-27T08:41:35.2170940Z Testing term stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:41:35.4180133Z    Compiling term v0.0.0 (/checkout/src/libterm)
---
2019-08-27T08:57:38.1476265Z  finished in 40.405
2019-08-27T08:57:38.1829148Z Check compiletest suite=run-make-fulldeps mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-08-27T08:57:38.3473765Z 
2019-08-27T08:57:38.3474769Z running 200 tests
2019-08-27T08:58:12.2347783Z ....................i...ii................................................................i......... 100/200
2019-08-27T08:59:00.8839239Z ..............................iiii.......i...........iiii.iii....................................i.. 200/200
2019-08-27T08:59:00.8841240Z test result: ok. 183 passed; 0 failed; 17 ignored; 0 measured; 0 filtered out
2019-08-27T08:59:00.8841319Z 
2019-08-27T08:59:00.8848835Z  finished in 82.702
2019-08-27T08:59:00.8858781Z doc tests for: /checkout/src/doc/rustdoc/src/command-line-arguments.md
---
2019-08-27T08:59:02.7244395Z 
2019-08-27T08:59:02.7244453Z failures:
2019-08-27T08:59:02.7244481Z 
2019-08-27T08:59:02.7244802Z ---- /checkout/src/doc/unstable-book/src/compiler-flags/emit-stack-sizes.md - The_tracking_issue_for_this_feature_is__ (line 17) stdout ----
2019-08-27T08:59:02.7245117Z Couldn't run the test: Permission denied (os error 13) - maybe your tempdir is mounted with noexec?
2019-08-27T08:59:02.7245199Z failures:
2019-08-27T08:59:02.7245520Z     /checkout/src/doc/unstable-book/src/compiler-flags/emit-stack-sizes.md - The_tracking_issue_for_this_feature_is__ (line 17)
2019-08-27T08:59:02.7245582Z 
2019-08-27T08:59:02.7245630Z test result: FAILED. 1 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
---
2019-08-27T08:59:02.7313649Z == clock drift check ==
2019-08-27T08:59:02.7334460Z   local time: Tue Aug 27 08:59:02 UTC 2019
2019-08-27T08:59:02.8684947Z   network time: Tue, 27 Aug 2019 08:59:02 GMT
2019-08-27T08:59:02.8685656Z == end clock drift check ==
2019-08-27T08:59:06.0730683Z ##[error]Bash exited with code '1'.
2019-08-27T08:59:06.0770288Z ##[section]Starting: Checkout
2019-08-27T08:59:06.0772022Z ==============================================================================
2019-08-27T08:59:06.0772104Z Task         : Get sources
2019-08-27T08:59:06.0772144Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@andjo403

This comment has been minimized.

@andjo403 andjo403 force-pushed the out-of-process-rustc-in-rustdoc branch from fde794c to 67e18bf Compare August 27, 2019 20:18
@bors
Copy link
Contributor

bors commented Aug 30, 2019

⌛ Testing commit b304cd0 with merge 0f41401...

bors added a commit that referenced this pull request Aug 30, 2019
…rk-Simulacrum

Run doctests via out-of-process rustc

closes #63638
@Mark-Simulacrum
Copy link
Member

Overall I'd rather see the underlying performance issues with running rustc in the rustdoc process fixed. If this is just supposed to a temporary workaround then that's fine but #63638 should be left open.

I think out-of-process test runs are better for a number of reasons:

  • potential for non-rustc runners, e.g. miri
  • guaranteed that doc tests are "nothing special" (i.e., can be run on the command line by end-users if they want to).

Furthermore, I think the in-process model is inherently more complicated and painful than this: we need to track defaults over time, setup globals correctly, etc. This model, running rustc, is essentially guaranteed to work well and relies far less on internal compiler details. We're also unable to determine why the threaded case is slower: profiling and such didn't yield anything meaningful.

@Mark-Simulacrum
Copy link
Member

Testing this locally, I actually get worse performance when running the core doctests. From about 194s to 214s so about 10% worse. I'm running Windows on a 4 core 8 thread machine.

I think it's possible there's more performance gains to be had here: e.g., I believe we still have a global, system-wide, lock on diagnostic output on Windows, which could contribute to slowdown here. Regardless, I think a performance difference of 0.9x on Windows is more than worth the 2x performance gain on Linux.

@andjo403
Copy link
Contributor Author

think that the regression for cpu with few cores can be due to the there is no jobserver at the time and the the codegen-units is not 1 by default.

so for a 8 threaded cpu 8 test will start and each test have the possibility as there is no jobserver to start 32 jobbs at the same time resulting in the possibility that 256 threads is concurrently running, this is counted high hoppfully not 32 codegen-units is created for the small tests.

@ollie27 can you test to add -Ccodegen-units=1 to the rustdoc command?

@bors
Copy link
Contributor

bors commented Aug 30, 2019

☀️ Test successful - checks-azure
Approved by: Mark-Simulacrum
Pushing 0f41401 to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Aug 30, 2019
@bjorn3
Copy link
Member

bjorn3 commented Aug 30, 2019

@ollie27 can you test to add -Ccodegen-units=1 to the rustdoc command?

That would not work in incremental mode.

@bors bors merged commit b304cd0 into rust-lang:master Aug 30, 2019
@andjo403
Copy link
Contributor Author

That would not work in incremental mode.

@bjorn3 I do not understand what you mean with incremental mode
what shall be incremental?
if you talk about the rustc incremental feature for the tests is that even possible to use for temp files?

@bjorn3
Copy link
Member

bjorn3 commented Aug 30, 2019

if you talk about the rustc incremental feature for the tests

Yes

is that even possible to use for temp files?

I don't know.

@Mark-Simulacrum
Copy link
Member

We should be able to set -Ccodegen-units=1 without any problems for the rustc we're executing; incremental won't matter as we're not passing -Cincremental (intentionally, nothing rustdoc does is incrementalized).

@andjo403
Copy link
Contributor Author

working on reproducing the regression and will check if my theory about codegen-units solves the problem but it takes for ever to compile on my laptop

@andjo403
Copy link
Contributor Author

I'm not able to reproduce the regression on my computer with windows10 and 2 core 4 thread cpu
the times that I get running ./x.py test src/libcore --doc for the core part is :

before this PR with this PR with this PR and codgen-units =1
finished in 303.155 finished in 305.201 finished in 275.151
finished in 305.767 finished in 303.707 finished in 272.476

so no change with this PR and with codegen-units=1 about 10% faster tests

@ollie27
Copy link
Member

ollie27 commented Aug 31, 2019

@ollie27 can you test to add -Ccodegen-units=1 to the rustdoc command?

That does improve the time to 203s from 214s but it's still not quite as fast as the 194s before this PR.

@Mark-Simulacrum
Copy link
Member

(I'll note here that I continue to think this regression is, if not expected, not too bad. However, if we decide to revert, that's also largely acceptable to me, though I would personally be against such a revert).

@andjo403 andjo403 deleted the out-of-process-rustc-in-rustdoc branch September 1, 2019 15:35
netbsd-srcmastr pushed a commit to NetBSD/pkgsrc that referenced this pull request Nov 11, 2019
Pkgsrc changes:
 * Remove patch which no longer applies (but what about RPATH?)
 * Adapt a few patches to changed files upstream.

Upstream changes:

Version 1.39.0 (2019-11-07)
===========================

Language
--------
- [You can now create `async` functions and blocks with `async fn`,
  `async move {}`, and `async {}` respectively, and you can now call
  `.await` on async expressions.][63209]
- [You can now use certain attributes on function, closure, and function
  pointer parameters.][64010] These attributes include `cfg`, `cfg_attr`,
  `allow`, `warn`, `deny`, `forbid` as well as inert helper attributes used
  by procedural macro attributes applied to items. e.g.
  ```rust
  fn len(
      #[cfg(windows)] slice: &[u16],
      #[cfg(not(windows))] slice: &[u8],
  ) -> usize {
      slice.len()
  }
  ```
- [You can now take shared references to bind-by-move patterns in the
  `if` guards of `match` arms.][63118] e.g.
  ```rust
  fn main() {
      let array: Box<[u8; 4]> = Box::new([1, 2, 3, 4]);

      match array {
          nums
  //      ---- `nums` is bound by move.
              if nums.iter().sum::<u8>() == 10
  //                 ^------ `.iter()` implicitly takes a reference to `nums`.
          => {
              drop(nums);
  //          ----------- Legal as `nums` was bound by move and so we have ownership.
          }
          _ => unreachable!(),
      }
  }
  ```

Compiler
--------
- [Added tier 3\* support for the `i686-unknown-uefi` target.][64334]
- [Added tier 3 support for the `sparc64-unknown-openbsd` target.][63595]
- [rustc will now trim code snippets in diagnostics to fit in your terminal.]
  [63402] **Note** Cargo currently doesn't use this feature. Refer to
  [cargo#7315][cargo/7315] to track this feature's progress.
- [You can now pass `--show-output` argument to test binaries to print the
  output of successful tests.][62600]

\* Refer to Rust's [platform support page][forge-platform-support] for more
information on Rust's tiered platform support.

Libraries
---------
- [`Vec::new` and `String::new` are now `const` functions.][64028]
- [`LinkedList::new` is now a `const` function.][63684]
- [`str::len`, `[T]::len` and `str::as_bytes` are now `const` functions.][63770]
- [The `abs`, `wrapping_abs`, and `overflowing_abs` numeric functions are
  now `const`.][63786]

Stabilized APIs
---------------
- [`Pin::into_inner`]
- [`Instant::checked_duration_since`]
- [`Instant::saturating_duration_since`]

Cargo
-----
- [You can now publish git dependencies if supplied with a `version`.]
  [cargo/7237]
- [The `--all` flag has been renamed to `--workspace`.][cargo/7241] Using
  `--all` is now deprecated.

Misc
----
- [You can now pass `-Clinker` to rustdoc to control the linker used
  for compiling doctests.][63834]

Compatibility Notes
-------------------
- [Code that was previously accepted by the old borrow checker, but rejected by
  the NLL borrow checker is now a hard error in Rust 2018.][63565] This was
  previously a warning, and will also become a hard error in the Rust 2015
  edition in the 1.40.0 release.
- [`rustdoc` now requires `rustc` to be installed and in the same directory to
  run tests.][63827] This should improve performance when running a large
  amount of doctests.
- [The `try!` macro will now issue a deprecation warning.][62672] It is
  recommended to use the `?` operator instead.
- [`asinh(-0.0)` now correctly returns `-0.0`.][63698] Previously this
  returned `0.0`.

[62600]: rust-lang/rust#62600
[62672]: rust-lang/rust#62672
[63118]: rust-lang/rust#63118
[63209]: rust-lang/rust#63209
[63402]: rust-lang/rust#63402
[63565]: rust-lang/rust#63565
[63595]: rust-lang/rust#63595
[63684]: rust-lang/rust#63684
[63698]: rust-lang/rust#63698
[63770]: rust-lang/rust#63770
[63786]: rust-lang/rust#63786
[63827]: rust-lang/rust#63827
[63834]: rust-lang/rust#63834
[63927]: rust-lang/rust#63927
[63933]: rust-lang/rust#63933
[63934]: rust-lang/rust#63934
[63938]: rust-lang/rust#63938
[63940]: rust-lang/rust#63940
[63941]: rust-lang/rust#63941
[63945]: rust-lang/rust#63945
[64010]: rust-lang/rust#64010
[64028]: rust-lang/rust#64028
[64334]: rust-lang/rust#64334
[cargo/7237]: rust-lang/cargo#7237
[cargo/7241]: rust-lang/cargo#7241
[cargo/7315]: rust-lang/cargo#7315
[`Pin::into_inner`]: https://doc.rust-lang.org/std/pin/struct.Pin.html#method.into_inner
[`Instant::checked_duration_since`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.checked_duration_since
[`Instant::saturating_duration_since`]: https://doc.rust-lang.org/std/time/struct.Instant.html#method.saturating_duration_since
bors added a commit to rust-lang/cargo that referenced this pull request Aug 28, 2020
Fix LTO with doctests.

This fixes an issue where `cargo test --release` would fail to run doctests if LTO is set in `profile.release` or `profile.bench`.

The issue is that dependencies were built with `-Clinker-plugin-lto`, but the final rustdoc invocation did not issue `-C lto`. This causes a link failure (or crash!) because the necessary object code was missing.  This is because rustdoc historically did not support codegen flags, so Cargo has never passed them in.  Rustdoc now supports codegen flags (via rust-lang/rust#63827), so it should be safe to start passing them in.  For now, I am only adding LTO, but more should be added in the future.

There are two bugs here. One is that LTO flags aren't passed to rustdoc. The other is that the "doctest" unit was using the wrong profile (it was using dev/release when it should be using test/bench).

There are two distinct scenarios here.  One where just `release` has `lto` set.  And one where both `release` and `bench` have `lto` set.  This is relevant because LTO mostly cares about what the final artifact wants, and in the case where `bench` does not have `lto` set, then LTO will not be used for tests. This will hopefully be a little cleaner in the future when #6988 is stabilized, which causes the test/bench profiles to *inherit* from the dev/bench profiles, which means you won't need to manually synchronize the test/bench profiles with dev/release.

Fixes #8654
ehuss pushed a commit to ehuss/cargo that referenced this pull request Aug 28, 2020
Fix LTO with doctests.

This fixes an issue where `cargo test --release` would fail to run doctests if LTO is set in `profile.release` or `profile.bench`.

The issue is that dependencies were built with `-Clinker-plugin-lto`, but the final rustdoc invocation did not issue `-C lto`. This causes a link failure (or crash!) because the necessary object code was missing.  This is because rustdoc historically did not support codegen flags, so Cargo has never passed them in.  Rustdoc now supports codegen flags (via rust-lang/rust#63827), so it should be safe to start passing them in.  For now, I am only adding LTO, but more should be added in the future.

There are two bugs here. One is that LTO flags aren't passed to rustdoc. The other is that the "doctest" unit was using the wrong profile (it was using dev/release when it should be using test/bench).

There are two distinct scenarios here.  One where just `release` has `lto` set.  And one where both `release` and `bench` have `lto` set.  This is relevant because LTO mostly cares about what the final artifact wants, and in the case where `bench` does not have `lto` set, then LTO will not be used for tests. This will hopefully be a little cleaner in the future when rust-lang#6988 is stabilized, which causes the test/bench profiles to *inherit* from the dev/bench profiles, which means you won't need to manually synchronize the test/bench profiles with dev/release.

Fixes rust-lang#8654
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. relnotes Marks issues that should be documented in the release notes of the next release. S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

rustdoc: Poor CPU usage on Windows during thousands of doctests
8 participants