5849898283
Unit tests functional and coverage back to 100% Add more routes to dictionary, add more credentials, add default port 5554, rename cameradar logs ENV variable, improve unit test readability, remove tmp file
206 lines
5.3 KiB
Go
206 lines
5.3 KiB
Go
package errors_test
|
|
|
|
import (
|
|
"fmt"
|
|
|
|
"github.com/pkg/errors"
|
|
)
|
|
|
|
func ExampleNew() {
|
|
err := errors.New("whoops")
|
|
fmt.Println(err)
|
|
|
|
// Output: whoops
|
|
}
|
|
|
|
func ExampleNew_printf() {
|
|
err := errors.New("whoops")
|
|
fmt.Printf("%+v", err)
|
|
|
|
// Example output:
|
|
// whoops
|
|
// github.com/pkg/errors_test.ExampleNew_printf
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:17
|
|
// testing.runExample
|
|
// /home/dfc/go/src/testing/example.go:114
|
|
// testing.RunExamples
|
|
// /home/dfc/go/src/testing/example.go:38
|
|
// testing.(*M).Run
|
|
// /home/dfc/go/src/testing/testing.go:744
|
|
// main.main
|
|
// /github.com/pkg/errors/_test/_testmain.go:106
|
|
// runtime.main
|
|
// /home/dfc/go/src/runtime/proc.go:183
|
|
// runtime.goexit
|
|
// /home/dfc/go/src/runtime/asm_amd64.s:2059
|
|
}
|
|
|
|
func ExampleWithMessage() {
|
|
cause := errors.New("whoops")
|
|
err := errors.WithMessage(cause, "oh noes")
|
|
fmt.Println(err)
|
|
|
|
// Output: oh noes: whoops
|
|
}
|
|
|
|
func ExampleWithStack() {
|
|
cause := errors.New("whoops")
|
|
err := errors.WithStack(cause)
|
|
fmt.Println(err)
|
|
|
|
// Output: whoops
|
|
}
|
|
|
|
func ExampleWithStack_printf() {
|
|
cause := errors.New("whoops")
|
|
err := errors.WithStack(cause)
|
|
fmt.Printf("%+v", err)
|
|
|
|
// Example Output:
|
|
// whoops
|
|
// github.com/pkg/errors_test.ExampleWithStack_printf
|
|
// /home/fabstu/go/src/github.com/pkg/errors/example_test.go:55
|
|
// testing.runExample
|
|
// /usr/lib/go/src/testing/example.go:114
|
|
// testing.RunExamples
|
|
// /usr/lib/go/src/testing/example.go:38
|
|
// testing.(*M).Run
|
|
// /usr/lib/go/src/testing/testing.go:744
|
|
// main.main
|
|
// github.com/pkg/errors/_test/_testmain.go:106
|
|
// runtime.main
|
|
// /usr/lib/go/src/runtime/proc.go:183
|
|
// runtime.goexit
|
|
// /usr/lib/go/src/runtime/asm_amd64.s:2086
|
|
// github.com/pkg/errors_test.ExampleWithStack_printf
|
|
// /home/fabstu/go/src/github.com/pkg/errors/example_test.go:56
|
|
// testing.runExample
|
|
// /usr/lib/go/src/testing/example.go:114
|
|
// testing.RunExamples
|
|
// /usr/lib/go/src/testing/example.go:38
|
|
// testing.(*M).Run
|
|
// /usr/lib/go/src/testing/testing.go:744
|
|
// main.main
|
|
// github.com/pkg/errors/_test/_testmain.go:106
|
|
// runtime.main
|
|
// /usr/lib/go/src/runtime/proc.go:183
|
|
// runtime.goexit
|
|
// /usr/lib/go/src/runtime/asm_amd64.s:2086
|
|
}
|
|
|
|
func ExampleWrap() {
|
|
cause := errors.New("whoops")
|
|
err := errors.Wrap(cause, "oh noes")
|
|
fmt.Println(err)
|
|
|
|
// Output: oh noes: whoops
|
|
}
|
|
|
|
func fn() error {
|
|
e1 := errors.New("error")
|
|
e2 := errors.Wrap(e1, "inner")
|
|
e3 := errors.Wrap(e2, "middle")
|
|
return errors.Wrap(e3, "outer")
|
|
}
|
|
|
|
func ExampleCause() {
|
|
err := fn()
|
|
fmt.Println(err)
|
|
fmt.Println(errors.Cause(err))
|
|
|
|
// Output: outer: middle: inner: error
|
|
// error
|
|
}
|
|
|
|
func ExampleWrap_extended() {
|
|
err := fn()
|
|
fmt.Printf("%+v\n", err)
|
|
|
|
// Example output:
|
|
// error
|
|
// github.com/pkg/errors_test.fn
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:47
|
|
// github.com/pkg/errors_test.ExampleCause_printf
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:63
|
|
// testing.runExample
|
|
// /home/dfc/go/src/testing/example.go:114
|
|
// testing.RunExamples
|
|
// /home/dfc/go/src/testing/example.go:38
|
|
// testing.(*M).Run
|
|
// /home/dfc/go/src/testing/testing.go:744
|
|
// main.main
|
|
// /github.com/pkg/errors/_test/_testmain.go:104
|
|
// runtime.main
|
|
// /home/dfc/go/src/runtime/proc.go:183
|
|
// runtime.goexit
|
|
// /home/dfc/go/src/runtime/asm_amd64.s:2059
|
|
// github.com/pkg/errors_test.fn
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:48: inner
|
|
// github.com/pkg/errors_test.fn
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:49: middle
|
|
// github.com/pkg/errors_test.fn
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:50: outer
|
|
}
|
|
|
|
func ExampleWrapf() {
|
|
cause := errors.New("whoops")
|
|
err := errors.Wrapf(cause, "oh noes #%d", 2)
|
|
fmt.Println(err)
|
|
|
|
// Output: oh noes #2: whoops
|
|
}
|
|
|
|
func ExampleErrorf_extended() {
|
|
err := errors.Errorf("whoops: %s", "foo")
|
|
fmt.Printf("%+v", err)
|
|
|
|
// Example output:
|
|
// whoops: foo
|
|
// github.com/pkg/errors_test.ExampleErrorf
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:101
|
|
// testing.runExample
|
|
// /home/dfc/go/src/testing/example.go:114
|
|
// testing.RunExamples
|
|
// /home/dfc/go/src/testing/example.go:38
|
|
// testing.(*M).Run
|
|
// /home/dfc/go/src/testing/testing.go:744
|
|
// main.main
|
|
// /github.com/pkg/errors/_test/_testmain.go:102
|
|
// runtime.main
|
|
// /home/dfc/go/src/runtime/proc.go:183
|
|
// runtime.goexit
|
|
// /home/dfc/go/src/runtime/asm_amd64.s:2059
|
|
}
|
|
|
|
func Example_stackTrace() {
|
|
type stackTracer interface {
|
|
StackTrace() errors.StackTrace
|
|
}
|
|
|
|
err, ok := errors.Cause(fn()).(stackTracer)
|
|
if !ok {
|
|
panic("oops, err does not implement stackTracer")
|
|
}
|
|
|
|
st := err.StackTrace()
|
|
fmt.Printf("%+v", st[0:2]) // top two frames
|
|
|
|
// Example output:
|
|
// github.com/pkg/errors_test.fn
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:47
|
|
// github.com/pkg/errors_test.Example_stackTrace
|
|
// /home/dfc/src/github.com/pkg/errors/example_test.go:127
|
|
}
|
|
|
|
func ExampleCause_printf() {
|
|
err := errors.Wrap(func() error {
|
|
return func() error {
|
|
return errors.Errorf("hello %s", fmt.Sprintf("world"))
|
|
}()
|
|
}(), "failed")
|
|
|
|
fmt.Printf("%v", err)
|
|
|
|
// Output: failed: hello world
|
|
}
|