@@ -142,6 +142,14 @@ version = "1.5.0"`,
142142 },
143143 expectError : false ,
144144 },
145+ {
146+ name : "Python requirements.txt with prerelease version" ,
147+ projectType : ProjectTypePythonPip ,
148+ setupFiles : map [string ]string {
149+ "requirements.txt" : "livekit-agents~=1.3rc" ,
150+ },
151+ expectError : false ,
152+ },
145153 {
146154 name : "No package found" ,
147155 projectType : ProjectTypePythonPip ,
@@ -209,6 +217,9 @@ func TestIsVersionSatisfied(t *testing.T) {
209217 {"~1.5.0" , "1.0.0" , true , false },
210218 {">=1.5.0" , "1.0.0" , true , false },
211219 {"==1.5.0" , "1.0.0" , true , false },
220+ {"1.3.0rc1" , "1.3.0" , true , false }, // prerelease should satisfy same base version
221+ {"1.3rc" , "1.3.0" , true , false }, // short prerelease should satisfy same base version
222+ {"1.3.0rc1" , "1.4.0" , false , false }, // prerelease should not satisfy higher version
212223 {"invalid" , "1.0.0" , false , true },
213224 {"1.5.0" , "invalid" , false , true },
214225 }
@@ -248,6 +259,12 @@ func TestNormalizeVersion(t *testing.T) {
248259 {`'1.5.0'` , "1.5.0" },
249260 {"*" , "*" },
250261 {"latest" , "latest" },
262+ {"1.3.0rc1" , "1.3.0-rc1" },
263+ {"1.3.0beta2" , "1.3.0-beta2" },
264+ {"1.3.0alpha1" , "1.3.0-alpha1" },
265+ {"1.3rc" , "1.3.0-rc" },
266+ {"1.3rc1" , "1.3.0-rc1" },
267+ {"~=1.3rc" , "1.3.0-rc" },
251268 }
252269
253270 for _ , tt := range tests {
0 commit comments