diff options
| author | bors <bors@rust-lang.org> | 2021-08-07 18:21:04 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-08-07 18:21:04 +0000 |
| commit | 399ab4601b2d4087787659af72f6c3b373ef7baf (patch) | |
| tree | 7eb029949995f5b3eecc3a33fceb000b253a98a3 | |
| parent | 57d8747cca741de84918800dca13da0c821e33e0 (diff) | |
| parent | c159806cf0b2004614f3b43556072a650eb6029a (diff) | |
| download | rust-399ab4601b2d4087787659af72f6c3b373ef7baf.tar.gz rust-399ab4601b2d4087787659af72f6c3b373ef7baf.zip | |
Auto merge of #87851 - JohnTitor:rollup-odvmr47, r=JohnTitor
Rollup of 6 pull requests Successful merges: - #87744 (Add x.py option to --force-rerun compiletest tests) - #87789 (Make vec-shrink-panic test compatible with v0 mangling) - #87833 (Fix typo -- "The" -> "They") - #87834 (Fix small typo) - #87838 (Document that fs::read_dir skips . and ..) - #87842 (Fix intra doc link in hidden doc of Iterator::__iterator_get_unchecked) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
| -rw-r--r-- | library/core/src/iter/traits/iterator.rs | 2 | ||||
| -rw-r--r-- | library/std/src/fs.rs | 2 | ||||
| -rw-r--r-- | src/bootstrap/builder/tests.rs | 3 | ||||
| -rw-r--r-- | src/bootstrap/flags.rs | 10 | ||||
| -rw-r--r-- | src/bootstrap/test.rs | 4 | ||||
| -rw-r--r-- | src/librustdoc/clean/types.rs | 2 | ||||
| -rw-r--r-- | src/test/codegen/vec-shrink-panik.rs (renamed from src/test/codegen/vec-shrink-panic.rs) | 0 | ||||
| -rw-r--r-- | src/tools/compiletest/src/common.rs | 3 | ||||
| -rw-r--r-- | src/tools/compiletest/src/main.rs | 19 | ||||
| -rw-r--r-- | src/tools/linkchecker/main.rs | 2 |
10 files changed, 37 insertions, 10 deletions
diff --git a/library/core/src/iter/traits/iterator.rs b/library/core/src/iter/traits/iterator.rs index c199b068cbb..6b24d33bebc 100644 --- a/library/core/src/iter/traits/iterator.rs +++ b/library/core/src/iter/traits/iterator.rs @@ -3452,7 +3452,7 @@ pub trait Iterator { self.map(f).is_sorted() } - /// See [TrustedRandomAccess] + /// See [TrustedRandomAccess][super::super::TrustedRandomAccess] // The unusual name is to avoid name collisions in method resolution // see #76479. #[inline] diff --git a/library/std/src/fs.rs b/library/std/src/fs.rs index e1ad46961c0..2c04481c04e 100644 --- a/library/std/src/fs.rs +++ b/library/std/src/fs.rs @@ -2039,6 +2039,8 @@ pub fn remove_dir_all<P: AsRef<Path>>(path: P) -> io::Result<()> { /// /// The iterator will yield instances of [`io::Result`]`<`[`DirEntry`]`>`. /// New errors may be encountered after an iterator is initially constructed. +/// Entries for the current and parent directories (typically `.` and `..`) are +/// skipped. /// /// # Platform-specific behavior /// diff --git a/src/bootstrap/builder/tests.rs b/src/bootstrap/builder/tests.rs index e7fb8c0d4d5..bb3ea04d4ac 100644 --- a/src/bootstrap/builder/tests.rs +++ b/src/bootstrap/builder/tests.rs @@ -486,6 +486,7 @@ mod dist { fail_fast: true, doc_tests: DocTests::No, bless: false, + force_rerun: false, compare_mode: None, rustfix_coverage: false, pass: None, @@ -527,6 +528,7 @@ mod dist { fail_fast: true, doc_tests: DocTests::No, bless: false, + force_rerun: false, compare_mode: None, rustfix_coverage: false, pass: None, @@ -583,6 +585,7 @@ mod dist { fail_fast: true, doc_tests: DocTests::Yes, bless: false, + force_rerun: false, compare_mode: None, rustfix_coverage: false, pass: None, diff --git a/src/bootstrap/flags.rs b/src/bootstrap/flags.rs index 1b7614b2989..7b74a909c28 100644 --- a/src/bootstrap/flags.rs +++ b/src/bootstrap/flags.rs @@ -102,6 +102,7 @@ pub enum Subcommand { paths: Vec<PathBuf>, /// Whether to automatically update stderr/stdout files bless: bool, + force_rerun: bool, compare_mode: Option<String>, pass: Option<String>, run: Option<String>, @@ -284,6 +285,7 @@ To learn more about a subcommand, run `./x.py <subcommand> -h`", opts.optflag("", "no-doc", "do not run doc tests"); opts.optflag("", "doc", "only run doc tests"); opts.optflag("", "bless", "update all stderr/stdout files of failing ui tests"); + opts.optflag("", "force-rerun", "rerun tests even if the inputs are unchanged"); opts.optopt( "", "compare-mode", @@ -558,6 +560,7 @@ Arguments: "test" | "t" => Subcommand::Test { paths, bless: matches.opt_present("bless"), + force_rerun: matches.opt_present("force-rerun"), compare_mode: matches.opt_str("compare-mode"), pass: matches.opt_str("pass"), run: matches.opt_str("run"), @@ -726,6 +729,13 @@ impl Subcommand { } } + pub fn force_rerun(&self) -> bool { + match *self { + Subcommand::Test { force_rerun, .. } => force_rerun, + _ => false, + } + } + pub fn rustfix_coverage(&self) -> bool { match *self { Subcommand::Test { rustfix_coverage, .. } => rustfix_coverage, diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index 31f18d81c7c..9effdb2c959 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -1315,6 +1315,10 @@ note: if you're sure you want to do this, please open an issue as to why. In the cmd.arg("--bless"); } + if builder.config.cmd.force_rerun() { + cmd.arg("--force-rerun"); + } + let compare_mode = builder.config.cmd.compare_mode().or_else(|| { if builder.config.test_compare_mode { self.compare_mode } else { None } diff --git a/src/librustdoc/clean/types.rs b/src/librustdoc/clean/types.rs index 22e4d21c87b..af42a4cd06d 100644 --- a/src/librustdoc/clean/types.rs +++ b/src/librustdoc/clean/types.rs @@ -1937,7 +1937,7 @@ crate enum Variant { Struct(VariantStruct), } -/// Small wrapper around [`rustc_span::Span]` that adds helper methods +/// Small wrapper around [`rustc_span::Span`] that adds helper methods /// and enforces calling [`rustc_span::Span::source_callsite()`]. #[derive(Copy, Clone, Debug)] crate struct Span(rustc_span::Span); diff --git a/src/test/codegen/vec-shrink-panic.rs b/src/test/codegen/vec-shrink-panik.rs index 6b0ac78857a..6b0ac78857a 100644 --- a/src/test/codegen/vec-shrink-panic.rs +++ b/src/test/codegen/vec-shrink-panik.rs diff --git a/src/tools/compiletest/src/common.rs b/src/tools/compiletest/src/common.rs index a5b526be86f..99b0a3454e8 100644 --- a/src/tools/compiletest/src/common.rs +++ b/src/tools/compiletest/src/common.rs @@ -362,6 +362,9 @@ pub struct Config { pub nodejs: Option<String>, /// Path to a npm executable. Used for rustdoc GUI tests pub npm: Option<String>, + + /// Whether to rerun tests even if the inputs are unchanged. + pub force_rerun: bool, } impl Config { diff --git a/src/tools/compiletest/src/main.rs b/src/tools/compiletest/src/main.rs index 46432d5e4f5..9e655557fd2 100644 --- a/src/tools/compiletest/src/main.rs +++ b/src/tools/compiletest/src/main.rs @@ -144,6 +144,7 @@ pub fn parse_config(args: Vec<String>) -> Config { "enable this to generate a Rustfix coverage file, which is saved in \ `./<build_base>/rustfix_missing_coverage.txt`", ) + .optflag("", "force-rerun", "rerun tests even if the inputs are unchanged") .optflag("h", "help", "show this message") .reqopt("", "channel", "current Rust channel", "CHANNEL"); @@ -289,6 +290,8 @@ pub fn parse_config(args: Vec<String>) -> Config { llvm_components: matches.opt_str("llvm-components").unwrap(), nodejs: matches.opt_str("nodejs"), npm: matches.opt_str("npm"), + + force_rerun: matches.opt_present("force-rerun"), } } @@ -644,13 +647,15 @@ fn make_test(config: &Config, testpaths: &TestPaths, inputs: &Stamp) -> Vec<test let test_name = crate::make_test_name(config, testpaths, revision); let mut desc = make_test_description(config, test_name, &test_path, src_file, cfg); // Ignore tests that already run and are up to date with respect to inputs. - desc.ignore |= is_up_to_date( - config, - testpaths, - &early_props, - revision.map(|s| s.as_str()), - inputs, - ); + if !config.force_rerun { + desc.ignore |= is_up_to_date( + config, + testpaths, + &early_props, + revision.map(|s| s.as_str()), + inputs, + ); + } test::TestDescAndFn { desc, testfn: make_test_closure(config, testpaths, revision) } }) .collect() diff --git a/src/tools/linkchecker/main.rs b/src/tools/linkchecker/main.rs index 15edd628cdf..8cbe0a0c2e8 100644 --- a/src/tools/linkchecker/main.rs +++ b/src/tools/linkchecker/main.rs @@ -129,7 +129,7 @@ enum FileEntry { /// An HTML file. /// /// This includes the contents of the HTML file, and an optional set of - /// HTML IDs. The IDs are used for checking fragments. The are computed + /// HTML IDs. The IDs are used for checking fragments. They are computed /// as-needed. The source is discarded (replaced with an empty string) /// after the file has been checked, to conserve on memory. HtmlFile { source: Rc<String>, ids: RefCell<HashSet<String>> }, |
