Skip to content

Commit

Permalink
Rollup merge of rust-lang#131614 - jieyouxu:rmake-no-rev, r=Kobzol
Browse files Browse the repository at this point in the history
Error on trying to use revisions in `run-make` tests

Currently, `run-make` tests do not support revisions.
  • Loading branch information
matthiaskrgr authored Oct 13, 2024
2 parents 6e1488b + 9f0f035 commit 6d5a133
Show file tree
Hide file tree
Showing 2 changed files with 14 additions and 5 deletions.
17 changes: 13 additions & 4 deletions src/tools/compiletest/src/header.rs
Original file line number Diff line number Diff line change
Expand Up @@ -59,7 +59,7 @@ impl EarlyProps {
rdr,
&mut |DirectiveLine { directive: ln, .. }| {
parse_and_update_aux(config, ln, &mut props.aux);
config.parse_and_update_revisions(ln, &mut props.revisions);
config.parse_and_update_revisions(testfile, ln, &mut props.revisions);
},
);

Expand Down Expand Up @@ -391,7 +391,7 @@ impl TestProps {
has_edition = true;
}

config.parse_and_update_revisions(ln, &mut self.revisions);
config.parse_and_update_revisions(testfile, ln, &mut self.revisions);

if let Some(flags) = config.parse_name_value_directive(ln, RUN_FLAGS) {
self.run_flags.extend(split_flags(&flags));
Expand Down Expand Up @@ -897,12 +897,21 @@ fn iter_header(
}

impl Config {
fn parse_and_update_revisions(&self, line: &str, existing: &mut Vec<String>) {
fn parse_and_update_revisions(&self, testfile: &Path, line: &str, existing: &mut Vec<String>) {
if let Some(raw) = self.parse_name_value_directive(line, "revisions") {
if self.mode == Mode::RunMake {
panic!("`run-make` tests do not support revisions: {}", testfile.display());
}

let mut duplicates: HashSet<_> = existing.iter().cloned().collect();
for revision in raw.split_whitespace().map(|r| r.to_string()) {
if !duplicates.insert(revision.clone()) {
panic!("Duplicate revision: `{}` in line `{}`", revision, raw);
panic!(
"duplicate revision: `{}` in line `{}`: {}",
revision,
raw,
testfile.display()
);
}
existing.push(revision);
}
Expand Down
2 changes: 1 addition & 1 deletion src/tools/compiletest/src/header/tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -423,7 +423,7 @@ fn test_extract_version_range() {
}

#[test]
#[should_panic(expected = "Duplicate revision: `rpass1` in line ` rpass1 rpass1`")]
#[should_panic(expected = "duplicate revision: `rpass1` in line ` rpass1 rpass1`")]
fn test_duplicate_revisions() {
let config: Config = cfg().build();
parse_rs(&config, "//@ revisions: rpass1 rpass1");
Expand Down

0 comments on commit 6d5a133

Please sign in to comment.