@@ -86,11 +86,13 @@ impl Config {
8686mod test {
8787 use super :: * ;
8888
89+ use crate :: test:: TestEnv ;
8990 use std:: io:: Write as _;
9091
9192 #[ test_log:: test]
9293 fn booleans_from_cli ( ) {
93- let shader_crate_path = crate :: test:: shader_crate_test_path ( ) ;
94+ let _env = TestEnv :: new ( ) ;
95+ let shader_crate_path = _env. setup_shader_crate ( ) . unwrap ( ) ;
9496
9597 let args = Config :: clap_command_with_cargo_config (
9698 & shader_crate_path,
@@ -108,43 +110,45 @@ mod test {
108110
109111 #[ test_log:: test]
110112 fn booleans_from_cargo ( ) {
111- let shader_crate_path = crate :: test:: shader_crate_test_path ( ) ;
112- let mut file = crate :: test:: overwrite_shader_cargo_toml ( & shader_crate_path) ;
113- file. write_all (
114- [
115- "[package.metadata.rust-gpu.build]" ,
116- "release = false" ,
117- "[package.metadata.rust-gpu.install]" ,
118- "auto-install-rust-toolchain = true" ,
119- ]
120- . join ( "\n " )
121- . as_bytes ( ) ,
122- )
123- . unwrap ( ) ;
113+ let _env = TestEnv :: new ( ) ;
114+ let shader_crate_path = _env
115+ . setup_shader_crate_with_cargo_toml ( |file| {
116+ file. write_all (
117+ [
118+ "[package.metadata.rust-gpu.build]" ,
119+ "release = false" ,
120+ "[package.metadata.rust-gpu.install]" ,
121+ "auto-install-rust-toolchain = true" ,
122+ ]
123+ . join ( "\n " )
124+ . as_bytes ( ) ,
125+ )
126+ } )
127+ . unwrap ( ) ;
124128
125129 let args = Config :: clap_command_with_cargo_config ( & shader_crate_path, vec ! [ ] ) . unwrap ( ) ;
126130 assert ! ( !args. build. spirv_builder. release) ;
127131 assert ! ( args. install. auto_install_rust_toolchain) ;
128132 }
129133
130- fn update_cargo_output_dir ( ) -> std:: path:: PathBuf {
131- let shader_crate_path = crate :: test:: shader_crate_test_path ( ) ;
132- let mut file = crate :: test:: overwrite_shader_cargo_toml ( & shader_crate_path) ;
133- file. write_all (
134- [
135- "[package.metadata.rust-gpu.build]" ,
136- "output-dir = \" /the/moon\" " ,
137- ]
138- . join ( "\n " )
139- . as_bytes ( ) ,
140- )
141- . unwrap ( ) ;
142- shader_crate_path
134+ fn update_cargo_output_dir ( _env : & TestEnv ) -> std:: path:: PathBuf {
135+ _env. setup_shader_crate_with_cargo_toml ( |file| {
136+ file. write_all (
137+ [
138+ "[package.metadata.rust-gpu.build]" ,
139+ "output-dir = \" /the/moon\" " ,
140+ ]
141+ . join ( "\n " )
142+ . as_bytes ( ) ,
143+ )
144+ } )
145+ . unwrap ( )
143146 }
144147
145148 #[ test_log:: test]
146149 fn string_from_cargo ( ) {
147- let shader_crate_path = update_cargo_output_dir ( ) ;
150+ let _env = TestEnv :: new ( ) ;
151+ let shader_crate_path = update_cargo_output_dir ( & _env) ;
148152
149153 let args = Config :: clap_command_with_cargo_config ( & shader_crate_path, vec ! [ ] ) . unwrap ( ) ;
150154 if cfg ! ( target_os = "windows" ) {
@@ -156,7 +160,8 @@ mod test {
156160
157161 #[ test_log:: test]
158162 fn string_from_cargo_overwritten_by_cli ( ) {
159- let shader_crate_path = update_cargo_output_dir ( ) ;
163+ let _env = TestEnv :: new ( ) ;
164+ let shader_crate_path = update_cargo_output_dir ( & _env) ;
160165
161166 let args = Config :: clap_command_with_cargo_config (
162167 & shader_crate_path,
@@ -173,17 +178,19 @@ mod test {
173178
174179 #[ test_log:: test]
175180 fn arrays_from_cargo ( ) {
176- let shader_crate_path = crate :: test:: shader_crate_test_path ( ) ;
177- let mut file = crate :: test:: overwrite_shader_cargo_toml ( & shader_crate_path) ;
178- file. write_all (
179- [
180- "[package.metadata.rust-gpu.build]" ,
181- "capabilities = [\" AtomicStorage\" , \" Matrix\" ]" ,
182- ]
183- . join ( "\n " )
184- . as_bytes ( ) ,
185- )
186- . unwrap ( ) ;
181+ let _env = TestEnv :: new ( ) ;
182+ let shader_crate_path = _env
183+ . setup_shader_crate_with_cargo_toml ( |file| {
184+ file. write_all (
185+ [
186+ "[package.metadata.rust-gpu.build]" ,
187+ "capabilities = [\" AtomicStorage\" , \" Matrix\" ]" ,
188+ ]
189+ . join ( "\n " )
190+ . as_bytes ( ) ,
191+ )
192+ } )
193+ . unwrap ( ) ;
187194
188195 let args = Config :: clap_command_with_cargo_config ( & shader_crate_path, vec ! [ ] ) . unwrap ( ) ;
189196 assert_eq ! (
@@ -197,7 +204,8 @@ mod test {
197204
198205 #[ test_log:: test]
199206 fn rename_manifest_parse ( ) {
200- let shader_crate_path = crate :: test:: shader_crate_test_path ( ) ;
207+ let _env = TestEnv :: new ( ) ;
208+ let shader_crate_path = _env. setup_shader_crate ( ) . unwrap ( ) ;
201209
202210 let args = Config :: clap_command_with_cargo_config (
203211 & shader_crate_path,
0 commit comments