mirror of
https://github.com/goreleaser/goreleaser.git
synced 2025-03-17 20:47:50 +02:00
test: fix race
Signed-off-by: Carlos Alexandro Becker <caarlos0@gmail.com>
This commit is contained in:
parent
7b84a2ccd7
commit
36b190490f
@ -1,6 +1,7 @@
|
||||
package semerrgroup
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
"sync"
|
||||
"testing"
|
||||
"time"
|
||||
@ -26,21 +27,30 @@ func TestSemaphore(t *testing.T) {
|
||||
}
|
||||
|
||||
func TestSemaphoreOrder(t *testing.T) {
|
||||
num := 10
|
||||
var num = 10
|
||||
var g = New(1)
|
||||
output := make(chan int)
|
||||
go func() {
|
||||
for i := 0; i < num; i++ {
|
||||
require.Equal(t, <-output, i)
|
||||
}
|
||||
require.NoError(t, g.Wait())
|
||||
}()
|
||||
var output = []int{}
|
||||
for i := 0; i < num; i++ {
|
||||
j := i
|
||||
i := i
|
||||
g.Go(func() error {
|
||||
output <- j
|
||||
output = append(output, i)
|
||||
return nil
|
||||
})
|
||||
}
|
||||
require.NoError(t, g.Wait())
|
||||
require.Equal(t, []int{0, 1, 2, 3, 4, 5, 6, 7, 8, 9}, output)
|
||||
}
|
||||
|
||||
func TestSemaphoreOrderError(t *testing.T) {
|
||||
var g = New(1)
|
||||
var output = []int{}
|
||||
for i := 0; i < 10; i++ {
|
||||
i := i
|
||||
g.Go(func() error {
|
||||
output = append(output, i)
|
||||
return fmt.Errorf("fake err")
|
||||
})
|
||||
}
|
||||
require.EqualError(t, g.Wait(), "fake err")
|
||||
require.Equal(t, []int{0}, output)
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user