@@ -22,6 +22,8 @@ import (
2222 "sort"
2323 "testing"
2424
25+ "gotest.tools/v3/assert"
26+
2527 "github.com/containerd/go-cni"
2628
2729 "github.com/containerd/nerdctl/v2/pkg/labels"
@@ -124,45 +126,30 @@ func TestTestParseFlagPWithPlatformSpec(t *testing.T) {
124126 for _ , tt := range tests {
125127 t .Run (tt .name , func (t * testing.T ) {
126128 got , err := ParseFlagP (tt .args .s )
127- t .Log (err )
128- if (err != nil ) != tt .wantErr {
129- t .Errorf ("ParseFlagP() error = %v, wantErr %v" , err , tt .wantErr )
130- return
129+ if err != nil {
130+ t .Log (err )
131+ assert .Equal (t , true , tt .wantErr )
131132 }
132133 if ! reflect .DeepEqual (got , tt .want ) {
133- if len (got ) == len (tt .want ) {
134- if len (got ) > 0 {
135- var hostPorts []int32
136- var containerPorts []int32
137- for _ , value := range got {
138- hostPorts = append (hostPorts , value .HostPort )
139- containerPorts = append (containerPorts , value .ContainerPort )
140- }
141- sort .Slice (hostPorts , func (i , j int ) bool {
142- return i < j
143- })
144- sort .Slice (containerPorts , func (i , j int ) bool {
145- return i < j
146- })
147- if (hostPorts [len (hostPorts )- 1 ] - hostPorts [0 ]) != (containerPorts [len (hostPorts )- 1 ] - containerPorts [0 ]) {
148- t .Errorf ("ParseFlagP() = %v, want %v" , got , tt .want )
149- }
150- sort .Slice (got , func (i , j int ) bool {
151- return got [i ].HostPort < got [j ].HostPort
152- })
153- for i := 0 ; i < len (got ); i ++ {
154- if got [i ].ContainerPort != tt .want [i ].ContainerPort || got [i ].Protocol != tt .want [i ].Protocol || got [i ].HostIP != tt .want [i ].HostIP {
155- t .Errorf ("ParseFlagP() = %v, want %v" , got , tt .want )
156- }
157- }
134+ assert .Equal (t , len (got ), len (tt .want ))
135+ if len (got ) > 0 {
136+ sort .Slice (got , func (i , j int ) bool {
137+ return got [i ].HostPort < got [j ].HostPort
138+ })
139+ assert .Equal (
140+ t ,
141+ got [len (got )- 1 ].HostPort - got [0 ].HostPort ,
142+ got [len (got )- 1 ].ContainerPort - got [0 ].ContainerPort ,
143+ )
144+ for i := range len (got ) {
145+ assert .Equal (t , got [i ].ContainerPort , tt .want [i ].ContainerPort )
146+ assert .Equal (t , got [i ].Protocol , tt .want [i ].Protocol )
147+ assert .Equal (t , got [i ].HostIP , tt .want [i ].HostIP )
158148 }
159- } else {
160- t .Errorf ("ParseFlagP() = %v, want %v" , got , tt .want )
161149 }
162150 }
163151 })
164152 }
165-
166153}
167154
168155func TestParsePortsLabel (t * testing.T ) {
@@ -213,40 +200,27 @@ func TestParsePortsLabel(t *testing.T) {
213200 for _ , tt := range tests {
214201 t .Run (tt .name , func (t * testing.T ) {
215202 got , err := ParsePortsLabel (tt .labelMap )
216- t .Log (err )
217- if (err != nil ) != tt .wantErr {
218- t .Errorf ("ParsePortsLabel() error = %v, wantErr %v" , err , tt .wantErr )
219- return
203+ if err != nil {
204+ t .Log (err )
205+ assert .Equal (t , true , tt .wantErr )
220206 }
221207 if ! reflect .DeepEqual (got , tt .want ) {
222- if len (got ) == len (tt .want ) {
223- if len (got ) > 0 {
224- var hostPorts []int32
225- var containerPorts []int32
226- for _ , value := range got {
227- hostPorts = append (hostPorts , value .HostPort )
228- containerPorts = append (containerPorts , value .ContainerPort )
229- }
230- sort .Slice (hostPorts , func (i , j int ) bool {
231- return i < j
232- })
233- sort .Slice (containerPorts , func (i , j int ) bool {
234- return i < j
235- })
236- if (hostPorts [len (hostPorts )- 1 ] - hostPorts [0 ]) != (containerPorts [len (hostPorts )- 1 ] - containerPorts [0 ]) {
237- t .Errorf ("ParsePortsLabel() = %v, want %v" , got , tt .want )
238- }
239- sort .Slice (got , func (i , j int ) bool {
240- return got [i ].HostPort < got [j ].HostPort
241- })
242- for i := 0 ; i < len (got ); i ++ {
243- if got [i ].HostPort != tt .want [i ].HostPort || got [i ].ContainerPort != tt .want [i ].ContainerPort || got [i ].Protocol != tt .want [i ].Protocol || got [i ].HostIP != tt .want [i ].HostIP {
244- t .Errorf ("ParsePortsLabel() = %v, want %v" , got , tt .want )
245- }
246- }
208+ assert .Equal (t , len (got ), len (tt .want ))
209+ if len (got ) > 0 {
210+ sort .Slice (got , func (i , j int ) bool {
211+ return got [i ].HostPort < got [j ].HostPort
212+ })
213+ assert .Equal (
214+ t ,
215+ got [len (got )- 1 ].HostPort - got [0 ].HostPort ,
216+ got [len (got )- 1 ].ContainerPort - got [0 ].ContainerPort ,
217+ )
218+ for i := range len (got ) {
219+ assert .Equal (t , got [i ].HostPort , tt .want [i ].HostPort )
220+ assert .Equal (t , got [i ].ContainerPort , tt .want [i ].ContainerPort )
221+ assert .Equal (t , got [i ].Protocol , tt .want [i ].Protocol )
222+ assert .Equal (t , got [i ].HostIP , tt .want [i ].HostIP )
247223 }
248- } else {
249- t .Errorf ("ParsePortsLabel() = %v, want %v" , got , tt .want )
250224 }
251225 }
252226 })
0 commit comments