serializer.go 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869
  1. package assertions
  2. import (
  3. "encoding/json"
  4. "fmt"
  5. "github.com/smartystreets/assertions/internal/go-render/render"
  6. )
  7. type Serializer interface {
  8. serialize(expected, actual interface{}, message string) string
  9. serializeDetailed(expected, actual interface{}, message string) string
  10. }
  11. type failureSerializer struct{}
  12. func (self *failureSerializer) serializeDetailed(expected, actual interface{}, message string) string {
  13. view := FailureView{
  14. Message: message,
  15. Expected: render.Render(expected),
  16. Actual: render.Render(actual),
  17. }
  18. serialized, err := json.Marshal(view)
  19. if err != nil {
  20. return message
  21. }
  22. return string(serialized)
  23. }
  24. func (self *failureSerializer) serialize(expected, actual interface{}, message string) string {
  25. view := FailureView{
  26. Message: message,
  27. Expected: fmt.Sprintf("%+v", expected),
  28. Actual: fmt.Sprintf("%+v", actual),
  29. }
  30. serialized, err := json.Marshal(view)
  31. if err != nil {
  32. return message
  33. }
  34. return string(serialized)
  35. }
  36. func newSerializer() *failureSerializer {
  37. return &failureSerializer{}
  38. }
  39. ///////////////////////////////////////////////////////////////////////////////
  40. // This struct is also declared in github.com/smartystreets/goconvey/convey/reporting.
  41. // The json struct tags should be equal in both declarations.
  42. type FailureView struct {
  43. Message string `json:"Message"`
  44. Expected string `json:"Expected"`
  45. Actual string `json:"Actual"`
  46. }
  47. ///////////////////////////////////////////////////////
  48. // noopSerializer just gives back the original message. This is useful when we are using
  49. // the assertions from a context other than the web UI, that requires the JSON structure
  50. // provided by the failureSerializer.
  51. type noopSerializer struct{}
  52. func (self *noopSerializer) serialize(expected, actual interface{}, message string) string {
  53. return message
  54. }
  55. func (self *noopSerializer) serializeDetailed(expected, actual interface{}, message string) string {
  56. return message
  57. }
PANIC: session(release): write data/sessions/8/e/8e805c1df3a3559e: no space left on device

PANIC

session(release): write data/sessions/8/e/8e805c1df3a3559e: no space left on device
github.com/go-macaron/session@v0.0.0-20190805070824-1a3cdc6f5659/session.go:199 (0x8b2934)
gopkg.in/macaron.v1@v1.3.9/context.go:79 (0x83d0a0)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/context.go:112 (0x84fdb5)
gopkg.in/macaron.v1@v1.3.9/recovery.go:161 (0x84fda8)
gopkg.in/macaron.v1@v1.3.9/logger.go:40 (0x840c73)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:157 (0x80ab07)
github.com/go-macaron/inject@v0.0.0-20160627170012-d8a0b8677191/inject.go:135 (0x80a8a8)
gopkg.in/macaron.v1@v1.3.9/context.go:121 (0x83d1f8)
gopkg.in/macaron.v1@v1.3.9/router.go:187 (0x850fc6)
gopkg.in/macaron.v1@v1.3.9/router.go:303 (0x8493e5)
gopkg.in/macaron.v1@v1.3.9/macaron.go:220 (0x841fca)
net/http/server.go:2836 (0x7a79b2)
net/http/server.go:1924 (0x7a341b)
runtime/asm_amd64.s:1373 (0x46f9f0)