Skip to content

Commit 0165b03

Browse files
committed
Inline test constructor functions
For cases that don't need the indirection, it's simpler to see the test in one place. For those that do need indirection, we can use some simpler constants.
1 parent 4b0494e commit 0165b03

File tree

1 file changed

+90
-110
lines changed

1 file changed

+90
-110
lines changed

compiler/base/orchestrator/src/coordinator.rs

Lines changed: 90 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -1624,93 +1624,30 @@ mod tests {
16241624
Ok(())
16251625
}
16261626

1627-
fn new_compile_request() -> CompileRequest {
1628-
new_compile_mir_request()
1629-
}
1630-
1631-
fn new_compile_assembly_request() -> CompileRequest {
1632-
CompileRequest {
1633-
target: CompileTarget::Assembly(
1634-
AssemblyFlavor::Intel,
1635-
DemangleAssembly::Demangle,
1636-
ProcessAssembly::Filter,
1637-
),
1638-
channel: Channel::Beta,
1639-
crate_type: CrateType::Library(LibraryType::Lib),
1640-
mode: Mode::Release,
1641-
edition: Edition::Rust2018,
1642-
tests: false,
1643-
backtrace: false,
1644-
code: r#"pub fn add(a: u8, b: u8) -> u8 { a + b }"#.to_owned(),
1645-
}
1646-
}
1647-
1648-
fn new_compile_hir_request() -> CompileRequest {
1649-
new_compile_hir_request_for(Edition::Rust2021)
1650-
}
1651-
1652-
fn new_compile_hir_request_for(edition: Edition) -> CompileRequest {
1653-
CompileRequest {
1654-
target: CompileTarget::Hir,
1655-
channel: Channel::Nightly,
1656-
crate_type: CrateType::Library(LibraryType::Lib),
1657-
mode: Mode::Release,
1658-
edition,
1659-
tests: false,
1660-
backtrace: false,
1661-
code: r#"pub fn sub(a: u8, b: u8) -> u8 { a - b }"#.to_owned(),
1662-
}
1663-
}
1664-
1665-
fn new_compile_llvm_ir_request() -> CompileRequest {
1666-
CompileRequest {
1667-
target: CompileTarget::LlvmIr,
1668-
channel: Channel::Stable,
1669-
crate_type: CrateType::Library(LibraryType::Lib),
1670-
mode: Mode::Debug,
1671-
edition: Edition::Rust2015,
1672-
tests: false,
1673-
backtrace: false,
1674-
code: r#"pub fn mul(a: u8, b: u8) -> u8 { a * b }"#.to_owned(),
1675-
}
1676-
}
1677-
1678-
fn new_compile_mir_request() -> CompileRequest {
1679-
CompileRequest {
1680-
target: CompileTarget::Mir,
1681-
channel: Channel::Stable,
1682-
crate_type: CrateType::Binary,
1683-
mode: Mode::Release,
1684-
edition: Edition::Rust2021,
1685-
tests: false,
1686-
backtrace: false,
1687-
code: r#"fn main() { println!("Hello World!"); }"#.to_owned(),
1688-
}
1689-
}
1690-
1691-
fn new_compile_wasm_request() -> CompileRequest {
1692-
CompileRequest {
1693-
target: CompileTarget::Wasm,
1694-
channel: Channel::Nightly, // TODO: Can we run this on all channels now?
1695-
crate_type: CrateType::Library(LibraryType::Cdylib),
1696-
mode: Mode::Release,
1697-
edition: Edition::Rust2021,
1698-
tests: false,
1699-
backtrace: false,
1700-
code: r#"#[export_name = "inc"] pub fn inc(a: u8) -> u8 { a + 1 }"#.to_owned(),
1701-
}
1702-
}
1627+
const HELLO_WORLD_CODE: &str = r#"fn main() { println!("Hello World!"); }"#;
1628+
1629+
const ARBITRARY_COMPILE_REQUEST: CompileRequest = CompileRequest {
1630+
target: CompileTarget::Mir,
1631+
channel: Channel::Stable,
1632+
crate_type: CrateType::Binary,
1633+
mode: Mode::Release,
1634+
edition: Edition::Rust2021,
1635+
tests: false,
1636+
backtrace: false,
1637+
code: String::new(),
1638+
};
17031639

17041640
#[tokio::test]
17051641
#[snafu::report]
17061642
async fn compile_response() -> Result<()> {
17071643
let coordinator = new_coordinator().await;
17081644

1709-
let response = coordinator
1710-
.compile(new_compile_request())
1711-
.with_timeout()
1712-
.await
1713-
.unwrap();
1645+
let req = CompileRequest {
1646+
code: HELLO_WORLD_CODE.into(),
1647+
..ARBITRARY_COMPILE_REQUEST
1648+
};
1649+
1650+
let response = coordinator.compile(req).with_timeout().await.unwrap();
17141651

17151652
assert!(response.success, "stderr: {}", response.stderr);
17161653
assert_contains!(response.stderr, "Compiling");
@@ -1726,14 +1663,16 @@ mod tests {
17261663
async fn compile_streaming() -> Result<()> {
17271664
let coordinator = new_coordinator().await;
17281665

1666+
let req = CompileRequest {
1667+
code: HELLO_WORLD_CODE.into(),
1668+
..ARBITRARY_COMPILE_REQUEST
1669+
};
1670+
17291671
let ActiveCompilation {
17301672
task,
17311673
stdout_rx,
17321674
stderr_rx,
1733-
} = coordinator
1734-
.begin_compile(new_compile_request())
1735-
.await
1736-
.unwrap();
1675+
} = coordinator.begin_compile(req).await.unwrap();
17371676

17381677
let stdout = ReceiverStream::new(stdout_rx);
17391678
let stdout = stdout.collect::<String>();
@@ -1761,11 +1700,13 @@ mod tests {
17611700
for edition in Edition::ALL {
17621701
let coordinator = new_coordinator().await;
17631702

1764-
let response = coordinator
1765-
.compile(new_compile_hir_request_for(edition))
1766-
.with_timeout()
1767-
.await
1768-
.unwrap();
1703+
let req = CompileRequest {
1704+
edition,
1705+
code: SUBTRACT_CODE.into(),
1706+
..ARBITRARY_HIR_REQUEST
1707+
};
1708+
1709+
let response = coordinator.compile(req).with_timeout().await.unwrap();
17691710

17701711
let prelude = format!("std::prelude::rust_{}", edition.to_str());
17711712

@@ -1783,11 +1724,22 @@ mod tests {
17831724
async fn compile_assembly() -> Result<()> {
17841725
let coordinator = new_coordinator().await;
17851726

1786-
let response = coordinator
1787-
.compile(new_compile_assembly_request())
1788-
.with_timeout()
1789-
.await
1790-
.unwrap();
1727+
let req = CompileRequest {
1728+
target: CompileTarget::Assembly(
1729+
AssemblyFlavor::Intel,
1730+
DemangleAssembly::Demangle,
1731+
ProcessAssembly::Filter,
1732+
),
1733+
channel: Channel::Beta,
1734+
crate_type: CrateType::Library(LibraryType::Lib),
1735+
mode: Mode::Release,
1736+
edition: Edition::Rust2018,
1737+
tests: false,
1738+
backtrace: false,
1739+
code: r#"pub fn add(a: u8, b: u8) -> u8 { a + b }"#.into(),
1740+
};
1741+
1742+
let response = coordinator.compile(req).with_timeout().await.unwrap();
17911743

17921744
//#[cfg(target_arch = "x86_64")]
17931745
//let asm = "";
@@ -1803,16 +1755,30 @@ mod tests {
18031755
Ok(())
18041756
}
18051757

1758+
const SUBTRACT_CODE: &str = r#"pub fn sub(a: u8, b: u8) -> u8 { a - b }"#;
1759+
1760+
const ARBITRARY_HIR_REQUEST: CompileRequest = CompileRequest {
1761+
target: CompileTarget::Hir,
1762+
channel: Channel::Nightly,
1763+
crate_type: CrateType::Library(LibraryType::Lib),
1764+
mode: Mode::Release,
1765+
edition: Edition::Rust2021,
1766+
tests: false,
1767+
backtrace: false,
1768+
code: String::new(),
1769+
};
1770+
18061771
#[tokio::test]
18071772
#[snafu::report]
18081773
async fn compile_hir() -> Result<()> {
18091774
let coordinator = new_coordinator().await;
18101775

1811-
let response = coordinator
1812-
.compile(new_compile_hir_request())
1813-
.with_timeout()
1814-
.await
1815-
.unwrap();
1776+
let req = CompileRequest {
1777+
code: SUBTRACT_CODE.into(),
1778+
..ARBITRARY_HIR_REQUEST
1779+
};
1780+
1781+
let response = coordinator.compile(req).with_timeout().await.unwrap();
18161782

18171783
assert!(response.success, "stderr: {}", response.stderr);
18181784
assert_contains!(response.code, "extern crate std");
@@ -1827,11 +1793,18 @@ mod tests {
18271793
async fn compile_llvm_ir() -> Result<()> {
18281794
let coordinator = new_coordinator().await;
18291795

1830-
let response = coordinator
1831-
.compile(new_compile_llvm_ir_request())
1832-
.with_timeout()
1833-
.await
1834-
.unwrap();
1796+
let req = CompileRequest {
1797+
target: CompileTarget::LlvmIr,
1798+
channel: Channel::Stable,
1799+
crate_type: CrateType::Library(LibraryType::Lib),
1800+
mode: Mode::Debug,
1801+
edition: Edition::Rust2015,
1802+
tests: false,
1803+
backtrace: false,
1804+
code: r#"pub fn mul(a: u8, b: u8) -> u8 { a * b }"#.into(),
1805+
};
1806+
1807+
let response = coordinator.compile(req).with_timeout().await.unwrap();
18351808

18361809
assert!(response.success, "stderr: {}", response.stderr);
18371810
assert_contains!(response.code, "@llvm.umul.with.overflow.i8(i8, i8)");
@@ -1847,11 +1820,18 @@ mod tests {
18471820
// cargo-wasm only exists inside the container
18481821
let coordinator = Coordinator::new_docker().await;
18491822

1850-
let response = coordinator
1851-
.compile(new_compile_wasm_request())
1852-
.with_timeout()
1853-
.await
1854-
.unwrap();
1823+
let req = CompileRequest {
1824+
target: CompileTarget::Wasm,
1825+
channel: Channel::Nightly,
1826+
crate_type: CrateType::Library(LibraryType::Cdylib),
1827+
mode: Mode::Release,
1828+
edition: Edition::Rust2021,
1829+
tests: false,
1830+
backtrace: false,
1831+
code: r#"#[export_name = "inc"] pub fn inc(a: u8) -> u8 { a + 1 }"#.into(),
1832+
};
1833+
1834+
let response = coordinator.compile(req).with_timeout().await.unwrap();
18551835

18561836
assert!(response.success, "stderr: {}", response.stderr);
18571837
assert_contains!(

0 commit comments

Comments
 (0)