1
+ use std:: path:: Path ;
1
2
use std:: process:: Command ;
2
3
3
4
use assert_fs:: prelude:: * ;
@@ -9,13 +10,15 @@ use crate::common::{uv_snapshot, TestContext};
9
10
///
10
11
/// In particular, remove any user-defined environment variables and set any machine-specific
11
12
/// environment variables to static values.
12
- fn add_shared_args ( mut command : Command ) -> Command {
13
+ fn add_shared_args ( mut command : Command , cwd : & Path ) -> Command {
13
14
command
14
15
. env_clear ( )
15
16
. env ( EnvVars :: UV_LINK_MODE , "clone" )
16
17
. env ( EnvVars :: UV_CONCURRENT_DOWNLOADS , "50" )
17
18
. env ( EnvVars :: UV_CONCURRENT_BUILDS , "16" )
18
- . env ( EnvVars :: UV_CONCURRENT_INSTALLS , "8" ) ;
19
+ . env ( EnvVars :: UV_CONCURRENT_INSTALLS , "8" )
20
+ // Set an explicit `XDG_CONFIG_DIRS` to avoid loading system configuration.
21
+ . env ( EnvVars :: XDG_CONFIG_DIRS , cwd) ;
19
22
20
23
if cfg ! ( unix) {
21
24
// Avoid locale issues in tests
@@ -53,7 +56,7 @@ fn resolve_uv_toml() -> anyhow::Result<()> {
53
56
requirements_in. write_str ( "anyio>3.0.0" ) ?;
54
57
55
58
// Resolution should use the lowest direct version, and generate hashes.
56
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
59
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
57
60
. arg( "--show-settings" )
58
61
. arg( "requirements.in" ) , @r###"
59
62
success: true
@@ -204,7 +207,7 @@ fn resolve_uv_toml() -> anyhow::Result<()> {
204
207
) ;
205
208
206
209
// Resolution should use the highest version, and generate hashes.
207
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
210
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
208
211
. arg( "--show-settings" )
209
212
. arg( "requirements.in" )
210
213
. arg( "--resolution=highest" ) , @r###"
@@ -356,7 +359,7 @@ fn resolve_uv_toml() -> anyhow::Result<()> {
356
359
) ;
357
360
358
361
// Resolution should use the highest version, and omit hashes.
359
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
362
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
360
363
. arg( "--show-settings" )
361
364
. arg( "requirements.in" )
362
365
. arg( "--resolution=highest" )
@@ -543,7 +546,7 @@ fn resolve_pyproject_toml() -> anyhow::Result<()> {
543
546
requirements_in. write_str ( "anyio>3.0.0" ) ?;
544
547
545
548
// Resolution should use the lowest direct version, and generate hashes.
546
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
549
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
547
550
. arg( "--show-settings" )
548
551
. arg( "requirements.in" ) , @r###"
549
552
success: true
@@ -697,7 +700,7 @@ fn resolve_pyproject_toml() -> anyhow::Result<()> {
697
700
fs_err:: remove_file ( config. path ( ) ) ?;
698
701
699
702
// Resolution should use the highest version, and omit hashes.
700
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
703
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
701
704
. arg( "--show-settings" )
702
705
. arg( "requirements.in" ) , @r###"
703
706
success: true
@@ -830,7 +833,7 @@ fn resolve_pyproject_toml() -> anyhow::Result<()> {
830
833
"# } ) ?;
831
834
832
835
// Resolution should use the lowest direct version, and generate hashes.
833
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
836
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
834
837
. arg( "--show-settings" )
835
838
. arg( "requirements.in" ) , @r###"
836
839
success: true
@@ -1007,7 +1010,7 @@ fn resolve_index_url() -> anyhow::Result<()> {
1007
1010
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
1008
1011
requirements_in. write_str ( "anyio>3.0.0" ) ?;
1009
1012
1010
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
1013
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
1011
1014
. arg( "--show-settings" )
1012
1015
. arg( "requirements.in" ) , @r###"
1013
1016
success: true
@@ -1188,7 +1191,7 @@ fn resolve_index_url() -> anyhow::Result<()> {
1188
1191
1189
1192
// Providing an additional index URL on the command-line should be merged with the
1190
1193
// configuration file.
1191
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
1194
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
1192
1195
. arg( "--show-settings" )
1193
1196
. arg( "requirements.in" )
1194
1197
. arg( "--extra-index-url" )
@@ -1427,7 +1430,7 @@ fn resolve_find_links() -> anyhow::Result<()> {
1427
1430
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
1428
1431
requirements_in. write_str ( "tqdm" ) ?;
1429
1432
1430
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
1433
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
1431
1434
. arg( "--show-settings" )
1432
1435
. arg( "requirements.in" ) , @r###"
1433
1436
success: true
@@ -1603,7 +1606,7 @@ fn resolve_top_level() -> anyhow::Result<()> {
1603
1606
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
1604
1607
requirements_in. write_str ( "anyio>3.0.0" ) ?;
1605
1608
1606
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
1609
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
1607
1610
. arg( "--show-settings" )
1608
1611
. arg( "requirements.in" ) , @r###"
1609
1612
success: true
@@ -1742,7 +1745,7 @@ fn resolve_top_level() -> anyhow::Result<()> {
1742
1745
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
1743
1746
requirements_in. write_str ( "anyio>3.0.0" ) ?;
1744
1747
1745
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
1748
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
1746
1749
. arg( "--show-settings" )
1747
1750
. arg( "requirements.in" ) , @r###"
1748
1751
success: true
@@ -1922,7 +1925,7 @@ fn resolve_top_level() -> anyhow::Result<()> {
1922
1925
) ;
1923
1926
1924
1927
// But the command-line should take precedence over both.
1925
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
1928
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
1926
1929
. arg( "--show-settings" )
1927
1930
. arg( "requirements.in" )
1928
1931
. arg( "--resolution=lowest-direct" ) , @r###"
@@ -2127,7 +2130,7 @@ fn resolve_user_configuration() -> anyhow::Result<()> {
2127
2130
requirements_in. write_str ( "anyio>3.0.0" ) ?;
2128
2131
2129
2132
// Resolution should use the lowest direct version.
2130
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
2133
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
2131
2134
. arg( "--show-settings" )
2132
2135
. arg( "requirements.in" )
2133
2136
. env( EnvVars :: XDG_CONFIG_HOME , xdg. path( ) ) , @r###"
@@ -2256,7 +2259,7 @@ fn resolve_user_configuration() -> anyhow::Result<()> {
2256
2259
" } ) ?;
2257
2260
2258
2261
// Resolution should use the lowest direct version and generate hashes.
2259
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
2262
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
2260
2263
. arg( "--show-settings" )
2261
2264
. arg( "requirements.in" )
2262
2265
. env( EnvVars :: XDG_CONFIG_HOME , xdg. path( ) ) , @r###"
@@ -2385,7 +2388,7 @@ fn resolve_user_configuration() -> anyhow::Result<()> {
2385
2388
"# } ) ?;
2386
2389
2387
2390
// Resolution should use the highest version.
2388
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
2391
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
2389
2392
. arg( "--show-settings" )
2390
2393
. arg( "requirements.in" )
2391
2394
. env( EnvVars :: XDG_CONFIG_HOME , xdg. path( ) ) , @r###"
@@ -2516,7 +2519,7 @@ fn resolve_user_configuration() -> anyhow::Result<()> {
2516
2519
"# } ) ?;
2517
2520
2518
2521
// Resolution should use the highest version.
2519
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
2522
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
2520
2523
. arg( "--show-settings" )
2521
2524
. arg( "requirements.in" )
2522
2525
. env( EnvVars :: XDG_CONFIG_HOME , xdg. path( ) ) , @r###"
@@ -2666,7 +2669,7 @@ fn resolve_tool() -> anyhow::Result<()> {
2666
2669
2667
2670
// If we're running a user-level command, like `uv tool install`, we should use lowest direct,
2668
2671
// but retain build isolation (since we ignore the local configuration).
2669
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. tool_install( ) )
2672
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. tool_install( ) , context . temp_dir . path ( ) )
2670
2673
. arg( "--show-settings" )
2671
2674
. arg( "requirements.in" )
2672
2675
. env( EnvVars :: XDG_CONFIG_HOME , xdg. path( ) ) , @r###"
@@ -2825,7 +2828,7 @@ fn resolve_poetry_toml() -> anyhow::Result<()> {
2825
2828
requirements_in. write_str ( "anyio>3.0.0" ) ?;
2826
2829
2827
2830
// Resolution should use the lowest direct version, and generate hashes.
2828
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
2831
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
2829
2832
. arg( "--show-settings" )
2830
2833
. arg( "requirements.in" ) , @r###"
2831
2834
success: true
@@ -2982,7 +2985,7 @@ fn resolve_both() -> anyhow::Result<()> {
2982
2985
requirements_in. write_str ( "anyio>3.0.0" ) ?;
2983
2986
2984
2987
// Resolution should succeed, but warn that the `pip` section in `pyproject.toml` is ignored.
2985
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
2988
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
2986
2989
. arg( "--show-settings" )
2987
2990
. arg( "requirements.in" ) , @r###"
2988
2991
success: true
@@ -3156,7 +3159,7 @@ fn invalid_conflicts() -> anyhow::Result<()> {
3156
3159
"# } ) ?;
3157
3160
3158
3161
// The file should be rejected for violating the schema.
3159
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. lock( ) ) , @r###"
3162
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. lock( ) , context . temp_dir . path ( ) ) , @r###"
3160
3163
success: false
3161
3164
exit_code: 2
3162
3165
----- stdout -----
@@ -3183,7 +3186,7 @@ fn invalid_conflicts() -> anyhow::Result<()> {
3183
3186
"# } ) ?;
3184
3187
3185
3188
// The file should be rejected for violating the schema.
3186
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. lock( ) ) , @r###"
3189
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. lock( ) , context . temp_dir . path ( ) ) , @r###"
3187
3190
success: false
3188
3191
exit_code: 2
3189
3192
----- stdout -----
@@ -3219,7 +3222,7 @@ fn valid_conflicts() -> anyhow::Result<()> {
3219
3222
[{extra = "x1"}, {extra = "x2"}],
3220
3223
]
3221
3224
"# } ) ?;
3222
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. lock( ) ) , @r###"
3225
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. lock( ) , context . temp_dir . path ( ) ) , @r###"
3223
3226
success: true
3224
3227
exit_code: 0
3225
3228
----- stdout -----
@@ -3255,7 +3258,7 @@ fn resolve_config_file() -> anyhow::Result<()> {
3255
3258
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
3256
3259
requirements_in. write_str ( "anyio>3.0.0" ) ?;
3257
3260
3258
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3261
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3259
3262
. arg( "--show-settings" )
3260
3263
. arg( "--config-file" )
3261
3264
. arg( config. path( ) )
@@ -3420,7 +3423,7 @@ fn resolve_config_file() -> anyhow::Result<()> {
3420
3423
"# } ) ?;
3421
3424
3422
3425
// The file should be rejected for violating the schema.
3423
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3426
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3424
3427
. arg( "--show-settings" )
3425
3428
. arg( "--config-file" )
3426
3429
. arg( config. path( ) )
@@ -3454,7 +3457,7 @@ fn resolve_config_file() -> anyhow::Result<()> {
3454
3457
} ) ?;
3455
3458
3456
3459
// The file should be rejected for violating the schema, with a custom warning.
3457
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3460
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3458
3461
. arg( "--show-settings" )
3459
3462
. arg( "--config-file" )
3460
3463
. arg( config. path( ) )
@@ -3509,7 +3512,7 @@ fn resolve_skip_empty() -> anyhow::Result<()> {
3509
3512
3510
3513
// Resolution in `child` should use lowest-direct, skipping the `pyproject.toml`, which lacks a
3511
3514
// `tool.uv`.
3512
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3515
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3513
3516
. arg( "--show-settings" )
3514
3517
. arg( "requirements.in" )
3515
3518
. current_dir( & child) , @r###"
@@ -3641,7 +3644,7 @@ fn resolve_skip_empty() -> anyhow::Result<()> {
3641
3644
[tool.uv]
3642
3645
"# } ) ?;
3643
3646
3644
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3647
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3645
3648
. arg( "--show-settings" )
3646
3649
. arg( "requirements.in" )
3647
3650
. current_dir( & child) , @r###"
@@ -3782,7 +3785,7 @@ fn allow_insecure_host() -> anyhow::Result<()> {
3782
3785
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
3783
3786
requirements_in. write_str ( "anyio>3.0.0" ) ?;
3784
3787
3785
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3788
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3786
3789
. arg( "--show-settings" )
3787
3790
. arg( "requirements.in" ) , @r###"
3788
3791
success: true
@@ -3934,7 +3937,7 @@ fn index_priority() -> anyhow::Result<()> {
3934
3937
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
3935
3938
requirements_in. write_str ( "anyio>3.0.0" ) ?;
3936
3939
3937
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
3940
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
3938
3941
. arg( "requirements.in" )
3939
3942
. arg( "--show-settings" )
3940
3943
. arg( "--index-url" )
@@ -4117,7 +4120,7 @@ fn index_priority() -> anyhow::Result<()> {
4117
4120
"###
4118
4121
) ;
4119
4122
4120
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
4123
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
4121
4124
. arg( "requirements.in" )
4122
4125
. arg( "--show-settings" )
4123
4126
. arg( "--default-index" )
@@ -4306,7 +4309,7 @@ fn index_priority() -> anyhow::Result<()> {
4306
4309
"# } ) ?;
4307
4310
4308
4311
// Prefer the `--default-index` from the CLI, and treat it as the default.
4309
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
4312
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
4310
4313
. arg( "requirements.in" )
4311
4314
. arg( "--show-settings" )
4312
4315
. arg( "--default-index" )
@@ -4490,7 +4493,7 @@ fn index_priority() -> anyhow::Result<()> {
4490
4493
) ;
4491
4494
4492
4495
// Prefer the `--index` from the CLI, but treat the index from the file as the default.
4493
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
4496
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
4494
4497
. arg( "requirements.in" )
4495
4498
. arg( "--show-settings" )
4496
4499
. arg( "--index" )
@@ -4681,7 +4684,7 @@ fn index_priority() -> anyhow::Result<()> {
4681
4684
"# } ) ?;
4682
4685
4683
4686
// Prefer the `--index-url` from the CLI, and treat it as the default.
4684
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
4687
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
4685
4688
. arg( "requirements.in" )
4686
4689
. arg( "--show-settings" )
4687
4690
. arg( "--index-url" )
@@ -4865,7 +4868,7 @@ fn index_priority() -> anyhow::Result<()> {
4865
4868
) ;
4866
4869
4867
4870
// Prefer the `--extra-index-url` from the CLI, but not as the default.
4868
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) )
4871
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_compile( ) , context . temp_dir . path ( ) )
4869
4872
. arg( "requirements.in" )
4870
4873
. arg( "--show-settings" )
4871
4874
. arg( "--extra-index-url" )
@@ -5063,7 +5066,7 @@ fn verify_hashes() -> anyhow::Result<()> {
5063
5066
let requirements_in = context. temp_dir . child ( "requirements.in" ) ;
5064
5067
requirements_in. write_str ( "anyio>3.0.0" ) ?;
5065
5068
5066
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) )
5069
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) , context . temp_dir . path ( ) )
5067
5070
. arg( "-r" )
5068
5071
. arg( "requirements.in" )
5069
5072
. arg( "--show-settings" ) , @r###"
@@ -5185,7 +5188,7 @@ fn verify_hashes() -> anyhow::Result<()> {
5185
5188
"###
5186
5189
) ;
5187
5190
5188
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) )
5191
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) , context . temp_dir . path ( ) )
5189
5192
. arg( "-r" )
5190
5193
. arg( "requirements.in" )
5191
5194
. arg( "--no-verify-hashes" )
@@ -5306,7 +5309,7 @@ fn verify_hashes() -> anyhow::Result<()> {
5306
5309
"###
5307
5310
) ;
5308
5311
5309
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) )
5312
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) , context . temp_dir . path ( ) )
5310
5313
. arg( "-r" )
5311
5314
. arg( "requirements.in" )
5312
5315
. arg( "--require-hashes" )
@@ -5429,7 +5432,7 @@ fn verify_hashes() -> anyhow::Result<()> {
5429
5432
"###
5430
5433
) ;
5431
5434
5432
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) )
5435
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) , context . temp_dir . path ( ) )
5433
5436
. arg( "-r" )
5434
5437
. arg( "requirements.in" )
5435
5438
. arg( "--no-require-hashes" )
@@ -5550,7 +5553,7 @@ fn verify_hashes() -> anyhow::Result<()> {
5550
5553
"###
5551
5554
) ;
5552
5555
5553
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) )
5556
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) , context . temp_dir . path ( ) )
5554
5557
. arg( "-r" )
5555
5558
. arg( "requirements.in" )
5556
5559
. env( "UV_NO_VERIFY_HASHES" , "1" )
@@ -5671,7 +5674,7 @@ fn verify_hashes() -> anyhow::Result<()> {
5671
5674
"###
5672
5675
) ;
5673
5676
5674
- uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) )
5677
+ uv_snapshot ! ( context. filters( ) , add_shared_args( context. pip_install( ) , context . temp_dir . path ( ) )
5675
5678
. arg( "-r" )
5676
5679
. arg( "requirements.in" )
5677
5680
. arg( "--verify-hashes" )
0 commit comments