diff --git a/tests/snapshots/in/boids.param.ron b/tests/in/boids.param.ron similarity index 100% rename from tests/snapshots/in/boids.param.ron rename to tests/in/boids.param.ron diff --git a/tests/snapshots/in/boids.wgsl b/tests/in/boids.wgsl similarity index 100% rename from tests/snapshots/in/boids.wgsl rename to tests/in/boids.wgsl diff --git a/tests/snapshots/in/collatz.param.ron b/tests/in/collatz.param.ron similarity index 100% rename from tests/snapshots/in/collatz.param.ron rename to tests/in/collatz.param.ron diff --git a/tests/snapshots/in/collatz.wgsl b/tests/in/collatz.wgsl similarity index 100% rename from tests/snapshots/in/collatz.wgsl rename to tests/in/collatz.wgsl diff --git a/tests/snapshots/in/empty.param.ron b/tests/in/empty.param.ron similarity index 100% rename from tests/snapshots/in/empty.param.ron rename to tests/in/empty.param.ron diff --git a/tests/snapshots/in/empty.wgsl b/tests/in/empty.wgsl similarity index 100% rename from tests/snapshots/in/empty.wgsl rename to tests/in/empty.wgsl diff --git a/tests/snapshots/in/quad.param.ron b/tests/in/quad.param.ron similarity index 100% rename from tests/snapshots/in/quad.param.ron rename to tests/in/quad.param.ron diff --git a/tests/snapshots/in/quad.wgsl b/tests/in/quad.wgsl similarity index 100% rename from tests/snapshots/in/quad.wgsl rename to tests/in/quad.wgsl diff --git a/tests/snapshots/in/shadow.param.ron b/tests/in/shadow.param.ron similarity index 100% rename from tests/snapshots/in/shadow.param.ron rename to tests/in/shadow.param.ron diff --git a/tests/snapshots/in/shadow.wgsl b/tests/in/shadow.wgsl similarity index 100% rename from tests/snapshots/in/shadow.wgsl rename to tests/in/shadow.wgsl diff --git a/tests/snapshots/in/skybox.param.ron b/tests/in/skybox.param.ron similarity index 100% rename from tests/snapshots/in/skybox.param.ron rename to tests/in/skybox.param.ron diff --git a/tests/snapshots/in/skybox.wgsl b/tests/in/skybox.wgsl similarity index 100% rename from tests/snapshots/in/skybox.wgsl rename to tests/in/skybox.wgsl diff --git a/tests/snapshots/in/texture-array.param.ron b/tests/in/texture-array.param.ron similarity index 100% rename from tests/snapshots/in/texture-array.param.ron rename to tests/in/texture-array.param.ron diff --git a/tests/snapshots/in/texture-array.wgsl b/tests/in/texture-array.wgsl similarity index 100% rename from tests/snapshots/in/texture-array.wgsl rename to tests/in/texture-array.wgsl diff --git a/tests/snapshots/snapshots__boids.msl.snap b/tests/out/boids.msl.snap similarity index 100% rename from tests/snapshots/snapshots__boids.msl.snap rename to tests/out/boids.msl.snap diff --git a/tests/snapshots/snapshots__boids.spvasm.snap b/tests/out/boids.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__boids.spvasm.snap rename to tests/out/boids.spvasm.snap diff --git a/tests/snapshots/snapshots__collatz.msl.snap b/tests/out/collatz.msl.snap similarity index 100% rename from tests/snapshots/snapshots__collatz.msl.snap rename to tests/out/collatz.msl.snap diff --git a/tests/snapshots/snapshots__collatz.spvasm.snap b/tests/out/collatz.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__collatz.spvasm.snap rename to tests/out/collatz.spvasm.snap diff --git a/tests/snapshots/snapshots__empty-Compute.glsl.snap b/tests/out/empty-Compute.glsl.snap similarity index 100% rename from tests/snapshots/snapshots__empty-Compute.glsl.snap rename to tests/out/empty-Compute.glsl.snap diff --git a/tests/snapshots/snapshots__empty.msl.snap b/tests/out/empty.msl.snap similarity index 100% rename from tests/snapshots/snapshots__empty.msl.snap rename to tests/out/empty.msl.snap diff --git a/tests/snapshots/snapshots__empty.spvasm.snap b/tests/out/empty.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__empty.spvasm.snap rename to tests/out/empty.spvasm.snap diff --git a/tests/snapshots/snapshots__quad-Fragment.glsl.snap b/tests/out/quad-Fragment.glsl.snap similarity index 100% rename from tests/snapshots/snapshots__quad-Fragment.glsl.snap rename to tests/out/quad-Fragment.glsl.snap diff --git a/tests/snapshots/snapshots__quad-Vertex.glsl.snap b/tests/out/quad-Vertex.glsl.snap similarity index 100% rename from tests/snapshots/snapshots__quad-Vertex.glsl.snap rename to tests/out/quad-Vertex.glsl.snap diff --git a/tests/snapshots/snapshots__quad.msl.snap b/tests/out/quad.msl.snap similarity index 100% rename from tests/snapshots/snapshots__quad.msl.snap rename to tests/out/quad.msl.snap diff --git a/tests/snapshots/snapshots__quad.spvasm.snap b/tests/out/quad.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__quad.spvasm.snap rename to tests/out/quad.spvasm.snap diff --git a/tests/snapshots/snapshots__shadow.msl.snap b/tests/out/shadow.msl.snap similarity index 100% rename from tests/snapshots/snapshots__shadow.msl.snap rename to tests/out/shadow.msl.snap diff --git a/tests/snapshots/snapshots__shadow.spvasm.snap b/tests/out/shadow.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__shadow.spvasm.snap rename to tests/out/shadow.spvasm.snap diff --git a/tests/snapshots/snapshots__skybox-Fragment.glsl.snap b/tests/out/skybox-Fragment.glsl.snap similarity index 100% rename from tests/snapshots/snapshots__skybox-Fragment.glsl.snap rename to tests/out/skybox-Fragment.glsl.snap diff --git a/tests/snapshots/snapshots__skybox-Vertex.glsl.snap b/tests/out/skybox-Vertex.glsl.snap similarity index 100% rename from tests/snapshots/snapshots__skybox-Vertex.glsl.snap rename to tests/out/skybox-Vertex.glsl.snap diff --git a/tests/snapshots/snapshots__skybox.msl.snap b/tests/out/skybox.msl.snap similarity index 100% rename from tests/snapshots/snapshots__skybox.msl.snap rename to tests/out/skybox.msl.snap diff --git a/tests/snapshots/snapshots__skybox.spvasm.snap b/tests/out/skybox.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__skybox.spvasm.snap rename to tests/out/skybox.spvasm.snap diff --git a/tests/snapshots/snapshots__texture-array.spvasm.snap b/tests/out/texture-array.spvasm.snap similarity index 100% rename from tests/snapshots/snapshots__texture-array.spvasm.snap rename to tests/out/texture-array.spvasm.snap diff --git a/tests/snapshots.rs b/tests/snapshots.rs index f0c995748..913797e79 100644 --- a/tests/snapshots.rs +++ b/tests/snapshots.rs @@ -47,6 +47,13 @@ struct Parameters { mtl_bindings: naga::FastHashMap, } +fn with_snapshot_settings ()>(snapshot_assertion: F) { + let mut settings = insta::Settings::new(); + settings.set_snapshot_path("out"); + settings.set_prepend_module_to_snapshot(false); + settings.bind(|| snapshot_assertion()); +} + #[cfg(feature = "spv-out")] fn check_output_spv(module: &naga::Module, name: &str, params: &Parameters) { use naga::back::spv; @@ -62,7 +69,9 @@ fn check_output_spv(module: &naga::Module, name: &str, params: &Parameters) { let dis = rspirv::dr::load_words(spv) .expect("Produced invalid SPIR-V") .disassemble(); - insta::assert_snapshot!(format!("{}.spvasm", name), dis); + with_snapshot_settings(|| { + insta::assert_snapshot!(format!("{}.spvasm", name), dis); + }); } #[cfg(feature = "msl-out")] @@ -96,7 +105,10 @@ fn check_output_msl(module: &naga::Module, name: &str, params: &Parameters) { }; let (msl, _) = msl::write_string(&module, &options).unwrap(); - insta::assert_snapshot!(format!("{}.msl", name), msl); + + with_snapshot_settings(|| { + insta::assert_snapshot!(format!("{}.msl", name), msl); + }); } #[cfg(feature = "glsl-out")] @@ -113,19 +125,22 @@ fn check_output_glsl(module: &naga::Module, name: &str, stage: naga::ShaderStage writer.write().unwrap(); let string = String::from_utf8(buffer).unwrap(); - insta::assert_snapshot!(format!("{}-{:?}.glsl", name, stage), string); + + with_snapshot_settings(|| { + insta::assert_snapshot!(format!("{}-{:?}.glsl", name, stage), string); + }); } #[cfg(feature = "wgsl-in")] fn convert_wgsl(name: &str, language: Language) { let params = - match std::fs::read_to_string(format!("tests/snapshots/in/{}{}", name, ".param.ron")) { + match std::fs::read_to_string(format!("tests/in/{}{}", name, ".param.ron")) { Ok(string) => ron::de::from_str(&string).expect("Couldn't find param file"), Err(_) => Parameters::default(), }; let module = naga::front::wgsl::parse_str( - &std::fs::read_to_string(format!("tests/snapshots/in/{}{}", name, ".wgsl")) + &std::fs::read_to_string(format!("tests/in/{}{}", name, ".wgsl")) .expect("Couldn't find wgsl file"), ) .unwrap();