| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 | package signal_testimport (	"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)}
 |