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