Skip to content

Commit dafe0c3

Browse files
committed
better error buffer
1 parent 9f59155 commit dafe0c3

File tree

4 files changed

+18
-4
lines changed

4 files changed

+18
-4
lines changed

cmd/rr/debug/debugger.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ func (s *debugger) listener(event int, ctx interface{}) {
5858
// outputs
5959
switch event {
6060
case roadrunner.EventStderrOutput:
61-
s.logger.Warning(strings.Trim(string(ctx.([]byte)), "\r\n"))
61+
s.logger.Warning(utils.Sprintf("<yellow+h>%s</reset>", strings.Trim(string(ctx.([]byte)), "\r\n")))
6262
}
6363

6464
// rr server events

error_buffer.go

+3
Original file line numberDiff line numberDiff line change
@@ -43,7 +43,9 @@ func newErrBuffer() *errBuffer {
4343
if len(eb.buf) > eb.last {
4444
if eb.lsn != nil {
4545
eb.lsn(EventStderrOutput, eb.buf[eb.last:])
46+
eb.buf = eb.buf[0:0]
4647
}
48+
4749
eb.last = len(eb.buf)
4850
}
4951
eb.mu.Unlock()
@@ -55,6 +57,7 @@ func newErrBuffer() *errBuffer {
5557
if eb.lsn != nil {
5658
eb.lsn(EventStderrOutput, eb.buf[eb.last:])
5759
}
60+
5861
eb.last = len(eb.buf)
5962
}
6063
eb.mu.Unlock()

error_buffer_test.go

+13-2
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,7 @@ func TestErrBuffer_Write_Event(t *testing.T) {
3030
<-tr
3131

3232
// messages are read
33-
assert.Equal(t, 6, buf.Len())
34-
assert.Equal(t, "hello\n", buf.String())
33+
assert.Equal(t, 0, buf.Len())
3534
}
3635

3736
func TestErrBuffer_Write_Event_Separated(t *testing.T) {
@@ -50,6 +49,18 @@ func TestErrBuffer_Write_Event_Separated(t *testing.T) {
5049
buf.Write([]byte("ending"))
5150

5251
<-tr
52+
assert.Equal(t, 0, buf.Len())
53+
assert.Equal(t, "", buf.String())
54+
}
55+
56+
func TestErrBuffer_Write_Event_Separated_NoListener(t *testing.T) {
57+
buf := newErrBuffer()
58+
defer buf.Close()
59+
60+
buf.Write([]byte("hel"))
61+
buf.Write([]byte("lo\n"))
62+
buf.Write([]byte("ending"))
63+
5364
assert.Equal(t, 12, buf.Len())
5465
assert.Equal(t, "hello\nending", buf.String())
5566
}

service/injector.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ func injectValues(m reflect.Method, s interface{}, cfg Config, c *container) (va
7777

7878
// looking for the service candidate
7979
for _, e := range c.services {
80-
if v.ConvertibleTo(reflect.ValueOf(e.svc).Type()) {
80+
if v.ConvertibleTo(reflect.ValueOf(e.svc).Type()) && e.hasStatus(StatusOK) {
8181
found = true
8282
values = append(values, reflect.ValueOf(e.svc))
8383
break

0 commit comments

Comments
 (0)