1- use std:: process:: Command ;
2-
31use assert_fs:: fixture:: FileWriteStr ;
42use assert_fs:: fixture:: PathChild ;
53
64use common:: uv_snapshot;
75
8- use crate :: common:: { get_bin , TestContext } ;
6+ use crate :: common:: TestContext ;
97
108mod common;
119
1210#[ test]
13- fn no_package ( ) {
11+ fn pip_tree_no_package ( ) {
1412 let context = TestContext :: new ( "3.12" ) ;
1513
1614 uv_snapshot ! ( context. filters( ) , context. pip_tree( ) , @r###"
@@ -25,7 +23,7 @@ fn no_package() {
2523}
2624
2725#[ test]
28- fn prune_last_in_the_subgroup ( ) {
26+ fn pip_tree_prune_last_in_the_subgroup ( ) {
2927 let context = TestContext :: new ( "3.12" ) ;
3028
3129 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -68,7 +66,7 @@ fn prune_last_in_the_subgroup() {
6866}
6967
7068#[ test]
71- fn single_package ( ) {
69+ fn pip_tree_single_package ( ) {
7270 let context = TestContext :: new ( "3.12" ) ;
7371
7472 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -113,7 +111,7 @@ fn single_package() {
113111// `pandas` requires `numpy` with markers on Python version.
114112#[ test]
115113#[ cfg( not( windows) ) ]
116- fn python_version_marker ( ) {
114+ fn pip_tree_python_version_marker ( ) {
117115 let context = TestContext :: new ( "3.12" ) ;
118116
119117 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -159,7 +157,7 @@ fn python_version_marker() {
159157}
160158
161159#[ test]
162- fn nested_dependencies ( ) {
160+ fn pip_tree_nested_dependencies ( ) {
163161 let context = TestContext :: new ( "3.12" ) ;
164162
165163 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -206,7 +204,7 @@ fn nested_dependencies() {
206204
207205// Identical test as `invert` since `--reverse` is simply an alias for `--invert`.
208206#[ test]
209- fn reverse ( ) {
207+ fn pip_tree_reverse ( ) {
210208 let context = TestContext :: new ( "3.12" ) ;
211209
212210 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -254,7 +252,7 @@ fn reverse() {
254252}
255253
256254#[ test]
257- fn invert ( ) {
255+ fn pip_tree_invert ( ) {
258256 let context = TestContext :: new ( "3.12" ) ;
259257
260258 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -302,7 +300,7 @@ fn invert() {
302300}
303301
304302#[ test]
305- fn depth ( ) {
303+ fn pip_tree_depth ( ) {
306304 let context = TestContext :: new ( "3.12" ) ;
307305
308306 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -330,16 +328,9 @@ fn depth() {
330328 "###
331329 ) ;
332330
333- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
334- . arg( "pip" )
335- . arg( "tree" )
336- . arg( "--cache-dir" )
337- . arg( context. cache_dir. path( ) )
331+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
338332 . arg( "--depth" )
339- . arg( "0" )
340- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
341- . env( "UV_NO_WRAP" , "1" )
342- . current_dir( & context. temp_dir) , @r###"
333+ . arg( "0" ) , @r###"
343334 success: true
344335 exit_code: 0
345336 ----- stdout -----
@@ -350,16 +341,9 @@ fn depth() {
350341 "###
351342 ) ;
352343
353- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
354- . arg( "pip" )
355- . arg( "tree" )
356- . arg( "--cache-dir" )
357- . arg( context. cache_dir. path( ) )
344+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
358345 . arg( "--depth" )
359- . arg( "1" )
360- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
361- . env( "UV_NO_WRAP" , "1" )
362- . current_dir( & context. temp_dir) , @r###"
346+ . arg( "1" ) , @r###"
363347 success: true
364348 exit_code: 0
365349 ----- stdout -----
@@ -374,16 +358,9 @@ fn depth() {
374358 "###
375359 ) ;
376360
377- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
378- . arg( "pip" )
379- . arg( "tree" )
380- . arg( "--cache-dir" )
381- . arg( context. cache_dir. path( ) )
361+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
382362 . arg( "--depth" )
383- . arg( "2" )
384- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
385- . env( "UV_NO_WRAP" , "1" )
386- . current_dir( & context. temp_dir) , @r###"
363+ . arg( "2" ) , @r###"
387364 success: true
388365 exit_code: 0
389366 ----- stdout -----
@@ -400,7 +377,7 @@ fn depth() {
400377}
401378
402379#[ test]
403- fn prune ( ) {
380+ fn pip_tree_prune ( ) {
404381 let context = TestContext :: new ( "3.12" ) ;
405382
406383 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -428,16 +405,9 @@ fn prune() {
428405 "###
429406 ) ;
430407
431- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
432- . arg( "pip" )
433- . arg( "tree" )
434- . arg( "--cache-dir" )
435- . arg( context. cache_dir. path( ) )
408+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
436409 . arg( "--prune" )
437- . arg( "numpy" )
438- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
439- . env( "UV_NO_WRAP" , "1" )
440- . current_dir( & context. temp_dir) , @r###"
410+ . arg( "numpy" ) , @r###"
441411 success: true
442412 exit_code: 0
443413 ----- stdout -----
@@ -450,18 +420,11 @@ fn prune() {
450420 "###
451421 ) ;
452422
453- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
454- . arg( "pip" )
455- . arg( "tree" )
456- . arg( "--cache-dir" )
457- . arg( context. cache_dir. path( ) )
423+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
458424 . arg( "--prune" )
459425 . arg( "numpy" )
460426 . arg( "--prune" )
461- . arg( "joblib" )
462- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
463- . env( "UV_NO_WRAP" , "1" )
464- . current_dir( & context. temp_dir) , @r###"
427+ . arg( "joblib" ) , @r###"
465428 success: true
466429 exit_code: 0
467430 ----- stdout -----
@@ -473,16 +436,9 @@ fn prune() {
473436 "###
474437 ) ;
475438
476- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
477- . arg( "pip" )
478- . arg( "tree" )
479- . arg( "--cache-dir" )
480- . arg( context. cache_dir. path( ) )
439+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
481440 . arg( "--prune" )
482- . arg( "scipy" )
483- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
484- . env( "UV_NO_WRAP" , "1" )
485- . current_dir( & context. temp_dir) , @r###"
441+ . arg( "scipy" ) , @r###"
486442 success: true
487443 exit_code: 0
488444 ----- stdout -----
@@ -498,7 +454,7 @@ fn prune() {
498454
499455#[ test]
500456#[ cfg( target_os = "macos" ) ]
501- fn complex_nested_dependencies_inverted ( ) {
457+ fn pip_tree_complex_nested_dependencies_inverted ( ) {
502458 let context = TestContext :: new ( "3.12" ) ;
503459
504460 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -620,7 +576,7 @@ fn complex_nested_dependencies_inverted() {
620576
621577#[ test]
622578#[ cfg( target_os = "macos" ) ]
623- fn complex_nested_dependencies ( ) {
579+ fn pip_tree_complex_nested_dependencies ( ) {
624580 let context = TestContext :: new ( "3.12" ) ;
625581
626582 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -723,7 +679,7 @@ fn complex_nested_dependencies() {
723679
724680#[ test]
725681#[ cfg( target_os = "macos" ) ]
726- fn prune_large_tree ( ) {
682+ fn pip_tree_prune_large_tree ( ) {
727683 let context = TestContext :: new ( "3.12" ) ;
728684
729685 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -776,16 +732,9 @@ fn prune_large_tree() {
776732 "###
777733 ) ;
778734
779- uv_snapshot ! ( context. filters( ) , Command :: new( get_bin( ) )
780- . arg( "pip" )
781- . arg( "tree" )
782- . arg( "--cache-dir" )
783- . arg( context. cache_dir. path( ) )
735+ uv_snapshot ! ( context. filters( ) , context. pip_tree( )
784736 . arg( "--prune" )
785- . arg( "hatchling" )
786- . env( "VIRTUAL_ENV" , context. venv. as_os_str( ) )
787- . env( "UV_NO_WRAP" , "1" )
788- . current_dir( & context. temp_dir) , @r###"
737+ . arg( "hatchling" ) , @r###"
789738 success: true
790739 exit_code: 0
791740 ----- stdout -----
@@ -833,7 +782,7 @@ fn prune_large_tree() {
833782// Additionally, package `uv-cyclic-dependencies-c` is included (depends on `uv-cyclic-dependencies-a`)
834783// to make this test case more realistic and meaningful.
835784#[ test]
836- fn cyclic_dependency ( ) {
785+ fn pip_tree_cyclic_dependency ( ) {
837786 let context = TestContext :: new ( "3.12" ) ;
838787
839788 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -881,7 +830,7 @@ fn cyclic_dependency() {
881830
882831// Ensure `pip tree` behaves correctly after a package has been removed.
883832#[ test]
884- fn removed_dependency ( ) {
833+ fn pip_tree_removed_dependency ( ) {
885834 let context = TestContext :: new ( "3.12" ) ;
886835
887836 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -936,7 +885,7 @@ fn removed_dependency() {
936885}
937886
938887#[ test]
939- fn multiple_packages ( ) {
888+ fn pip_tree_multiple_packages ( ) {
940889 let context = TestContext :: new ( "3.12" ) ;
941890
942891 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -995,7 +944,7 @@ fn multiple_packages() {
995944// Both `pendulum` and `boto3` depend on `python-dateutil`.
996945#[ test]
997946#[ cfg( not( windows) ) ]
998- fn multiple_packages_shared_descendant ( ) {
947+ fn pip_tree_multiple_packages_shared_descendant ( ) {
999948 let context = TestContext :: new ( "3.12" ) ;
1000949
1001950 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1063,7 +1012,7 @@ fn multiple_packages_shared_descendant() {
10631012// Test the interaction between `--no-dedupe` and `--invert`.
10641013#[ test]
10651014#[ cfg( not( windows) ) ]
1066- fn no_dedupe_and_invert ( ) {
1015+ fn pip_tree_no_dedupe_and_invert ( ) {
10671016 let context = TestContext :: new ( "3.12" ) ;
10681017
10691018 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1139,7 +1088,7 @@ fn no_dedupe_and_invert() {
11391088// in the presence of dependency cycles.
11401089#[ test]
11411090#[ cfg( not( windows) ) ]
1142- fn no_dedupe_and_cycle ( ) {
1091+ fn pip_tree_no_dedupe_and_cycle ( ) {
11431092 let context = TestContext :: new ( "3.12" ) ;
11441093
11451094 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1239,7 +1188,7 @@ fn no_dedupe_and_cycle() {
12391188
12401189#[ test]
12411190#[ cfg( not( windows) ) ]
1242- fn no_dedupe ( ) {
1191+ fn pip_tree_no_dedupe ( ) {
12431192 let context = TestContext :: new ( "3.12" ) ;
12441193
12451194 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1312,7 +1261,7 @@ fn no_dedupe() {
13121261
13131262#[ test]
13141263#[ cfg( feature = "git" ) ]
1315- fn with_editable ( ) {
1264+ fn pip_tree_with_editable ( ) {
13161265 let context = TestContext :: new ( "3.12" ) ;
13171266
13181267 // Install the editable package.
@@ -1353,7 +1302,7 @@ fn with_editable() {
13531302
13541303#[ test]
13551304#[ cfg( target_os = "macos" ) ]
1356- fn package_flag_complex ( ) {
1305+ fn pip_tree_package_flag_complex ( ) {
13571306 let context = TestContext :: new ( "3.12" ) ;
13581307
13591308 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1436,7 +1385,7 @@ fn package_flag_complex() {
14361385}
14371386
14381387#[ test]
1439- fn package_flag ( ) {
1388+ fn pip_tree_package_flag ( ) {
14401389 let context = TestContext :: new ( "3.12" ) ;
14411390
14421391 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1502,7 +1451,7 @@ fn package_flag() {
15021451}
15031452
15041453#[ test]
1505- fn show_version_specifiers_simple ( ) {
1454+ fn pip_tree_show_version_specifiers_simple ( ) {
15061455 let context = TestContext :: new ( "3.12" ) ;
15071456
15081457 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1546,7 +1495,7 @@ fn show_version_specifiers_simple() {
15461495
15471496#[ test]
15481497#[ cfg( target_os = "macos" ) ]
1549- fn show_version_specifiers_complex ( ) {
1498+ fn pip_tree_show_version_specifiers_complex ( ) {
15501499 let context = TestContext :: new ( "3.12" ) ;
15511500
15521501 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1648,7 +1597,7 @@ fn show_version_specifiers_complex() {
16481597}
16491598
16501599#[ test]
1651- fn show_version_specifiers_with_invert ( ) {
1600+ fn pip_tree_show_version_specifiers_with_invert ( ) {
16521601 let context = TestContext :: new ( "3.12" ) ;
16531602
16541603 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
@@ -1700,7 +1649,7 @@ fn show_version_specifiers_with_invert() {
17001649}
17011650
17021651#[ test]
1703- fn show_version_specifiers_with_package ( ) {
1652+ fn pip_tree_show_version_specifiers_with_package ( ) {
17041653 let context = TestContext :: new ( "3.12" ) ;
17051654
17061655 let requirements_txt = context. temp_dir . child ( "requirements.txt" ) ;
0 commit comments