| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | 
							- package signal_test
 
- import (
 
- 	"context"
 
- 	"errors"
 
- 	"testing"
 
- 	. "v2ray.com/core/common/signal"
 
- 	. "v2ray.com/ext/assert"
 
- )
 
- func TestErrorOrFinish2_Error(t *testing.T) {
 
- 	assert := With(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(err.Error(), Equals, "test")
 
- }
 
- func TestErrorOrFinish2_Error2(t *testing.T) {
 
- 	assert := With(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(err.Error(), Equals, "test")
 
- }
 
- func TestErrorOrFinish2_NoneError(t *testing.T) {
 
- 	assert := With(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(err, IsNil)
 
- }
 
- func TestErrorOrFinish2_NoneError2(t *testing.T) {
 
- 	assert := With(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(err, IsNil)
 
- }
 
 
  |