Skip to content

Commit

Permalink
Rollup merge of #120664 - SparrowLii:parallel_test, r=nnethercote
Browse files Browse the repository at this point in the history
Add parallel rustc ui tests

Updates #118698

Add some ui tests for parallel rustc front end

This is a relatively large feature so I think it's worth creating a new entity in tests/ui folder, so we need to modify the limit in tidy.
  • Loading branch information
Nadrieril authored Feb 7, 2024
2 parents 3328ee8 + a59d006 commit eecab31
Show file tree
Hide file tree
Showing 7 changed files with 78 additions and 1 deletion.
2 changes: 1 addition & 1 deletion src/tools/tidy/src/ui_tests.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ use std::path::{Path, PathBuf};
const ENTRY_LIMIT: usize = 900;
// FIXME: The following limits should be reduced eventually.
const ISSUES_ENTRY_LIMIT: usize = 1819;
const ROOT_ENTRY_LIMIT: usize = 870;
const ROOT_ENTRY_LIMIT: usize = 871;

const EXPECTED_TEST_FILE_EXTENSIONS: &[&str] = &[
"rs", // test source files
Expand Down
16 changes: 16 additions & 0 deletions tests/ui/parallel-rustc/cache-after-waiting-issue-111528.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// compile-flags: -Z threads=16
// build-fail

#![crate_type="rlib"]
#![allow(warnings)]

#[export_name="fail"]
pub fn a() {
}

#[export_name="fail"]
pub fn b() {
//~^ Error symbol `fail` is already defined
}

fn main() {}
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
error: symbol `fail` is already defined
--> $DIR/cache-after-waiting-issue-111528.rs:12:1
|
LL | pub fn b() {
| ^^^^^^^^^^

error: aborting due to 1 previous error

Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
// compile-flags:-C extra-filename=-1 -Z threads=16
// no-prefer-dynamic
// build-pass
#![crate_name = "crateresolve1"]
#![crate_type = "lib"]

pub fn f() -> isize { 10 }
22 changes: 22 additions & 0 deletions tests/ui/parallel-rustc/export-symbols-deadlock-issue-118205.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
// compile-flags: -Z threads=16
// build-pass

pub static GLOBAL: isize = 3;

static GLOBAL0: isize = 4;

pub static GLOBAL2: &'static isize = &GLOBAL0;

pub fn verify_same(a: &'static isize) {
let a = a as *const isize as usize;
let b = &GLOBAL as *const isize as usize;
assert_eq!(a, b);
}

pub fn verify_same2(a: &'static isize) {
let a = a as *const isize as usize;
let b = GLOBAL2 as *const isize as usize;
assert_eq!(a, b);
}

fn main() {}
6 changes: 6 additions & 0 deletions tests/ui/parallel-rustc/hello_world.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
// compile-flags: -Z threads=8
// run-pass

fn main() {
println!("Hello world!");
}
18 changes: 18 additions & 0 deletions tests/ui/parallel-rustc/read-stolen-value-issue-111520.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// compile-flags: -Z threads=16
// run-pass

#[repr(transparent)]
struct Sched {
i: i32,
}
impl Sched {
extern "C" fn get(self) -> i32 { self.i }
}

fn main() {
let s = Sched { i: 4 };
let f = || -> i32 {
s.get()
};
println!("f: {}", f());
}

0 comments on commit eecab31

Please sign in to comment.