summaryrefslogtreecommitdiffhomepage
path: root/pkg/tcpip/buffer/view_test.go
diff options
context:
space:
mode:
authorTamir Duberstein <tamird@google.com>2018-09-12 21:57:04 -0700
committerShentubot <shentubot@google.com>2018-09-12 21:57:55 -0700
commitd689f8422fd55f74f6fc677f33b2bbf3720de89e (patch)
tree729ba29346fa74ac4a413f6f619d9e85ceb0ae78 /pkg/tcpip/buffer/view_test.go
parent5adb3468d4de249df055d641e01ce6582b3a9388 (diff)
Always pass buffer.VectorisedView by value
PiperOrigin-RevId: 212757571 Change-Id: I04200df9e45c21eb64951cd2802532fa84afcb1a
Diffstat (limited to 'pkg/tcpip/buffer/view_test.go')
-rw-r--r--pkg/tcpip/buffer/view_test.go41
1 files changed, 27 insertions, 14 deletions
diff --git a/pkg/tcpip/buffer/view_test.go b/pkg/tcpip/buffer/view_test.go
index 57fe12360..02c264593 100644
--- a/pkg/tcpip/buffer/view_test.go
+++ b/pkg/tcpip/buffer/view_test.go
@@ -20,22 +20,33 @@ import (
"testing"
)
+// copy returns a deep-copy of the vectorised view.
+func (vv VectorisedView) copy() VectorisedView {
+ uu := VectorisedView{
+ views: make([]View, 0, len(vv.views)),
+ size: vv.size,
+ }
+ for _, v := range vv.views {
+ uu.views = append(uu.views, append(View(nil), v...))
+ }
+ return uu
+}
+
// vv is an helper to build VectorisedView from different strings.
-func vv(size int, pieces ...string) *VectorisedView {
+func vv(size int, pieces ...string) VectorisedView {
views := make([]View, len(pieces))
for i, p := range pieces {
views[i] = []byte(p)
}
- vv := NewVectorisedView(size, views)
- return &vv
+ return NewVectorisedView(size, views)
}
var capLengthTestCases = []struct {
comment string
- in *VectorisedView
+ in VectorisedView
length int
- want *VectorisedView
+ want VectorisedView
}{
{
comment: "Simple case",
@@ -88,9 +99,9 @@ func TestCapLength(t *testing.T) {
var trimFrontTestCases = []struct {
comment string
- in *VectorisedView
+ in VectorisedView
count int
- want *VectorisedView
+ want VectorisedView
}{
{
comment: "Simple case",
@@ -149,7 +160,7 @@ func TestTrimFront(t *testing.T) {
var toViewCases = []struct {
comment string
- in *VectorisedView
+ in VectorisedView
want View
}{
{
@@ -181,7 +192,7 @@ func TestToView(t *testing.T) {
var toCloneCases = []struct {
comment string
- inView *VectorisedView
+ inView VectorisedView
inBuffer []View
}{
{
@@ -213,10 +224,12 @@ var toCloneCases = []struct {
func TestToClone(t *testing.T) {
for _, c := range toCloneCases {
- got := c.inView.Clone(c.inBuffer)
- if !reflect.DeepEqual(&got, c.inView) {
- t.Errorf("Test \"%s\" failed when calling Clone(%v) on %v. Got %v. Want %v",
- c.comment, c.inBuffer, c.inView, got, c.inView)
- }
+ t.Run(c.comment, func(t *testing.T) {
+ got := c.inView.Clone(c.inBuffer)
+ if !reflect.DeepEqual(got, c.inView) {
+ t.Fatalf("got (%+v).Clone(%+v) = %+v, want = %+v",
+ c.inView, c.inBuffer, got, c.inView)
+ }
+ })
}
}