From ae7ddd3189116d780834557a7ba6df07e86002d6 Mon Sep 17 00:00:00 2001 From: Armon Dadgar Date: Sat, 20 Feb 2016 17:43:17 -0800 Subject: [PATCH] nomad: simple encode/decode benchmark --- nomad/structs/structs_test.go | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/nomad/structs/structs_test.go b/nomad/structs/structs_test.go index 394a89911..da6435cdb 100644 --- a/nomad/structs/structs_test.go +++ b/nomad/structs/structs_test.go @@ -93,8 +93,8 @@ func TestJob_Validate(t *testing.T) { } } -func TestJob_Copy(t *testing.T) { - j := &Job{ +func testJob() *Job { + return &Job{ Region: "global", ID: GenerateUUID(), Name: "my-job", @@ -160,7 +160,10 @@ func TestJob_Copy(t *testing.T) { "owner": "armon", }, } +} +func TestJob_Copy(t *testing.T) { + j := testJob() c := j.Copy() if !reflect.DeepEqual(j, c) { t.Fatalf("Copy() returned an unequal Job; got %#v; want %#v", c, j) @@ -486,6 +489,23 @@ func TestEncodeDecode(t *testing.T) { } } +func BenchmarkEncodeDecode(b *testing.B) { + job := testJob() + + for i := 0; i < b.N; i++ { + buf, err := Encode(1, job) + if err != nil { + b.Fatalf("err: %v", err) + } + + var out Job + err = Decode(buf[1:], &out) + if err != nil { + b.Fatalf("err: %v", err) + } + } +} + func TestInvalidServiceCheck(t *testing.T) { s := Service{ Name: "service-name",