summaryrefslogtreecommitdiffstats
path: root/tests/run-coverage-rustdoc
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-06-07 05:48:48 +0000
commitef24de24a82fe681581cc130f342363c47c0969a (patch)
tree0d494f7e1a38b95c92426f58fe6eaa877303a86c /tests/run-coverage-rustdoc
parentReleasing progress-linux version 1.74.1+dfsg1-1~progress7.99u1. (diff)
downloadrustc-ef24de24a82fe681581cc130f342363c47c0969a.tar.xz
rustc-ef24de24a82fe681581cc130f342363c47c0969a.zip
Merging upstream version 1.75.0+dfsg1.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'tests/run-coverage-rustdoc')
-rw-r--r--tests/run-coverage-rustdoc/auxiliary/doctest_crate.rs9
-rw-r--r--tests/run-coverage-rustdoc/doctest.coverage117
-rw-r--r--tests/run-coverage-rustdoc/doctest.rs101
3 files changed, 0 insertions, 227 deletions
diff --git a/tests/run-coverage-rustdoc/auxiliary/doctest_crate.rs b/tests/run-coverage-rustdoc/auxiliary/doctest_crate.rs
deleted file mode 100644
index c3210146d..000000000
--- a/tests/run-coverage-rustdoc/auxiliary/doctest_crate.rs
+++ /dev/null
@@ -1,9 +0,0 @@
-/// A function run only from within doctests
-pub fn fn_run_in_doctests(conditional: usize) {
- match conditional {
- 1 => assert_eq!(1, 1), // this is run,
- 2 => assert_eq!(1, 1), // this,
- 3 => assert_eq!(1, 1), // and this too
- _ => assert_eq!(1, 2), // however this is not
- }
-}
diff --git a/tests/run-coverage-rustdoc/doctest.coverage b/tests/run-coverage-rustdoc/doctest.coverage
deleted file mode 100644
index 5797784f4..000000000
--- a/tests/run-coverage-rustdoc/doctest.coverage
+++ /dev/null
@@ -1,117 +0,0 @@
-$DIR/auxiliary/doctest_crate.rs:
- LL| |/// A function run only from within doctests
- LL| 3|pub fn fn_run_in_doctests(conditional: usize) {
- LL| 3| match conditional {
- LL| 1| 1 => assert_eq!(1, 1), // this is run,
- LL| 1| 2 => assert_eq!(1, 1), // this,
- LL| 1| 3 => assert_eq!(1, 1), // and this too
- LL| 0| _ => assert_eq!(1, 2), // however this is not
- LL| | }
- LL| 3|}
-
-$DIR/doctest.rs:
- LL| |// aux-build:doctest_crate.rs
- LL| |
- LL| |//! This test ensures that code from doctests is properly re-mapped.
- LL| |//! See <https://github.com/rust-lang/rust/issues/79417> for more info.
- LL| |//!
- LL| |//! Just some random code:
- LL| 1|//! ```
- LL| 1|//! if true {
- LL| |//! // this is executed!
- LL| 1|//! assert_eq!(1, 1);
- LL| |//! } else {
- LL| |//! // this is not!
- LL| 0|//! assert_eq!(1, 2);
- LL| |//! }
- LL| 1|//! ```
- LL| |//!
- LL| |//! doctest testing external code:
- LL| |//! ```
- LL| 1|//! extern crate doctest_crate;
- LL| 1|//! doctest_crate::fn_run_in_doctests(1);
- LL| 1|//! ```
- LL| |//!
- LL| |//! doctest returning a result:
- LL| 1|//! ```
- LL| 2|//! #[derive(Debug, PartialEq)]
- ^1
- LL| 1|//! struct SomeError {
- LL| 1|//! msg: String,
- LL| 1|//! }
- LL| 1|//! let mut res = Err(SomeError { msg: String::from("a message") });
- LL| 1|//! if res.is_ok() {
- LL| 0|//! res?;
- LL| |//! } else {
- LL| 1|//! if *res.as_ref().unwrap_err() == *res.as_ref().unwrap_err() {
- LL| 1|//! println!("{:?}", res);
- LL| 1|//! }
- ^0
- LL| 1|//! if *res.as_ref().unwrap_err() == *res.as_ref().unwrap_err() {
- LL| 1|//! res = Ok(1);
- LL| 1|//! }
- ^0
- LL| 1|//! res = Ok(0);
- LL| |//! }
- LL| |//! // need to be explicit because rustdoc cant infer the return type
- LL| 1|//! Ok::<(), SomeError>(())
- LL| 1|//! ```
- LL| |//!
- LL| |//! doctest with custom main:
- LL| |//! ```
- LL| 1|//! fn some_func() {
- LL| 1|//! println!("called some_func()");
- LL| 1|//! }
- LL| |//!
- LL| 0|//! #[derive(Debug)]
- LL| |//! struct SomeError;
- LL| |//!
- LL| |//! extern crate doctest_crate;
- LL| |//!
- LL| 1|//! fn doctest_main() -> Result<(), SomeError> {
- LL| 1|//! some_func();
- LL| 1|//! doctest_crate::fn_run_in_doctests(2);
- LL| 1|//! Ok(())
- LL| 1|//! }
- LL| |//!
- LL| |//! // this `main` is not shown as covered, as it clashes with all the other
- LL| |//! // `main` functions that were automatically generated for doctests
- LL| |//! fn main() -> Result<(), SomeError> {
- LL| |//! doctest_main()
- LL| |//! }
- LL| |//! ```
- LL| |
- LL| |/// doctest attached to fn testing external code:
- LL| |/// ```
- LL| 1|/// extern crate doctest_crate;
- LL| 1|/// doctest_crate::fn_run_in_doctests(3);
- LL| 1|/// ```
- LL| |///
- LL| 1|fn main() {
- LL| 1| if true {
- LL| 1| assert_eq!(1, 1);
- LL| | } else {
- LL| 0| assert_eq!(1, 2);
- LL| | }
- LL| 1|}
- LL| |
- LL| |// FIXME(Swatinem): Fix known issue that coverage code region columns need to be offset by the
- LL| |// doc comment line prefix (`///` or `//!`) and any additional indent (before or after the doc
- LL| |// comment characters). This test produces `llvm-cov show` results demonstrating the problem.
- LL| |//
- LL| |// One of the above tests now includes: `derive(Debug, PartialEq)`, producing an `llvm-cov show`
- LL| |// result with a distinct count for `Debug`, denoted by `^1`, but the caret points to the wrong
- LL| |// column. Similarly, the `if` blocks without `else` blocks show `^0`, which should point at, or
- LL| |// one character past, the `if` block's closing brace. In both cases, these are most likely off
- LL| |// by the number of characters stripped from the beginning of each doc comment line: indent
- LL| |// whitespace, if any, doc comment prefix (`//!` in this case) and (I assume) one space character
- LL| |// (?). Note, when viewing `llvm-cov show` results in `--color` mode, the column offset errors are
- LL| |// more pronounced, and show up in more places, with background color used to show some distinct
- LL| |// code regions with different coverage counts.
- LL| |//
- LL| |// NOTE: Since the doc comment line prefix may vary, one possible solution is to replace each
- LL| |// character stripped from the beginning of doc comment lines with a space. This will give coverage
- LL| |// results the correct column offsets, and I think it should compile correctly, but I don't know
- LL| |// what affect it might have on diagnostic messages from the compiler, and whether anyone would care
- LL| |// if the indentation changed. I don't know if there is a more viable solution.
-
diff --git a/tests/run-coverage-rustdoc/doctest.rs b/tests/run-coverage-rustdoc/doctest.rs
deleted file mode 100644
index 4006d723c..000000000
--- a/tests/run-coverage-rustdoc/doctest.rs
+++ /dev/null
@@ -1,101 +0,0 @@
-// aux-build:doctest_crate.rs
-
-//! This test ensures that code from doctests is properly re-mapped.
-//! See <https://github.com/rust-lang/rust/issues/79417> for more info.
-//!
-//! Just some random code:
-//! ```
-//! if true {
-//! // this is executed!
-//! assert_eq!(1, 1);
-//! } else {
-//! // this is not!
-//! assert_eq!(1, 2);
-//! }
-//! ```
-//!
-//! doctest testing external code:
-//! ```
-//! extern crate doctest_crate;
-//! doctest_crate::fn_run_in_doctests(1);
-//! ```
-//!
-//! doctest returning a result:
-//! ```
-//! #[derive(Debug, PartialEq)]
-//! struct SomeError {
-//! msg: String,
-//! }
-//! let mut res = Err(SomeError { msg: String::from("a message") });
-//! if res.is_ok() {
-//! res?;
-//! } else {
-//! if *res.as_ref().unwrap_err() == *res.as_ref().unwrap_err() {
-//! println!("{:?}", res);
-//! }
-//! if *res.as_ref().unwrap_err() == *res.as_ref().unwrap_err() {
-//! res = Ok(1);
-//! }
-//! res = Ok(0);
-//! }
-//! // need to be explicit because rustdoc cant infer the return type
-//! Ok::<(), SomeError>(())
-//! ```
-//!
-//! doctest with custom main:
-//! ```
-//! fn some_func() {
-//! println!("called some_func()");
-//! }
-//!
-//! #[derive(Debug)]
-//! struct SomeError;
-//!
-//! extern crate doctest_crate;
-//!
-//! fn doctest_main() -> Result<(), SomeError> {
-//! some_func();
-//! doctest_crate::fn_run_in_doctests(2);
-//! Ok(())
-//! }
-//!
-//! // this `main` is not shown as covered, as it clashes with all the other
-//! // `main` functions that were automatically generated for doctests
-//! fn main() -> Result<(), SomeError> {
-//! doctest_main()
-//! }
-//! ```
-
-/// doctest attached to fn testing external code:
-/// ```
-/// extern crate doctest_crate;
-/// doctest_crate::fn_run_in_doctests(3);
-/// ```
-///
-fn main() {
- if true {
- assert_eq!(1, 1);
- } else {
- assert_eq!(1, 2);
- }
-}
-
-// FIXME(Swatinem): Fix known issue that coverage code region columns need to be offset by the
-// doc comment line prefix (`///` or `//!`) and any additional indent (before or after the doc
-// comment characters). This test produces `llvm-cov show` results demonstrating the problem.
-//
-// One of the above tests now includes: `derive(Debug, PartialEq)`, producing an `llvm-cov show`
-// result with a distinct count for `Debug`, denoted by `^1`, but the caret points to the wrong
-// column. Similarly, the `if` blocks without `else` blocks show `^0`, which should point at, or
-// one character past, the `if` block's closing brace. In both cases, these are most likely off
-// by the number of characters stripped from the beginning of each doc comment line: indent
-// whitespace, if any, doc comment prefix (`//!` in this case) and (I assume) one space character
-// (?). Note, when viewing `llvm-cov show` results in `--color` mode, the column offset errors are
-// more pronounced, and show up in more places, with background color used to show some distinct
-// code regions with different coverage counts.
-//
-// NOTE: Since the doc comment line prefix may vary, one possible solution is to replace each
-// character stripped from the beginning of doc comment lines with a space. This will give coverage
-// results the correct column offsets, and I think it should compile correctly, but I don't know
-// what affect it might have on diagnostic messages from the compiler, and whether anyone would care
-// if the indentation changed. I don't know if there is a more viable solution.