@@ -5,6 +5,91 @@ use uv_static::EnvVars;
55
66use crate :: common:: { uv_snapshot, TestContext } ;
77
8+ #[ test]
9+ fn tool_upgrade_empty ( ) {
10+ let context = TestContext :: new ( "3.12" )
11+ . with_filtered_counts ( )
12+ . with_filtered_exe_suffix ( ) ;
13+ let tool_dir = context. temp_dir . child ( "tools" ) ;
14+ let bin_dir = context. temp_dir . child ( "bin" ) ;
15+
16+ uv_snapshot ! ( context. filters( ) , context. tool_upgrade( )
17+ . arg( "--all" )
18+ . env( EnvVars :: UV_TOOL_DIR , tool_dir. as_os_str( ) )
19+ . env( EnvVars :: XDG_BIN_HOME , bin_dir. as_os_str( ) )
20+ . env( EnvVars :: PATH , bin_dir. as_os_str( ) ) , @r###"
21+ success: true
22+ exit_code: 0
23+ ----- stdout -----
24+
25+ ----- stderr -----
26+ Nothing to upgrade
27+ "### ) ;
28+
29+ uv_snapshot ! ( context. filters( ) , context. tool_upgrade( )
30+ . arg( "--all" )
31+ . arg( "-p" )
32+ . arg( "3.13" )
33+ . env( EnvVars :: UV_TOOL_DIR , tool_dir. as_os_str( ) )
34+ . env( EnvVars :: XDG_BIN_HOME , bin_dir. as_os_str( ) )
35+ . env( EnvVars :: PATH , bin_dir. as_os_str( ) ) , @r###"
36+ success: true
37+ exit_code: 0
38+ ----- stdout -----
39+
40+ ----- stderr -----
41+ Nothing to upgrade
42+ "### ) ;
43+
44+ // Install the latest `babel`.
45+ uv_snapshot ! ( context. filters( ) , context. tool_install( )
46+ . arg( "babel" )
47+ . arg( "--index-url" )
48+ . arg( "https://pypi.org/simple/" )
49+ . env( EnvVars :: UV_TOOL_DIR , tool_dir. as_os_str( ) )
50+ . env( EnvVars :: XDG_BIN_HOME , bin_dir. as_os_str( ) )
51+ . env( EnvVars :: PATH , bin_dir. as_os_str( ) ) , @r###"
52+ success: true
53+ exit_code: 0
54+ ----- stdout -----
55+
56+ ----- stderr -----
57+ Resolved [N] packages in [TIME]
58+ Prepared [N] packages in [TIME]
59+ Installed [N] packages in [TIME]
60+ + babel==2.14.0
61+ Installed 1 executable: pybabel
62+ "### ) ;
63+
64+ uv_snapshot ! ( context. filters( ) , context. tool_upgrade( )
65+ . arg( "--all" )
66+ . env( EnvVars :: UV_TOOL_DIR , tool_dir. as_os_str( ) )
67+ . env( EnvVars :: XDG_BIN_HOME , bin_dir. as_os_str( ) )
68+ . env( EnvVars :: PATH , bin_dir. as_os_str( ) ) , @r###"
69+ success: true
70+ exit_code: 0
71+ ----- stdout -----
72+
73+ ----- stderr -----
74+ Nothing to upgrade
75+ "### ) ;
76+
77+ uv_snapshot ! ( context. filters( ) , context. tool_upgrade( )
78+ . arg( "--all" )
79+ . arg( "-p" )
80+ . arg( "3.12" )
81+ . env( EnvVars :: UV_TOOL_DIR , tool_dir. as_os_str( ) )
82+ . env( EnvVars :: XDG_BIN_HOME , bin_dir. as_os_str( ) )
83+ . env( EnvVars :: PATH , bin_dir. as_os_str( ) ) , @r###"
84+ success: true
85+ exit_code: 0
86+ ----- stdout -----
87+
88+ ----- stderr -----
89+ Nothing to upgrade
90+ "### ) ;
91+ }
92+
893#[ test]
994fn tool_upgrade_name ( ) {
1095 let context = TestContext :: new ( "3.12" )
0 commit comments