| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- package signal_test
 
- import (
 
- 	"context"
 
- 	"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(context.Background(), 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(context.Background(), 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(context.Background(), 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(context.Background(), c1, c2)
 
- 	}()
 
- 	close(c2)
 
- 	select {
 
- 	case <-c:
 
- 		t.Fail()
 
- 	default:
 
- 	}
 
- 	close(c1)
 
- 	err := <-c
 
- 	assert.Error(err).IsNil()
 
- }
 
 
  |