@@ -192,6 +192,18 @@ func TestTerramateVersionConstraints(t *testing.T) {
192192 constraint : "> 1.2.2, < 1.2.3" ,
193193 want : errors .E (versions .ErrCheck ),
194194 },
195+ {
196+ version : "1.2.3-alpha" ,
197+ constraint : "> 1.2.2, < 1.2.3" ,
198+ prereleases : true ,
199+ want : errors .E (versions .ErrCheck ),
200+ },
201+ {
202+ version : "1.2.3-alpha" ,
203+ constraint : "~> 1.2.2" ,
204+ prereleases : true ,
205+ //want: errors.E(versions.ErrCheck),
206+ },
195207 {
196208 version : "1.2.3-dev" ,
197209 constraint : ">= 1.2.3" ,
@@ -201,12 +213,12 @@ func TestTerramateVersionConstraints(t *testing.T) {
201213 version : "1.2.3-dev" ,
202214 constraint : ">= 1.2.3" ,
203215 prereleases : true ,
204- want : errors .E (versions .ErrCheck ),
205216 },
206217 {
207218 version : "1.2.3-dev" ,
208219 constraint : "< 1.2.3" ,
209220 prereleases : true ,
221+ want : errors .E (versions .ErrCheck ),
210222 },
211223 {
212224 version : "1.2.3-dev" ,
@@ -308,11 +320,54 @@ func TestTerramateVersionConstraints(t *testing.T) {
308320 constraint : "< 1.2.3-dev2" ,
309321 prereleases : true ,
310322 },
323+ {
324+ version : "0.6.0-rc1" ,
325+ constraint : "~> 0.5.0" ,
326+ want : errors .E (versions .ErrCheck ),
327+ },
328+ {
329+ version : "0.6.0-rc1" ,
330+ constraint : "~> 0.5.0" ,
331+ prereleases : true ,
332+ want : errors .E (versions .ErrCheck ),
333+ },
334+ {
335+ version : "0.6.0-rc1" ,
336+ constraint : "~> 0.6.0-rc1" ,
337+ },
338+ {
339+ version : "0.6.0-rc1" ,
340+ constraint : "~> 0.6.0-rc1" ,
341+ prereleases : true ,
342+ },
343+ {
344+ version : "0.6.0-rc1" ,
345+ constraint : "~> 0.5.0" ,
346+ want : errors .E (versions .ErrCheck ),
347+ },
348+ {
349+ version : "2.0.0-alpha" ,
350+ constraint : "~> 1" ,
351+ prereleases : true ,
352+ want : errors .E (versions .ErrCheck ),
353+ },
354+ {
355+ version : "1.0.0-alpha" ,
356+ constraint : "< 2" ,
357+ prereleases : true ,
358+ },
359+ // TODO(i4k): review this with Marius.
360+ // looks broken.
361+ {
362+ version : "1.0.0-alpha" ,
363+ constraint : "< 1.0.0" ,
364+ prereleases : true ,
365+ want : errors .E (versions .ErrCheck ),
366+ },
311367 } {
312368 tc := tc
313369 name := fmt .Sprintf ("CheckVersionFor(%q,%q, %t)" , tc .version , tc .constraint , tc .prereleases )
314370 t .Run (name , func (t * testing.T ) {
315- t .Parallel ()
316371 err := versions .Check (tc .version , tc .constraint , tc .prereleases )
317372 errtest .Assert (t , err , tc .want , "error mismatch" )
318373 })
0 commit comments