From 08c01f85c3625c5864e4a132d3338d233554d285 Mon Sep 17 00:00:00 2001 From: Joshua Nelson Date: Tue, 19 Jan 2021 16:34:02 -0500 Subject: [PATCH] Fix flaky test Rustdoc writes to a pipe, and if the program on the other side has exited, it will exit with SIGPIPE. To avoid that happening, call `rustc` instead of `true`, which will wait to exit until it sees EOF on stdin. - Use a run-make-fulldeps test so that rustc is available in CI This is not exactly right, because the test shouldn't require building rustc twice, but it avoids having to build rustdoc for run-make tests. --- .../run-make-fulldeps/rustdoc-test-builder/Makefile | 10 ++++++++++ .../run-make-fulldeps/rustdoc-test-builder/doctest.rs | 4 ++++ src/test/rustdoc/issue-80893.rs | 6 ------ 3 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 src/test/run-make-fulldeps/rustdoc-test-builder/Makefile create mode 100644 src/test/run-make-fulldeps/rustdoc-test-builder/doctest.rs delete mode 100644 src/test/rustdoc/issue-80893.rs diff --git a/src/test/run-make-fulldeps/rustdoc-test-builder/Makefile b/src/test/run-make-fulldeps/rustdoc-test-builder/Makefile new file mode 100644 index 0000000000000..54178d440e8cc --- /dev/null +++ b/src/test/run-make-fulldeps/rustdoc-test-builder/Makefile @@ -0,0 +1,10 @@ +-include ../../run-make-fulldeps/tools.mk + +# How to manually run this +# $ ./x.py test src/test/run-make/rustdoc-test-builder + +all: + # Rustc isn't available in UI tests because the only compiler available is the + # one built from source, which isn't in PATH. This needs to be a run-make + # test so rustc is available. + $(RUSTDOC) --test -Z unstable-options --test-builder $(RUSTC_ORIGINAL) doctest.rs diff --git a/src/test/run-make-fulldeps/rustdoc-test-builder/doctest.rs b/src/test/run-make-fulldeps/rustdoc-test-builder/doctest.rs new file mode 100644 index 0000000000000..d714a4afb2462 --- /dev/null +++ b/src/test/run-make-fulldeps/rustdoc-test-builder/doctest.rs @@ -0,0 +1,4 @@ +/// ```no_run +/// // This tests that `--test-builder` is accepted as a flag by rustdoc. +/// ``` +pub struct Foo; diff --git a/src/test/rustdoc/issue-80893.rs b/src/test/rustdoc/issue-80893.rs deleted file mode 100644 index 7c958a80be395..0000000000000 --- a/src/test/rustdoc/issue-80893.rs +++ /dev/null @@ -1,6 +0,0 @@ -// compile-flags: --test -Z unstable-options --test-builder true - -/// ```no_run -/// This tests that `--test-builder` is accepted as a flag by rustdoc. -/// ``` -pub struct Foo;