| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687 |
- package signal_test
- import (
- "errors"
- "testing"
- . "v2ray.com/core/common/signal"
- "v2ray.com/core/testing/assert"
- )
- func TestErrorOrFinish2_Error(t *testing.T) {
- assert := assert.On(t)
- c1 := make(chan error, 1)
- c2 := make(chan error, 2)
- c := make(chan error, 1)
- go func() {
- c <- ErrorOrFinish2(c1, c2)
- }()
- c1 <- errors.New("test")
- err := <-c
- assert.String(err.Error()).Equals("test")
- }
- func TestErrorOrFinish2_Error2(t *testing.T) {
- assert := assert.On(t)
- c1 := make(chan error, 1)
- c2 := make(chan error, 2)
- c := make(chan error, 1)
- go func() {
- c <- ErrorOrFinish2(c1, c2)
- }()
- c2 <- errors.New("test")
- err := <-c
- assert.String(err.Error()).Equals("test")
- }
- func TestErrorOrFinish2_NoneError(t *testing.T) {
- assert := assert.On(t)
- c1 := make(chan error, 1)
- c2 := make(chan error, 2)
- c := make(chan error, 1)
- go func() {
- c <- ErrorOrFinish2(c1, c2)
- }()
- close(c1)
- select {
- case <-c:
- t.Fail()
- default:
- }
- close(c2)
- err := <-c
- assert.Error(err).IsNil()
- }
- func TestErrorOrFinish2_NoneError2(t *testing.T) {
- assert := assert.On(t)
- c1 := make(chan error, 1)
- c2 := make(chan error, 2)
- c := make(chan error, 1)
- go func() {
- c <- ErrorOrFinish2(c1, c2)
- }()
- close(c2)
- select {
- case <-c:
- t.Fail()
- default:
- }
- close(c1)
- err := <-c
- assert.Error(err).IsNil()
- }
|