@@ -23,32 +23,33 @@ fn setup() {
23
23
#[ allow( dead_code) ]
24
24
// We should detect the conda install along with the base env
25
25
fn detect_conda_root ( ) {
26
+ use std:: sync:: Arc ;
27
+
26
28
use pet_conda:: Conda ;
27
29
use pet_core:: {
28
30
manager:: EnvManagerType , os_environment:: EnvironmentApi ,
29
31
python_environment:: PythonEnvironmentKind , Locator ,
30
32
} ;
31
- use pet_reporter:: test :: create_reporter ;
33
+ use pet_reporter:: { cache :: CacheReporter , collect } ;
32
34
33
35
setup ( ) ;
34
36
let env = EnvironmentApi :: new ( ) ;
35
37
36
- let reporter = create_reporter ( ) ;
38
+ let reporter = Arc :: new ( collect :: create_reporter ( ) ) ;
37
39
let conda = Conda :: from ( & env) ;
38
- conda. find ( & reporter) ;
39
- let result = reporter. get_result ( ) ;
40
+ conda. find ( & CacheReporter :: new ( reporter. clone ( ) ) ) ;
40
41
41
- assert_eq ! ( result. managers. len( ) , 1 ) ;
42
+ let environments = reporter. environments . lock ( ) . unwrap ( ) . clone ( ) ;
43
+ let managers = reporter. managers . lock ( ) . unwrap ( ) . clone ( ) ;
42
44
43
45
let info = get_conda_info ( ) ;
44
46
let conda_dir = PathBuf :: from ( info. conda_prefix . clone ( ) ) ;
45
- let manager = & result . managers [ 0 ] ;
47
+ let manager = & managers[ 0 ] ;
46
48
assert_eq ! ( manager. executable, conda_dir. join( "bin" ) . join( "conda" ) ) ;
47
49
assert_eq ! ( manager. tool, EnvManagerType :: Conda ) ;
48
50
assert_eq ! ( manager. version, info. conda_version. into( ) ) ;
49
51
50
- let env = & result
51
- . environments
52
+ let env = & environments
52
53
. iter ( )
53
54
. find ( |e| e. name == Some ( "base" . into ( ) ) )
54
55
. unwrap ( ) ;
@@ -107,8 +108,8 @@ fn detect_new_conda_env() {
107
108
use pet_core:: {
108
109
os_environment:: EnvironmentApi , python_environment:: PythonEnvironmentKind , Locator ,
109
110
} ;
110
- use pet_reporter:: test :: create_reporter ;
111
- use std:: path:: PathBuf ;
111
+ use pet_reporter:: { cache :: CacheReporter , collect } ;
112
+ use std:: { path:: PathBuf , sync :: Arc } ;
112
113
113
114
setup ( ) ;
114
115
let env_name = "env_with_python" ;
@@ -119,24 +120,23 @@ fn detect_new_conda_env() {
119
120
let env = EnvironmentApi :: new ( ) ;
120
121
121
122
let conda = Conda :: from ( & env) ;
122
- let reporter = create_reporter ( ) ;
123
- conda. find ( & reporter) ;
124
- let result = reporter. get_result ( ) ;
123
+ let reporter = Arc :: new ( collect:: create_reporter ( ) ) ;
124
+ conda. find ( & CacheReporter :: new ( reporter. clone ( ) ) ) ;
125
125
126
- assert_eq ! ( result. managers. len( ) , 1 ) ;
126
+ let environments = reporter. environments . lock ( ) . unwrap ( ) . clone ( ) ;
127
+ let managers = reporter. managers . lock ( ) . unwrap ( ) . clone ( ) ;
127
128
128
- let manager = & result . managers [ 0 ] ;
129
+ let manager = & managers[ 0 ] ;
129
130
130
131
let info = get_conda_info ( ) ;
131
132
let conda_dir = PathBuf :: from ( info. conda_prefix . clone ( ) ) ;
132
- let env = result
133
- . environments
133
+ let env = environments
134
134
. iter ( )
135
135
. find ( |x| x. name == Some ( env_name. into ( ) ) )
136
136
. expect (
137
137
format ! (
138
138
"New Environment not created, detected envs {:?}" ,
139
- result . environments
139
+ environments
140
140
)
141
141
. as_str ( ) ,
142
142
) ;
@@ -211,33 +211,32 @@ fn detect_new_conda_env_without_python() {
211
211
use pet_core:: {
212
212
os_environment:: EnvironmentApi , python_environment:: PythonEnvironmentKind , Locator ,
213
213
} ;
214
- use pet_reporter:: test :: create_reporter ;
215
- use std:: path:: PathBuf ;
214
+ use pet_reporter:: { cache :: CacheReporter , collect } ;
215
+ use std:: { path:: PathBuf , sync :: Arc } ;
216
216
217
217
setup ( ) ;
218
218
let env_name = "env_without_python" ;
219
219
create_conda_env ( & CondaCreateEnvNameOrPath :: Name ( env_name. into ( ) ) , None ) ;
220
220
let env = EnvironmentApi :: new ( ) ;
221
221
222
222
let conda = Conda :: from ( & env) ;
223
- let reporter = create_reporter ( ) ;
224
- conda. find ( & reporter) ;
225
- let result = reporter. get_result ( ) ;
223
+ let reporter = Arc :: new ( collect:: create_reporter ( ) ) ;
224
+ conda. find ( & CacheReporter :: new ( reporter. clone ( ) ) ) ;
226
225
227
- assert_eq ! ( result. managers. len( ) , 1 ) ;
226
+ let environments = reporter. environments . lock ( ) . unwrap ( ) . clone ( ) ;
227
+ let managers = reporter. managers . lock ( ) . unwrap ( ) . clone ( ) ;
228
228
229
- let manager = & result . managers [ 0 ] ;
229
+ let manager = & managers[ 0 ] ;
230
230
231
231
let info = get_conda_info ( ) ;
232
232
let conda_dir = PathBuf :: from ( info. conda_prefix . clone ( ) ) ;
233
- let env = result
234
- . environments
233
+ let env = environments
235
234
. iter ( )
236
235
. find ( |x| x. name == Some ( env_name. into ( ) ) )
237
236
. expect (
238
237
format ! (
239
238
"New Environment not created, detected envs {:?}" ,
240
- result . environments
239
+ environments
241
240
)
242
241
. as_str ( ) ,
243
242
) ;
@@ -257,12 +256,14 @@ fn detect_new_conda_env_without_python() {
257
256
#[ allow( dead_code) ]
258
257
// Detect envs created without Python in a custom directory using the -p flag
259
258
fn detect_new_conda_env_created_with_p_flag_without_python ( ) {
259
+ use std:: sync:: Arc ;
260
+
260
261
use common:: resolve_test_path;
261
262
use pet_conda:: Conda ;
262
263
use pet_core:: {
263
264
os_environment:: EnvironmentApi , python_environment:: PythonEnvironmentKind , Locator ,
264
265
} ;
265
- use pet_reporter:: test :: create_reporter ;
266
+ use pet_reporter:: { cache :: CacheReporter , collect } ;
266
267
267
268
setup ( ) ;
268
269
let env_name = "env_without_python3" ;
@@ -271,22 +272,21 @@ fn detect_new_conda_env_created_with_p_flag_without_python() {
271
272
let env = EnvironmentApi :: new ( ) ;
272
273
273
274
let conda = Conda :: from ( & env) ;
274
- let reporter = create_reporter ( ) ;
275
- conda. find ( & reporter) ;
276
- let result = reporter. get_result ( ) ;
275
+ let reporter = Arc :: new ( collect:: create_reporter ( ) ) ;
276
+ conda. find ( & CacheReporter :: new ( reporter. clone ( ) ) ) ;
277
277
278
- assert_eq ! ( result. managers. len( ) , 1 ) ;
278
+ let environments = reporter. environments . lock ( ) . unwrap ( ) . clone ( ) ;
279
+ let managers = reporter. managers . lock ( ) . unwrap ( ) . clone ( ) ;
279
280
280
- let manager = & result . managers [ 0 ] ;
281
+ let manager = & managers[ 0 ] ;
281
282
282
- let env = result
283
- . environments
283
+ let env = environments
284
284
. iter ( )
285
285
. find ( |x| x. prefix == Some ( prefix. clone ( ) ) )
286
286
. expect (
287
287
format ! (
288
288
"New Environment ({:?}) not created, detected envs {:?}" ,
289
- prefix, result . environments
289
+ prefix, environments
290
290
)
291
291
. as_str ( ) ,
292
292
) ;
@@ -305,12 +305,17 @@ fn detect_new_conda_env_created_with_p_flag_without_python() {
305
305
#[ allow( dead_code) ]
306
306
// Detect envs created Python in a custom directory using the -p flag
307
307
fn detect_new_conda_env_created_with_p_flag_with_python ( ) {
308
+ use std:: sync:: Arc ;
309
+
308
310
use common:: resolve_test_path;
309
311
use pet_conda:: Conda ;
310
312
use pet_core:: {
311
313
os_environment:: EnvironmentApi , python_environment:: PythonEnvironmentKind , Locator ,
312
314
} ;
313
- use pet_reporter:: test:: create_reporter;
315
+ use pet_reporter:: {
316
+ cache:: { self , CacheReporter } ,
317
+ collect,
318
+ } ;
314
319
315
320
setup ( ) ;
316
321
let env_name = "env_with_python3" ;
@@ -323,22 +328,21 @@ fn detect_new_conda_env_created_with_p_flag_with_python() {
323
328
let env = EnvironmentApi :: new ( ) ;
324
329
325
330
let conda = Conda :: from ( & env) ;
326
- let reporter = create_reporter ( ) ;
327
- conda. find ( & reporter) ;
328
- let result = reporter. get_result ( ) ;
331
+ let reporter = Arc :: new ( collect:: create_reporter ( ) ) ;
332
+ conda. find ( & CacheReporter :: new ( reporter. clone ( ) ) ) ;
329
333
330
- assert_eq ! ( result. managers. len( ) , 1 ) ;
334
+ let environments = reporter. environments . lock ( ) . unwrap ( ) . clone ( ) ;
335
+ let managers = reporter. managers . lock ( ) . unwrap ( ) . clone ( ) ;
331
336
332
- let manager = & result . managers [ 0 ] ;
337
+ let manager = & managers[ 0 ] ;
333
338
334
- let env = result
335
- . environments
339
+ let env = environments
336
340
. iter ( )
337
341
. find ( |x| x. prefix == Some ( prefix. clone ( ) ) )
338
342
. expect (
339
343
format ! (
340
344
"New Environment not created, detected envs {:?}" ,
341
- result . environments
345
+ environments
342
346
)
343
347
. as_str ( ) ,
344
348
) ;
0 commit comments