add csi-test to vendor
This commit is contained in:
46
vendor/github.com/golang/mock/sample/concurrent/concurrent_test.go
generated
vendored
Normal file
46
vendor/github.com/golang/mock/sample/concurrent/concurrent_test.go
generated
vendored
Normal file
@@ -0,0 +1,46 @@
|
||||
package concurrent
|
||||
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/golang/mock/gomock"
|
||||
"golang.org/x/net/context"
|
||||
|
||||
mock "github.com/golang/mock/sample/concurrent/mock"
|
||||
)
|
||||
|
||||
func call(ctx context.Context, m Math) (int, error) {
|
||||
result := make(chan int)
|
||||
go func() {
|
||||
result <- m.Sum(1, 2)
|
||||
close(result)
|
||||
}()
|
||||
select {
|
||||
case r := <-result:
|
||||
return r, nil
|
||||
case <-ctx.Done():
|
||||
return 0, ctx.Err()
|
||||
}
|
||||
}
|
||||
|
||||
// testConcurrentFails is expected to fail (and is disabled). It
|
||||
// demonstrates how to use gomock.WithContext to interrupt the test
|
||||
// from a different goroutine.
|
||||
func testConcurrentFails(t *testing.T) {
|
||||
ctrl, ctx := gomock.WithContext(context.Background(), t)
|
||||
defer ctrl.Finish()
|
||||
m := mock.NewMockMath(ctrl)
|
||||
if _, err := call(ctx, m); err != nil {
|
||||
t.Error("call failed:", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestConcurrentWorks(t *testing.T) {
|
||||
ctrl, ctx := gomock.WithContext(context.Background(), t)
|
||||
defer ctrl.Finish()
|
||||
m := mock.NewMockMath(ctrl)
|
||||
m.EXPECT().Sum(1, 2).Return(3)
|
||||
if _, err := call(ctx, m); err != nil {
|
||||
t.Error("call failed:", err)
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user