| 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()
 
- }
 
 
  |