From 3d0015fb92c179f23b2d9e12f17749469e9753c1 Mon Sep 17 00:00:00 2001 From: Erin Power Date: Mon, 2 Nov 2020 12:33:29 +0100 Subject: [PATCH 1/3] Move tests from spirv-builder to their own crate --- .github/workflows/clippy.sh | 1 + .github/workflows/test.sh | 1 + Cargo.lock | 11 +++++++++++ Cargo.toml | 1 + crates/spirv-builder/src/lib.rs | 3 --- crates/testsuite/Cargo.toml | 13 +++++++++++++ .../src/test => testsuite/src}/basic.rs | 0 .../src/test => testsuite/src}/control_flow.rs | 0 .../src/test/mod.rs => testsuite/src/lib.rs} | 10 +++++++--- 9 files changed, 34 insertions(+), 6 deletions(-) create mode 100644 crates/testsuite/Cargo.toml rename crates/{spirv-builder/src/test => testsuite/src}/basic.rs (100%) rename crates/{spirv-builder/src/test => testsuite/src}/control_flow.rs (100%) rename crates/{spirv-builder/src/test/mod.rs => testsuite/src/lib.rs} (97%) diff --git a/.github/workflows/clippy.sh b/.github/workflows/clippy.sh index 01b1dc720e..2bd2fd8e43 100755 --- a/.github/workflows/clippy.sh +++ b/.github/workflows/clippy.sh @@ -32,6 +32,7 @@ clippy crates/spirv-tools-sys clippy crates/spirv-tools clippy crates/rustc_codegen_spirv clippy crates/spirv-builder +clippy crates/testsuite # Examples diff --git a/.github/workflows/test.sh b/.github/workflows/test.sh index ad6c762263..f4c5422706 100755 --- a/.github/workflows/test.sh +++ b/.github/workflows/test.sh @@ -41,6 +41,7 @@ cargo_test crates/spirv-tools-sys cargo_test crates/spirv-tools cargo_test crates/rustc_codegen_spirv cargo_test crates/spirv-builder +cargo_test crates/testsuite # Examples # See: https://github.com/EmbarkStudios/rust-gpu/issues/84 diff --git a/Cargo.lock b/Cargo.lock index ec4b5905a2..6b6b7852d2 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -2209,6 +2209,17 @@ dependencies = [ "winapi 0.3.9", ] +[[package]] +name = "testsuite" +version = "0.1.0" +dependencies = [ + "cfg-if 0.1.10", + "lazy_static", + "pretty_assertions", + "rustc_codegen_spirv", + "spirv-builder", +] + [[package]] name = "textwrap" version = "0.11.0" diff --git a/Cargo.toml b/Cargo.toml index ba6c57d754..aed33f58c8 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -10,6 +10,7 @@ members = [ "crates/spirv-std", "crates/spirv-tools", "crates/spirv-tools-sys", + "crates/testsuite", ] [patch.crates-io] diff --git a/crates/spirv-builder/src/lib.rs b/crates/spirv-builder/src/lib.rs index fe12897890..f3dd01b9e8 100644 --- a/crates/spirv-builder/src/lib.rs +++ b/crates/spirv-builder/src/lib.rs @@ -1,6 +1,3 @@ -#[cfg(test)] -mod test; - mod depfile; use raw_string::{RawStr, RawString}; diff --git a/crates/testsuite/Cargo.toml b/crates/testsuite/Cargo.toml new file mode 100644 index 0000000000..77ed35ca3b --- /dev/null +++ b/crates/testsuite/Cargo.toml @@ -0,0 +1,13 @@ +[package] +name = "testsuite" +version = "0.1.0" +edition = "2018" + +# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html + +[dependencies] +spirv-builder = { path = "../spirv-builder", default-features = false } +rustc_codegen_spirv = { path = "../rustc_codegen_spirv", default-features = false } +lazy_static = "1.4" +pretty_assertions = "0.6" +cfg-if = "0.1.10" diff --git a/crates/spirv-builder/src/test/basic.rs b/crates/testsuite/src/basic.rs similarity index 100% rename from crates/spirv-builder/src/test/basic.rs rename to crates/testsuite/src/basic.rs diff --git a/crates/spirv-builder/src/test/control_flow.rs b/crates/testsuite/src/control_flow.rs similarity index 100% rename from crates/spirv-builder/src/test/control_flow.rs rename to crates/testsuite/src/control_flow.rs diff --git a/crates/spirv-builder/src/test/mod.rs b/crates/testsuite/src/lib.rs similarity index 97% rename from crates/spirv-builder/src/test/mod.rs rename to crates/testsuite/src/lib.rs index 2b25871631..1d838b36d3 100644 --- a/crates/spirv-builder/src/test/mod.rs +++ b/crates/testsuite/src/lib.rs @@ -1,5 +1,9 @@ -mod basic; -mod control_flow; +cfg_if::cfg_if! { + if #[cfg(test)] { + mod basic; + mod control_flow; + } +} use lazy_static::lazy_static; use rustc_codegen_spirv::rspirv; @@ -74,7 +78,7 @@ fn setup(src: &str) -> Result> { fn build(src: &str) -> PathBuf { let project = setup(src).expect("Failed to set up project"); - crate::SpirvBuilder::new(&project) + spirv_builder::SpirvBuilder::new(&project) .print_metadata(false) .build() .expect("Failed to build test") From b27c95d69218aa01c4713e8b30c9b993203d30a0 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Tue, 3 Nov 2020 10:28:35 +0100 Subject: [PATCH 2/3] Update test.sh --- .github/workflows/test.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/test.sh b/.github/workflows/test.sh index f4c5422706..6c0d28308b 100755 --- a/.github/workflows/test.sh +++ b/.github/workflows/test.sh @@ -41,7 +41,6 @@ cargo_test crates/spirv-tools-sys cargo_test crates/spirv-tools cargo_test crates/rustc_codegen_spirv cargo_test crates/spirv-builder -cargo_test crates/testsuite # Examples # See: https://github.com/EmbarkStudios/rust-gpu/issues/84 @@ -51,6 +50,7 @@ fi cargo_test examples/runners/wgpu +cargo_test_no_features crates/testsuite cargo_test_no_features examples/runners/cpu cargo_test_no_features examples/shaders/sky-shader cargo_test_no_features examples/shaders/simplest-shader From 7c94084dc2b069a5f3fd94dc1763baf74f35d7d1 Mon Sep 17 00:00:00 2001 From: XAMPPRocky <4464295+XAMPPRocky@users.noreply.github.com> Date: Tue, 3 Nov 2020 10:29:05 +0100 Subject: [PATCH 3/3] Update clippy.sh --- .github/workflows/clippy.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/clippy.sh b/.github/workflows/clippy.sh index 2bd2fd8e43..141abb33a2 100755 --- a/.github/workflows/clippy.sh +++ b/.github/workflows/clippy.sh @@ -32,13 +32,13 @@ clippy crates/spirv-tools-sys clippy crates/spirv-tools clippy crates/rustc_codegen_spirv clippy crates/spirv-builder -clippy crates/testsuite # Examples clippy examples/runners/ash clippy examples/runners/wgpu +clippy_no_features crates/testsuite clippy_no_features examples/runners/cpu clippy_no_features examples/shaders/sky-shader clippy_no_features examples/shaders/simplest-shader