Fix test case for windows

This commit is contained in:
Michael Howell 2022-04-10 17:46:30 -07:00
parent 898ff01ff9
commit dae1df68b0
3 changed files with 70 additions and 0 deletions

View file

@ -0,0 +1,28 @@
// only-windows
// There's a parallel generic version of this test for POSIXy platforms.
// Issue #51162: A failed doctest was not printing its stdout/stderr
// FIXME: if/when the output of the test harness can be tested on its own, this test should be
// adapted to use that, and that normalize line can go away
// compile-flags:--test --test-args --test-threads=1
// rustc-env:RUST_BACKTRACE=0
// normalize-stdout-test: "src/test/rustdoc-ui" -> "$$DIR"
// normalize-stdout-test "finished in \d+\.\d+s" -> "finished in $$TIME"
// failure-status: 101
// doctest fails at runtime
/// ```
/// println!("stdout 1");
/// eprintln!("stderr 1");
/// println!("stdout 2");
/// eprintln!("stderr 2");
/// panic!("oh no");
/// ```
pub struct SomeStruct;
// doctest fails at compile time
/// ```
/// no
/// ```
pub struct OtherStruct;

View file

@ -0,0 +1,39 @@
running 2 tests
test $DIR/failed-doctest-output.rs - OtherStruct (line 22) ... FAILED
test $DIR/failed-doctest-output.rs - SomeStruct (line 12) ... FAILED
failures:
---- $DIR/failed-doctest-output.rs - OtherStruct (line 22) stdout ----
error[E0425]: cannot find value `no` in this scope
--> $DIR/failed-doctest-output.rs:23:1
|
LL | no
| ^^ not found in this scope
error: aborting due to previous error
For more information about this error, try `rustc --explain E0425`.
Couldn't compile the test.
---- $DIR/failed-doctest-output.rs - SomeStruct (line 12) stdout ----
Test executable failed (exit code: 101).
stdout:
stdout 1
stdout 2
stderr:
stderr 1
stderr 2
thread 'main' panicked at 'oh no', $DIR/failed-doctest-output.rs:7:1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
failures:
$DIR/failed-doctest-output.rs - OtherStruct (line 22)
$DIR/failed-doctest-output.rs - SomeStruct (line 12)
test result: FAILED. 0 passed; 2 failed; 0 ignored; 0 measured; 0 filtered out; finished in $TIME

View file

@ -1,3 +1,6 @@
// ignore-windows
// There's a parallel version of this test for Windows.
// Issue #51162: A failed doctest was not printing its stdout/stderr
// FIXME: if/when the output of the test harness can be tested on its own, this test should be
// adapted to use that, and that normalize line can go away