mirror of
https://github.com/fnproject/fn.git
synced 2022-10-28 21:29:17 +03:00
add tests
This commit is contained in:
@@ -4,6 +4,7 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
|
|
||||||
"github.com/Sirupsen/logrus"
|
"github.com/Sirupsen/logrus"
|
||||||
@@ -12,6 +13,7 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
// TODO kind of no reason to have FuncLogger interface... we can just do the thing.
|
// TODO kind of no reason to have FuncLogger interface... we can just do the thing.
|
||||||
|
// TODO recycle buffers used in various writers
|
||||||
|
|
||||||
type FuncLogger interface {
|
type FuncLogger interface {
|
||||||
Writer(ctx context.Context, appName, path, image, reqID string) io.WriteCloser
|
Writer(ctx context.Context, appName, path, image, reqID string) io.WriteCloser
|
||||||
@@ -182,7 +184,7 @@ func (l *limitWriter) Write(b []byte) (int, error) {
|
|||||||
if l.n >= l.max {
|
if l.n >= l.max {
|
||||||
return 0, errors.New("max log size exceeded, truncating log")
|
return 0, errors.New("max log size exceeded, truncating log")
|
||||||
}
|
}
|
||||||
if l.n+len(b) > l.max {
|
if l.n+len(b) >= l.max {
|
||||||
// cut off to prevent gigantic line attack
|
// cut off to prevent gigantic line attack
|
||||||
b = b[:l.max-l.n]
|
b = b[:l.max-l.n]
|
||||||
}
|
}
|
||||||
@@ -190,7 +192,7 @@ func (l *limitWriter) Write(b []byte) (int, error) {
|
|||||||
l.n += n
|
l.n += n
|
||||||
if l.n >= l.max {
|
if l.n >= l.max {
|
||||||
// write in truncation message to log once
|
// write in truncation message to log once
|
||||||
l.WriteClose.Write([]byte(fmt.Sprintf("\n-----max log size %d bytes exceeded, truncating log-----\n")))
|
l.WriteCloser.Write([]byte(fmt.Sprintf("\n-----max log size %d bytes exceeded, truncating log-----\n")))
|
||||||
}
|
}
|
||||||
return n, err
|
return n, err
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -4,7 +4,6 @@ import (
|
|||||||
"bytes"
|
"bytes"
|
||||||
"context"
|
"context"
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
|
||||||
"strings"
|
"strings"
|
||||||
"testing"
|
"testing"
|
||||||
"time"
|
"time"
|
||||||
@@ -16,12 +15,6 @@ import (
|
|||||||
"gitlab-odx.oracle.com/odx/functions/api/runner/task"
|
"gitlab-odx.oracle.com/odx/functions/api/runner/task"
|
||||||
)
|
)
|
||||||
|
|
||||||
type nopCloser struct {
|
|
||||||
io.Writer
|
|
||||||
}
|
|
||||||
|
|
||||||
func (n nopCloser) Close() error { return nil }
|
|
||||||
|
|
||||||
func TestRunnerHello(t *testing.T) {
|
func TestRunnerHello(t *testing.T) {
|
||||||
buf := setLogBuffer()
|
buf := setLogBuffer()
|
||||||
ctx, cancel := context.WithCancel(context.Background())
|
ctx, cancel := context.WithCancel(context.Background())
|
||||||
|
|||||||
Reference in New Issue
Block a user