From 99eb583ebc4ebcef1d7cefcaaca8d45105dd0569 Mon Sep 17 00:00:00 2001 From: Daniel Nephin Date: Tue, 2 Jun 2020 12:41:25 -0400 Subject: [PATCH] Replace goe/verify.Values with testify/require.Equal (#7993) * testing: replace most goe/verify.Values with require.Equal One difference between these two comparisons is that go/verify considers nil slices/maps to be equal to empty slices/maps, where as testify/require does not, and does not appear to provide any way to enable that behaviour. Because of this difference some expected values were changed from empty slices to nil slices, and some calls to verify.Values were left. * Remove github.com/pascaldekloe/goe/verify Reduce the number of assertion packages we use from 2 to 1 --- agent/agent_test.go | 5 +- agent/config/flags_test.go | 14 +- agent/config/merge_test.go | 13 +- agent/config/runtime_test.go | 28 +-- agent/consul/autopilot/promotion_test.go | 10 +- agent/consul/coordinate_endpoint_test.go | 20 +-- agent/consul/fsm/commands_oss_test.go | 3 +- agent/consul/kvs_endpoint_test.go | 6 +- agent/consul/operator_raft_endpoint_test.go | 6 +- agent/consul/state/autopilot_test.go | 6 +- agent/consul/state/catalog_test.go | 29 +-- agent/consul/state/connect_ca_test.go | 8 +- agent/consul/state/coordinate_test.go | 28 +-- agent/consul/state/txn_test.go | 39 ++-- agent/dns_test.go | 31 ++-- agent/metadata/build_test.go | 4 +- agent/structs/check_definition_test.go | 4 +- agent/structs/service_definition_test.go | 14 +- agent/util_test.go | 4 +- go.mod | 1 - lib/rtt_test.go | 19 +- vendor/github.com/pascaldekloe/goe/LICENSE | 5 - .../pascaldekloe/goe/verify/values.go | 166 ------------------ .../pascaldekloe/goe/verify/verify.go | 68 ------- vendor/modules.txt | 2 - 25 files changed, 134 insertions(+), 399 deletions(-) delete mode 100644 vendor/github.com/pascaldekloe/goe/LICENSE delete mode 100644 vendor/github.com/pascaldekloe/goe/verify/values.go delete mode 100644 vendor/github.com/pascaldekloe/goe/verify/verify.go diff --git a/agent/agent_test.go b/agent/agent_test.go index 43660671dc..e2dee448d8 100644 --- a/agent/agent_test.go +++ b/agent/agent_test.go @@ -33,7 +33,6 @@ import ( "github.com/hashicorp/consul/types" "github.com/hashicorp/go-uuid" "github.com/hashicorp/serf/serf" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -1026,8 +1025,6 @@ func TestAgent_IndexChurn(t *testing.T) { // verifyIndexChurn registers some things and runs anti-entropy a bunch of times // in a row to make sure there are no index bumps. func verifyIndexChurn(t *testing.T, tags []string) { - t.Helper() - a := NewTestAgent(t, "") defer a.Shutdown() @@ -1115,7 +1112,7 @@ func verifyIndexChurn(t *testing.T, tags []string) { if err := a.RPC("Health.ServiceNodes", args, &after); err != nil { t.Fatalf("err: %v", err) } - verify.Values(t, "", after, before) + require.Equal(t, before, after) } func TestAgent_AddCheck(t *testing.T) { diff --git a/agent/config/flags_test.go b/agent/config/flags_test.go index 36d4c4ebea..63563b298f 100644 --- a/agent/config/flags_test.go +++ b/agent/config/flags_test.go @@ -6,7 +6,7 @@ import ( "strings" "testing" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) // TestParseFlags tests whether command line flags are properly parsed @@ -102,9 +102,17 @@ func TestParseFlags(t *testing.T) { t.Fatalf("got error %v want %v", got, want) } flags.Args = fs.Args() - if !verify.Values(t, "flag", flags, tt.flags) { - t.FailNow() + + // Normalize the expected value because require.Equal considers + // empty slices/maps and nil slices/maps to be different. + if len(tt.flags.Args) == 0 && flags.Args != nil { + tt.flags.Args = []string{} } + if len(tt.flags.Config.NodeMeta) == 0 { + tt.flags.Config.NodeMeta = map[string]string{} + } + + require.Equal(t, tt.flags, flags) }) } } diff --git a/agent/config/merge_test.go b/agent/config/merge_test.go index f8ae77662e..0bf75d91bf 100644 --- a/agent/config/merge_test.go +++ b/agent/config/merge_test.go @@ -4,7 +4,7 @@ import ( "testing" "time" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestMerge(t *testing.T) { @@ -39,7 +39,12 @@ func TestMerge(t *testing.T) { "a": "b", "c": "e", }, - Ports: Ports{DNS: pInt(2), HTTP: pInt(3)}, + Ports: Ports{DNS: pInt(2), HTTP: pInt(3)}, + SnapshotAgent: map[string]interface{}{}, + TaggedAddresses: map[string]string{}, + HTTPConfig: HTTPConfig{ResponseHeaders: map[string]string{}}, + DNS: DNS{ServiceTTL: map[string]string{}}, + Connect: Connect{CAConfig: map[string]interface{}{}}, }, }, } @@ -47,9 +52,7 @@ func TestMerge(t *testing.T) { for _, tt := range tests { t.Run(tt.desc, func(t *testing.T) { got, want := Merge(tt.cfgs...), tt.want - if !verify.Values(t, "", got, want) { - t.FailNow() - } + require.Equal(t, want, got) }) } } diff --git a/agent/config/runtime_test.go b/agent/config/runtime_test.go index 8045bf2571..2b234a44c5 100644 --- a/agent/config/runtime_test.go +++ b/agent/config/runtime_test.go @@ -23,7 +23,6 @@ import ( "github.com/hashicorp/consul/lib" "github.com/hashicorp/consul/sdk/testutil" "github.com/hashicorp/consul/types" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/require" ) @@ -3860,7 +3859,7 @@ func testConfig(t *testing.T, tests []configTest, dataDir string) { } // build/merge the config fragments - rt, err := b.BuildAndValidate() + actual, err := b.BuildAndValidate() if err == nil && tt.err != "" { t.Fatalf("got no error want %q", tt.err) } @@ -3873,11 +3872,7 @@ func testConfig(t *testing.T, tests []configTest, dataDir string) { if err != nil && tt.err != "" && !strings.Contains(err.Error(), tt.err) { t.Fatalf("error %q does not contain %q", err.Error(), tt.err) } - - // check the warnings - if !verify.Values(t, "warnings", b.Warnings, tt.warns) { - t.FailNow() - } + require.Equal(t, tt.warns, b.Warnings, "warnings") // stop if we expected an error if tt.err != "" { @@ -3894,19 +3889,14 @@ func testConfig(t *testing.T, tests []configTest, dataDir string) { x.Hostname = b.Hostname x.GetPrivateIPv4 = func() ([]*net.IPAddr, error) { return []*net.IPAddr{ipAddr("10.0.0.1")}, nil } x.GetPublicIPv6 = func() ([]*net.IPAddr, error) { return []*net.IPAddr{ipAddr("dead:beef::1")}, nil } - patchedRT, err := x.Build() + expected, err := x.Build() if err != nil { t.Fatalf("build default failed: %s", err) } if tt.patch != nil { - tt.patch(&patchedRT) - } - // if err := x.Validate(wantRT); err != nil { - // t.Fatalf("validate default failed: %s", err) - // } - if got, want := rt, patchedRT; !verify.Values(t, "", got, want) { - t.FailNow() + tt.patch(&expected) } + require.Equal(t, expected, actual) }) } } @@ -5752,6 +5742,7 @@ func TestFullConfig(t *testing.T) { Config: map[string]interface{}{ "1CuJHVfw": "Kzqsa7yc", }, + Upstreams: structs.Upstreams{}, }, Weights: &structs.Weights{ Passing: 1, @@ -5861,6 +5852,8 @@ func TestFullConfig(t *testing.T) { SerfAdvertiseAddrWAN: tcpAddr("78.63.37.19:8302"), SerfBindAddrLAN: tcpAddr("99.43.63.15:8301"), SerfBindAddrWAN: tcpAddr("67.88.33.19:8302"), + SerfAllowedCIDRsLAN: []net.IPNet{}, + SerfAllowedCIDRsWAN: []net.IPNet{}, SessionTTLMin: 26627 * time.Second, SkipLeaveOnInt: true, StartJoinAddrsLAN: []string{"LR3hGDoG", "MwVpZ4Up"}, @@ -5978,10 +5971,7 @@ func TestFullConfig(t *testing.T) { t.Fatalf("Build: %s", err) } - // verify that all fields are set - if !verify.Values(t, "runtime_config", rt, want) { - t.FailNow() - } + require.Equal(t, want, rt) // at this point we have confirmed that the parsing worked // for all fields but the validation will fail since certain diff --git a/agent/consul/autopilot/promotion_test.go b/agent/consul/autopilot/promotion_test.go index 51d04a4937..729b2ed416 100644 --- a/agent/consul/autopilot/promotion_test.go +++ b/agent/consul/autopilot/promotion_test.go @@ -5,7 +5,7 @@ import ( "time" "github.com/hashicorp/raft" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestPromotion(t *testing.T) { @@ -37,7 +37,6 @@ func TestPromotion(t *testing.T) { servers: []raft.Server{ {ID: "a", Suffrage: raft.Voter}, }, - promotions: []raft.Server{}, }, { name: "one stable nonvoter, should be promoted", @@ -91,12 +90,13 @@ func TestPromotion(t *testing.T) { {ID: "b", Suffrage: raft.Nonvoter}, {ID: "c", Suffrage: raft.Nonvoter}, }, - promotions: []raft.Server{}, }, } for _, tc := range cases { - promotions := PromoteStableServers(tc.conf, tc.health, tc.servers) - verify.Values(t, tc.name, tc.promotions, promotions) + t.Run(tc.name, func(t *testing.T) { + promotions := PromoteStableServers(tc.conf, tc.health, tc.servers) + require.Equal(t, tc.promotions, promotions) + }) } } diff --git a/agent/consul/coordinate_endpoint_test.go b/agent/consul/coordinate_endpoint_test.go index 7ec7e41934..c009111ad2 100644 --- a/agent/consul/coordinate_endpoint_test.go +++ b/agent/consul/coordinate_endpoint_test.go @@ -17,7 +17,7 @@ import ( "github.com/hashicorp/consul/testrpc" msgpackrpc "github.com/hashicorp/net-rpc-msgpackrpc" "github.com/hashicorp/serf/coordinate" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) // generateRandomCoordinate creates a random coordinate. This mucks with the @@ -83,13 +83,13 @@ func TestCoordinate_Update(t *testing.T) { if err != nil { t.Fatalf("err: %v", err) } - verify.Values(t, "", c, lib.CoordinateSet{}) + require.Equal(t, lib.CoordinateSet{}, c) _, c, err = state.Coordinate("node2", nil) if err != nil { t.Fatalf("err: %v", err) } - verify.Values(t, "", c, lib.CoordinateSet{}) + require.Equal(t, lib.CoordinateSet{}, c) // Send another update for the second node. It should take precedence // since there will be two updates in the same batch. @@ -107,7 +107,7 @@ func TestCoordinate_Update(t *testing.T) { expected := lib.CoordinateSet{ "": arg1.Coord, } - verify.Values(t, "", c, expected) + require.Equal(t, expected, c) _, c, err = state.Coordinate("node2", nil) if err != nil { @@ -116,7 +116,7 @@ func TestCoordinate_Update(t *testing.T) { expected = lib.CoordinateSet{ "": arg2.Coord, } - verify.Values(t, "", c, expected) + require.Equal(t, expected, c) // Register a bunch of additional nodes. spamLen := s1.config.CoordinateUpdateBatchSize*s1.config.CoordinateUpdateMaxBatches + 1 @@ -273,7 +273,7 @@ func TestCoordinate_ListDatacenters(t *testing.T) { if err != nil { t.Fatalf("bad: %v", err) } - verify.Values(t, "", c, out[0].Coordinates[0].Coord) + require.Equal(t, out[0].Coordinates[0].Coord, c) } func TestCoordinate_ListNodes(t *testing.T) { @@ -335,9 +335,9 @@ func TestCoordinate_ListNodes(t *testing.T) { resp.Coordinates[2].Node != "foo" { r.Fatalf("bad: %v", resp.Coordinates) } - verify.Values(t, "", resp.Coordinates[0].Coord, arg2.Coord) // bar - verify.Values(t, "", resp.Coordinates[1].Coord, arg3.Coord) // baz - verify.Values(t, "", resp.Coordinates[2].Coord, arg1.Coord) // foo + require.Equal(r, arg2.Coord, resp.Coordinates[0].Coord) // bar + require.Equal(r, arg3.Coord, resp.Coordinates[1].Coord) // baz + require.Equal(r, arg1.Coord, resp.Coordinates[2].Coord) // foo }) } @@ -521,7 +521,7 @@ func TestCoordinate_Node(t *testing.T) { resp.Coordinates[0].Node != "foo" { r.Fatalf("bad: %v", resp.Coordinates) } - verify.Values(t, "", resp.Coordinates[0].Coord, arg1.Coord) // foo + require.Equal(r, arg1.Coord, resp.Coordinates[0].Coord) // foo }) } diff --git a/agent/consul/fsm/commands_oss_test.go b/agent/consul/fsm/commands_oss_test.go index 68c4103d7d..1209bed856 100644 --- a/agent/consul/fsm/commands_oss_test.go +++ b/agent/consul/fsm/commands_oss_test.go @@ -21,7 +21,6 @@ import ( "github.com/hashicorp/raft" "github.com/hashicorp/serf/coordinate" "github.com/mitchellh/mapstructure" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -944,7 +943,7 @@ func TestFSM_ACL_CRUD(t *testing.T) { } bootstrap.ACL.CreateIndex = respACL.CreateIndex bootstrap.ACL.ModifyIndex = respACL.ModifyIndex - verify.Values(t, "", respACL, &bootstrap.ACL) + require.Equal(t, &bootstrap.ACL, respACL) } func TestFSM_PreparedQuery_CRUD(t *testing.T) { diff --git a/agent/consul/kvs_endpoint_test.go b/agent/consul/kvs_endpoint_test.go index 30bbdbc3a1..f33d2fce31 100644 --- a/agent/consul/kvs_endpoint_test.go +++ b/agent/consul/kvs_endpoint_test.go @@ -10,7 +10,7 @@ import ( "github.com/hashicorp/consul/api" "github.com/hashicorp/consul/testrpc" msgpackrpc "github.com/hashicorp/net-rpc-msgpackrpc" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestKVS_Apply(t *testing.T) { @@ -584,7 +584,7 @@ key "zip" { actualKeys = append(actualKeys, entry.Key) } - verify.Values(t, "", actualKeys, expectedKeys) + require.Equal(t, expectedKeys, actualKeys) // list keys with a prefix that has list permissions should succeed getKeysReq2 := structs.KeyListRequest{ @@ -598,7 +598,7 @@ key "zip" { actualKeys = keyList.Keys - verify.Values(t, "", actualKeys, expectedKeys) + require.Equal(t, expectedKeys, actualKeys) } diff --git a/agent/consul/operator_raft_endpoint_test.go b/agent/consul/operator_raft_endpoint_test.go index 8cf8f99f59..f119d5f4e3 100644 --- a/agent/consul/operator_raft_endpoint_test.go +++ b/agent/consul/operator_raft_endpoint_test.go @@ -13,7 +13,7 @@ import ( "github.com/hashicorp/consul/testrpc" msgpackrpc "github.com/hashicorp/net-rpc-msgpackrpc" "github.com/hashicorp/raft" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestOperator_RaftGetConfiguration(t *testing.T) { @@ -55,7 +55,7 @@ func TestOperator_RaftGetConfiguration(t *testing.T) { }, Index: future.Index(), } - verify.Values(t, "", reply, expected) + require.Equal(t, expected, reply) } func TestOperator_RaftGetConfiguration_ACLDeny(t *testing.T) { @@ -132,7 +132,7 @@ func TestOperator_RaftGetConfiguration_ACLDeny(t *testing.T) { }, Index: future.Index(), } - verify.Values(t, "", reply, expected) + require.Equal(t, expected, reply) } func TestOperator_RaftRemovePeerByAddress(t *testing.T) { diff --git a/agent/consul/state/autopilot_test.go b/agent/consul/state/autopilot_test.go index dec6dc5a72..15e5dfd9c6 100644 --- a/agent/consul/state/autopilot_test.go +++ b/agent/consul/state/autopilot_test.go @@ -6,7 +6,7 @@ import ( "time" "github.com/hashicorp/consul/agent/consul/autopilot" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestStateStore_Autopilot(t *testing.T) { @@ -117,7 +117,7 @@ func TestStateStore_Autopilot_Snapshot_Restore(t *testing.T) { if err != nil { t.Fatalf("err: %s", err) } - verify.Values(t, "", before, snapped) + require.Equal(t, snapped, before, "autopilot snapshot") s2 := testStateStore(t) restore := s2.Restore() @@ -133,5 +133,5 @@ func TestStateStore_Autopilot_Snapshot_Restore(t *testing.T) { if idx != 99 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", before, res) + require.Equal(t, res, before, "autopilot config") } diff --git a/agent/consul/state/catalog_test.go b/agent/consul/state/catalog_test.go index 1818c7a744..1a7aacec62 100644 --- a/agent/consul/state/catalog_test.go +++ b/agent/consul/state/catalog_test.go @@ -13,7 +13,6 @@ import ( "github.com/hashicorp/consul/types" "github.com/hashicorp/go-memdb" uuid "github.com/hashicorp/go-uuid" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/assert" "github.com/stretchr/testify/require" ) @@ -180,9 +179,7 @@ func TestStateStore_EnsureRegistration(t *testing.T) { if err != nil { t.Fatalf("got err %s want nil", err) } - if got, want := out, node; !verify.Values(t, "GetNode", got, want) { - t.FailNow() - } + require.Equal(t, node, out) _, out2, err := s.GetNodeID(nodeID) if err != nil { @@ -191,9 +188,7 @@ func TestStateStore_EnsureRegistration(t *testing.T) { if out2 == nil { t.Fatalf("out2 should not be nil") } - if got, want := out, out2; !verify.Values(t, "GetNodeID", got, want) { - t.FailNow() - } + require.Equal(t, out, out2) } verifyNode() @@ -242,17 +237,13 @@ func TestStateStore_EnsureRegistration(t *testing.T) { if gotidx, wantidx := idx, uint64(2); err != nil || gotidx != wantidx { t.Fatalf("got err, idx: %s, %d want nil, %d", err, gotidx, wantidx) } - if got, want := out.Services, svcmap; !verify.Values(t, "NodeServices", got, want) { - t.FailNow() - } + require.Equal(t, svcmap, out.Services) idx, r, err := s.NodeService("node1", "redis1", nil) if gotidx, wantidx := idx, uint64(2); err != nil || gotidx != wantidx { t.Fatalf("got err, idx: %s, %d want nil, %d", err, gotidx, wantidx) } - if got, want := r, svcmap["redis1"]; !verify.Values(t, "NodeService", got, want) { - t.FailNow() - } + require.Equal(t, svcmap["redis1"], r) } verifyNode() verifyService() @@ -284,17 +275,13 @@ func TestStateStore_EnsureRegistration(t *testing.T) { if gotidx, wantidx := idx, uint64(3); err != nil || gotidx != wantidx { t.Fatalf("got err, idx: %s, %d want nil, %d", err, gotidx, wantidx) } - if got, want := out, checks; !verify.Values(t, "NodeChecks", got, want) { - t.FailNow() - } + require.Equal(t, checks, out) idx, c, err := s.NodeCheck("node1", "check1", nil) if gotidx, wantidx := idx, uint64(3); err != nil || gotidx != wantidx { t.Fatalf("got err, idx: %s, %d want nil, %d", err, gotidx, wantidx) } - if got, want := c, checks[0]; !verify.Values(t, "NodeCheck", got, want) { - t.FailNow() - } + require.Equal(t, checks[0], c) } verifyNode() verifyService() @@ -344,9 +331,7 @@ func TestStateStore_EnsureRegistration(t *testing.T) { if gotidx, wantidx := idx, uint64(4); err != nil || gotidx != wantidx { t.Fatalf("got err, idx: %s, %d want nil, %d", err, gotidx, wantidx) } - if got, want := out, checks; !verify.Values(t, "NodeChecks", got, want) { - t.FailNow() - } + require.Equal(t, checks, out) } verifyChecks() diff --git a/agent/consul/state/connect_ca_test.go b/agent/consul/state/connect_ca_test.go index e23f3ed25e..9aba81abd6 100644 --- a/agent/consul/state/connect_ca_test.go +++ b/agent/consul/state/connect_ca_test.go @@ -8,8 +8,8 @@ import ( "github.com/hashicorp/consul/agent/connect" "github.com/hashicorp/consul/agent/structs" "github.com/hashicorp/go-memdb" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/assert" + "github.com/stretchr/testify/require" ) func TestStore_CAConfig(t *testing.T) { @@ -127,7 +127,7 @@ func TestStore_CAConfig_Snapshot_Restore(t *testing.T) { if err != nil { t.Fatalf("err: %s", err) } - verify.Values(t, "", before, snapped) + require.Equal(t, snapped, before) s2 := testStateStore(t) restore := s2.Restore() @@ -143,7 +143,7 @@ func TestStore_CAConfig_Snapshot_Restore(t *testing.T) { if idx != 99 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", before, res) + require.Equal(t, res, before) } // Make sure we handle the case of a leftover blank CA config that @@ -162,7 +162,7 @@ func TestStore_CAConfig_Snapshot_Restore_BlankConfig(t *testing.T) { if err != nil { t.Fatalf("err: %s", err) } - verify.Values(t, "", before, snapped) + require.Equal(t, snapped, before) s2 := testStateStore(t) restore := s2.Restore() diff --git a/agent/consul/state/coordinate_test.go b/agent/consul/state/coordinate_test.go index 7bd9625214..98ec794a8f 100644 --- a/agent/consul/state/coordinate_test.go +++ b/agent/consul/state/coordinate_test.go @@ -9,7 +9,7 @@ import ( "github.com/hashicorp/consul/lib" "github.com/hashicorp/go-memdb" "github.com/hashicorp/serf/coordinate" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) // generateRandomCoordinate creates a random coordinate. This mucks with the @@ -40,14 +40,14 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { if idx != 0 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", all, structs.Coordinates{}) + require.Nil(t, all) coordinateWs := memdb.NewWatchSet() _, coords, err := s.Coordinate("nope", coordinateWs) if err != nil { t.Fatalf("err: %s", err) } - verify.Values(t, "", coords, lib.CoordinateSet{}) + require.Equal(t, lib.CoordinateSet{}, coords) // Make an update for nodes that don't exist and make sure they get // ignored. @@ -78,7 +78,7 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { if idx != 1 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", all, structs.Coordinates{}) + require.Nil(t, all) coordinateWs = memdb.NewWatchSet() idx, coords, err = s.Coordinate("node1", coordinateWs) @@ -108,7 +108,7 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { if idx != 3 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", all, updates) + require.Equal(t, updates, all) // Also verify the per-node coordinate interface. nodeWs := make([]memdb.WatchSet, len(updates)) @@ -124,7 +124,7 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { expected := lib.CoordinateSet{ "": update.Coord, } - verify.Values(t, "", coords, expected) + require.Equal(t, expected, coords) } // Update the coordinate for one of the nodes. @@ -149,7 +149,7 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { if idx != 4 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", all, updates) + require.Equal(t, updates, all) // And check the per-node coordinate version of the same thing. for _, update := range updates { @@ -163,7 +163,7 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { expected := lib.CoordinateSet{ "": update.Coord, } - verify.Values(t, "", coords, expected) + require.Equal(t, expected, coords) } // Apply an invalid update and make sure it gets ignored. @@ -186,7 +186,7 @@ func TestStateStore_Coordinate_Updates(t *testing.T) { if idx != 5 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", all, updates) + require.Equal(t, updates, all) } func TestStateStore_Coordinate_Cleanup(t *testing.T) { @@ -219,7 +219,7 @@ func TestStateStore_Coordinate_Cleanup(t *testing.T) { "alpha": updates[0].Coord, "beta": updates[1].Coord, } - verify.Values(t, "", coords, expected) + require.Equal(t, expected, coords) // Now delete the node. if err := s.DeleteNode(3, "node1"); err != nil { @@ -231,7 +231,7 @@ func TestStateStore_Coordinate_Cleanup(t *testing.T) { if err != nil { t.Fatalf("err: %s", err) } - verify.Values(t, "", coords, lib.CoordinateSet{}) + require.Equal(t, lib.CoordinateSet{}, coords) // Make sure the index got updated. idx, all, err := s.Coordinates(nil) @@ -241,7 +241,7 @@ func TestStateStore_Coordinate_Cleanup(t *testing.T) { if idx != 3 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", all, structs.Coordinates{}) + require.Nil(t, all) } func TestStateStore_Coordinate_Snapshot_Restore(t *testing.T) { @@ -310,7 +310,7 @@ func TestStateStore_Coordinate_Snapshot_Restore(t *testing.T) { // The snapshot will have the bad update in it, since we don't filter on // the read side. - verify.Values(t, "", dump, append(updates, badUpdate)) + require.Equal(t, append(updates, badUpdate), dump) // Restore the values into a new state store. func() { @@ -329,7 +329,7 @@ func TestStateStore_Coordinate_Snapshot_Restore(t *testing.T) { if idx != 6 { t.Fatalf("bad index: %d", idx) } - verify.Values(t, "", res, updates) + require.Equal(t, updates, res) // Check that the index was updated (note that it got passed // in during the restore). diff --git a/agent/consul/state/txn_test.go b/agent/consul/state/txn_test.go index b53f87ce07..11206624ce 100644 --- a/agent/consul/state/txn_test.go +++ b/agent/consul/state/txn_test.go @@ -8,12 +8,10 @@ import ( "github.com/hashicorp/consul/agent/structs" "github.com/hashicorp/consul/api" "github.com/hashicorp/consul/types" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/require" ) func TestStateStore_Txn_Intention(t *testing.T) { - require := require.New(t) s := testStateStore(t) // Create some intentions. @@ -45,8 +43,8 @@ func TestStateStore_Txn_Intention(t *testing.T) { // Write the first two to the state store, leave the third // to be created by the transaction operation. - require.NoError(s.IntentionSet(1, ixn1)) - require.NoError(s.IntentionSet(2, ixn2)) + require.NoError(t, s.IntentionSet(1, ixn1)) + require.NoError(t, s.IntentionSet(2, ixn2)) // Set up a transaction that hits every operation. ops := structs.TxnOps{ @@ -76,14 +74,12 @@ func TestStateStore_Txn_Intention(t *testing.T) { // Make sure the response looks as expected. expected := structs.TxnResults{} - verify.Values(t, "", results, expected) + require.Equal(t, expected, results) // Pull the resulting state store contents. idx, actual, err := s.Intentions(nil) - require.NoError(err) - if idx != 3 { - t.Fatalf("bad index: %d", idx) - } + require.NoError(t, err) + require.Equal(t, uint64(3), idx, "wrong index") // Make sure it looks as expected. intentions := structs.Intentions{ @@ -114,11 +110,10 @@ func TestStateStore_Txn_Intention(t *testing.T) { }, }, } - verify.Values(t, "", actual, intentions) + require.Equal(t, intentions, actual) } func TestStateStore_Txn_Node(t *testing.T) { - require := require.New(t) s := testStateStore(t) // Create some nodes. @@ -195,22 +190,21 @@ func TestStateStore_Txn_Node(t *testing.T) { Node: &nodes[1], }, } - verify.Values(t, "", results, expected) + require.Equal(t, expected, results) // Pull the resulting state store contents. idx, actual, err := s.Nodes(nil) - require.NoError(err) + require.NoError(t, err) if idx != 8 { t.Fatalf("bad index: %d", idx) } // Make sure it looks as expected. expectedNodes := structs.Nodes{&nodes[0], &nodes[1], &nodes[4]} - verify.Values(t, "", actual, expectedNodes) + require.Equal(t, expectedNodes, actual) } func TestStateStore_Txn_Service(t *testing.T) { - require := require.New(t) s := testStateStore(t) testRegisterNode(t, s, 1, "node1") @@ -284,6 +278,7 @@ func TestStateStore_Txn_Service(t *testing.T) { ModifyIndex: 2, }, EnterpriseMeta: *structs.DefaultEnterpriseMeta(), + Meta: map[string]string{}, }, }, &structs.TxnResult{ @@ -310,11 +305,11 @@ func TestStateStore_Txn_Service(t *testing.T) { }, }, } - verify.Values(t, "", results, expected) + require.Equal(t, expected, results) // Pull the resulting state store contents. idx, actual, err := s.NodeServices(nil, "node1", nil) - require.NoError(err) + require.NoError(t, err) if idx != 6 { t.Fatalf("bad index: %d", idx) } @@ -340,6 +335,7 @@ func TestStateStore_Txn_Service(t *testing.T) { }, Weights: &structs.Weights{Passing: 1, Warning: 1}, EnterpriseMeta: *structs.DefaultEnterpriseMeta(), + Meta: map[string]string{}, }, "svc5": &structs.NodeService{ ID: "svc5", @@ -362,11 +358,10 @@ func TestStateStore_Txn_Service(t *testing.T) { }, }, } - verify.Values(t, "", actual, expectedServices) + require.Equal(t, expectedServices, actual) } func TestStateStore_Txn_Checks(t *testing.T) { - require := require.New(t) s := testStateStore(t) testRegisterNode(t, s, 1, "node1") @@ -462,11 +457,11 @@ func TestStateStore_Txn_Checks(t *testing.T) { }, }, } - verify.Values(t, "", results, expected) + require.Equal(t, expected, results) // Pull the resulting state store contents. idx, actual, err := s.NodeChecks(nil, "node1", nil) - require.NoError(err) + require.NoError(t, err) if idx != 6 { t.Fatalf("bad index: %d", idx) } @@ -504,7 +499,7 @@ func TestStateStore_Txn_Checks(t *testing.T) { EnterpriseMeta: *structs.DefaultEnterpriseMeta(), }, } - verify.Values(t, "", actual, expectedChecks) + require.Equal(t, expectedChecks, actual) } func TestStateStore_Txn_KVS(t *testing.T) { diff --git a/agent/dns_test.go b/agent/dns_test.go index 9d20ab3133..fb0f1a8cc3 100644 --- a/agent/dns_test.go +++ b/agent/dns_test.go @@ -18,7 +18,6 @@ import ( "github.com/hashicorp/consul/testrpc" "github.com/hashicorp/serf/coordinate" "github.com/miekg/dns" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/require" ) @@ -151,7 +150,7 @@ func TestEncodeKVasRFC1464(t *testing.T) { for _, test := range tests { answer := encodeKVasRFC1464(test.key, test.value) - verify.Values(t, "internalForm", answer, test.internalForm) + require.Equal(t, test.internalForm, answer) } } @@ -445,7 +444,7 @@ func TestDNSCycleRecursorCheck(t *testing.T) { A: []byte{0xAC, 0x15, 0x2D, 0x43}, // 172 , 21, 45, 67 }, } - verify.Values(t, "Answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer) } func TestDNSCycleRecursorCheckAllFail(t *testing.T) { t.Parallel() @@ -474,7 +473,7 @@ func TestDNSCycleRecursorCheckAllFail(t *testing.T) { client := new(dns.Client) in, _, _ := client.Exchange(m, agent.DNSAddr()) //Verify if we hit SERVFAIL from Consul - verify.Values(t, "Answer", in.Rcode, dns.RcodeServerFailure) + require.Equal(t, dns.RcodeServerFailure, in.Rcode) } func TestDNS_NodeLookup_CNAME(t *testing.T) { t.Parallel() @@ -532,7 +531,7 @@ func TestDNS_NodeLookup_CNAME(t *testing.T) { Txt: []string{"my_txt_value"}, }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer) } func TestDNS_NodeLookup_TXT(t *testing.T) { @@ -665,7 +664,7 @@ func TestDNS_NodeLookup_ANY(t *testing.T) { Txt: []string{"key=value"}, }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer) } func TestDNS_NodeLookup_ANY_DontSuppressTXT(t *testing.T) { @@ -706,7 +705,7 @@ func TestDNS_NodeLookup_ANY_DontSuppressTXT(t *testing.T) { Txt: []string{"key=value"}, }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer) } func TestDNS_NodeLookup_A_SuppressTXT(t *testing.T) { @@ -739,7 +738,7 @@ func TestDNS_NodeLookup_A_SuppressTXT(t *testing.T) { A: []byte{0x7f, 0x0, 0x0, 0x1}, // 127.0.0.1 }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer) // ensure TXT RR suppression require.Len(t, in.Extra, 0) @@ -1581,14 +1580,14 @@ func TestDNS_ServiceLookupWithInternalServiceAddress(t *testing.T) { Target: "foo.node.dc1.consul.", }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer, "answer") wantExtra := []dns.RR{ &dns.A{ Hdr: dns.RR_Header{Name: "foo.node.dc1.consul.", Rrtype: 0x1, Class: 0x1, Rdlength: 0x4}, A: []byte{0x7f, 0x0, 0x0, 0x1}, // 127.0.0.1 }, } - verify.Values(t, "extra", in.Extra, wantExtra) + require.Equal(t, wantExtra, in.Extra, "extra") } func TestDNS_ConnectServiceLookup(t *testing.T) { @@ -1975,7 +1974,7 @@ func TestDNS_NSRecords(t *testing.T) { Ns: "server1.node.dc1.consul.", }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer, "answer") wantExtra := []dns.RR{ &dns.A{ Hdr: dns.RR_Header{Name: "server1.node.dc1.consul.", Rrtype: dns.TypeA, Class: dns.ClassINET, Rdlength: 0x4, Ttl: 0}, @@ -1983,7 +1982,7 @@ func TestDNS_NSRecords(t *testing.T) { }, } - verify.Values(t, "extra", in.Extra, wantExtra) + require.Equal(t, wantExtra, in.Extra, "extra") } func TestDNS_NSRecords_IPV6(t *testing.T) { @@ -2011,7 +2010,7 @@ func TestDNS_NSRecords_IPV6(t *testing.T) { Ns: "server1.node.dc1.consul.", }, } - verify.Values(t, "answer", in.Answer, wantAnswer) + require.Equal(t, wantAnswer, in.Answer, "answer") wantExtra := []dns.RR{ &dns.AAAA{ Hdr: dns.RR_Header{Name: "server1.node.dc1.consul.", Rrtype: dns.TypeAAAA, Class: dns.ClassINET, Rdlength: 0x10, Ttl: 0}, @@ -2019,7 +2018,7 @@ func TestDNS_NSRecords_IPV6(t *testing.T) { }, } - verify.Values(t, "extra", in.Extra, wantExtra) + require.Equal(t, wantExtra, in.Extra, "extra") } @@ -5670,7 +5669,7 @@ func TestDNS_ServiceLookup_MetaTXT(t *testing.T) { Txt: []string{"key=value"}, }, } - verify.Values(t, "additional", in.Extra, wantAdditional) + require.Equal(t, wantAdditional, in.Extra) } func TestDNS_ServiceLookup_SuppressTXT(t *testing.T) { @@ -5713,7 +5712,7 @@ func TestDNS_ServiceLookup_SuppressTXT(t *testing.T) { A: []byte{0x7f, 0x0, 0x0, 0x1}, // 127.0.0.1 }, } - verify.Values(t, "additional", in.Extra, wantAdditional) + require.Equal(t, wantAdditional, in.Extra) } func TestDNS_AddressLookup(t *testing.T) { diff --git a/agent/metadata/build_test.go b/agent/metadata/build_test.go index f6a051447f..7b516cf358 100644 --- a/agent/metadata/build_test.go +++ b/agent/metadata/build_test.go @@ -5,7 +5,7 @@ import ( "github.com/hashicorp/go-version" "github.com/hashicorp/serf/serf" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestBuild(t *testing.T) { @@ -69,7 +69,7 @@ func TestBuild(t *testing.T) { if wantErr := tt.err; gotErr != wantErr { t.Fatalf("got %v want %v", gotErr, wantErr) } - verify.Values(t, "", ver, tt.ver) + require.Equal(t, tt.ver, ver) }) } } diff --git a/agent/structs/check_definition_test.go b/agent/structs/check_definition_test.go index 9622479d90..871091562e 100644 --- a/agent/structs/check_definition_test.go +++ b/agent/structs/check_definition_test.go @@ -8,7 +8,7 @@ import ( fuzz "github.com/google/gofuzz" "github.com/hashicorp/consul/api" "github.com/mitchellh/reflectwalk" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestCheckDefinition_Defaults(t *testing.T) { @@ -111,5 +111,5 @@ func TestCheckDefinitionToCheckType(t *testing.T) { TTL: 3 * time.Second, DeregisterCriticalServiceAfter: 4 * time.Second, } - verify.Values(t, "", got.CheckType(), want) + require.Equal(t, want, got.CheckType()) } diff --git a/agent/structs/service_definition_test.go b/agent/structs/service_definition_test.go index 7e51e3dffa..ca5d91fb6f 100644 --- a/agent/structs/service_definition_test.go +++ b/agent/structs/service_definition_test.go @@ -6,7 +6,6 @@ import ( "testing" "time" - "github.com/pascaldekloe/goe/verify" "github.com/stretchr/testify/require" ) @@ -47,12 +46,13 @@ func TestAgentStructs_CheckTypes(t *testing.T) { {&CheckType{TTL: 20 * time.Second, Interval: 10 * time.Second}, fmt.Errorf("Interval and TTL cannot both be specified"), "Interval and TTL both set"}, } for _, tc := range cases { - svc.Check = *tc.in - checks, err := svc.CheckTypes() - verify.Values(t, tc.desc, err.Error(), tc.err.Error()) - if len(checks) != 0 { - t.Fatalf("bad: %#v", svc) - } + t.Run(tc.desc, func(t *testing.T) { + svc.Check = *tc.in + checks, err := svc.CheckTypes() + require.Error(t, err, tc.err.Error()) + require.Len(t, checks, 0) + }) + } } diff --git a/agent/util_test.go b/agent/util_test.go index 725a571911..d7af22031f 100644 --- a/agent/util_test.go +++ b/agent/util_test.go @@ -11,7 +11,7 @@ import ( "time" "github.com/hashicorp/consul/sdk/testutil" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestStringHash(t *testing.T) { @@ -121,7 +121,7 @@ func TestDurationFixer(t *testing.T) { } // Ensure we only processed the intended fieldnames - verify.Values(t, "", obj, expected) + require.Equal(t, expected, obj) } // helperProcessSentinel is a sentinel value that is put as the first diff --git a/go.mod b/go.mod index 33f82ad1ca..c490eed85d 100644 --- a/go.mod +++ b/go.mod @@ -68,7 +68,6 @@ require ( github.com/mitchellh/mapstructure v1.2.3 github.com/mitchellh/pointerstructure v1.0.0 github.com/mitchellh/reflectwalk v1.0.1 - github.com/pascaldekloe/goe v0.1.0 github.com/patrickmn/go-cache v2.1.0+incompatible github.com/pkg/errors v0.8.1 github.com/pquerna/cachecontrol v0.0.0-20180517163645-1555304b9b35 // indirect diff --git a/lib/rtt_test.go b/lib/rtt_test.go index 403b49db1a..4e08b38c85 100644 --- a/lib/rtt_test.go +++ b/lib/rtt_test.go @@ -6,15 +6,15 @@ import ( "time" "github.com/hashicorp/serf/coordinate" - "github.com/pascaldekloe/goe/verify" + "github.com/stretchr/testify/require" ) func TestRTT_ComputeDistance(t *testing.T) { tests := []struct { - desc string - a *coordinate.Coordinate - b *coordinate.Coordinate - dist float64 + desc string + a *coordinate.Coordinate + b *coordinate.Coordinate + expected float64 }{ { "10 ms", @@ -61,8 +61,8 @@ func TestRTT_ComputeDistance(t *testing.T) { } for _, tt := range tests { t.Run(tt.desc, func(t *testing.T) { - dist := ComputeDistance(tt.a, tt.b) - verify.Values(t, "", dist, tt.dist) + actual := ComputeDistance(tt.a, tt.b) + require.Equal(t, tt.expected, actual) }) } } @@ -146,8 +146,9 @@ func TestRTT_Intersect(t *testing.T) { for _, tt := range tests { t.Run(tt.desc, func(t *testing.T) { r1, r2 := tt.a.Intersect(tt.b) - verify.Values(t, "", r1, tt.c1) - verify.Values(t, "", r2, tt.c2) + + require.Equal(t, tt.c1, r1) + require.Equal(t, tt.c2, r2) }) } } diff --git a/vendor/github.com/pascaldekloe/goe/LICENSE b/vendor/github.com/pascaldekloe/goe/LICENSE deleted file mode 100644 index fee81ecdb6..0000000000 --- a/vendor/github.com/pascaldekloe/goe/LICENSE +++ /dev/null @@ -1,5 +0,0 @@ -To the extent possible under law, Pascal S. de Kloe has waived all -copyright and related or neighboring rights to Go Enterprice. This -work is published from The Netherlands. - -https://creativecommons.org/publicdomain/zero/1.0/legalcode diff --git a/vendor/github.com/pascaldekloe/goe/verify/values.go b/vendor/github.com/pascaldekloe/goe/verify/values.go deleted file mode 100644 index e9687ce8a1..0000000000 --- a/vendor/github.com/pascaldekloe/goe/verify/values.go +++ /dev/null @@ -1,166 +0,0 @@ -package verify - -import ( - "fmt" - "reflect" - "strings" - "testing" -) - -// Values verifies that got has all the content, and only the content, defined by want. -// Note that NaN always results in a mismatch. -func Values(tb testing.TB, name string, got, want interface{}) (ok bool) { - t := travel{} - t.values(reflect.ValueOf(got), reflect.ValueOf(want), nil) - - fail := t.report(name) - if fail != "" { - tb.Helper() - tb.Error(fail) - return false - } - - return true -} - -func (t *travel) values(got, want reflect.Value, path []*segment) { - if !want.IsValid() { - if got.IsValid() { - t.differ(path, "Unwanted %s", got.Type()) - } - return - } - if !got.IsValid() { - t.differ(path, "Missing %s", want.Type()) - return - } - - if got.Type() != want.Type() { - t.differ(path, "Got type %s, want %s", got.Type(), want.Type()) - return - } - - switch got.Kind() { - - case reflect.Struct: - seg := &segment{format: "/%s"} - path = append(path, seg) - - var unexp []string - for i, n := 0, got.NumField(); i < n; i++ { - field := got.Type().Field(i) - if field.PkgPath != "" { - unexp = append(unexp, field.Name) - } else { - seg.x = field.Name - t.values(got.Field(i), want.Field(i), path) - } - } - path = path[:len(path)-1] - - if len(unexp) != 0 && !reflect.DeepEqual(got.Interface(), want.Interface()) { - t.differ(path, "Type %s with unexported fields %q not equal", got.Type(), unexp) - } - - case reflect.Slice, reflect.Array: - n := got.Len() - if n != want.Len() { - t.differ(path, "Got %d elements, want %d", n, want.Len()) - return - } - - seg := &segment{format: "[%d]"} - path = append(path, seg) - for i := 0; i < n; i++ { - seg.x = i - t.values(got.Index(i), want.Index(i), path) - } - path = path[:len(path)-1] - - case reflect.Ptr: - if got.Pointer() != want.Pointer() { - t.values(got.Elem(), want.Elem(), path) - } - - case reflect.Interface: - t.values(got.Elem(), want.Elem(), path) - - case reflect.Map: - seg := &segment{} - path = append(path, seg) - for _, key := range want.MapKeys() { - applyKeySeg(seg, key) - t.values(got.MapIndex(key), want.MapIndex(key), path) - } - - for _, key := range got.MapKeys() { - v := want.MapIndex(key) - if v.IsValid() { - continue - } - applyKeySeg(seg, key) - t.values(got.MapIndex(key), v, path) - } - path = path[:len(path)-1] - - case reflect.Func: - if !(got.IsNil() && want.IsNil()) { - t.differ(path, "Can't compare functions") - } - - case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: - if a, b := got.Int(), want.Int(); a != b { - if a < 0xA && a > -0xA && b < 0xA && b > -0xA { - t.differ(path, fmt.Sprintf("Got %d, want %d", a, b)) - } else { - t.differ(path, fmt.Sprintf("Got %d (0x%x), want %d (0x%x)", a, a, b, b)) - } - } - - case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: - if a, b := got.Uint(), want.Uint(); a != b { - if a < 0xA && b < 0xA { - t.differ(path, fmt.Sprintf("Got %d, want %d", a, b)) - } else { - t.differ(path, fmt.Sprintf("Got %d (0x%x), want %d (0x%x)", a, a, b, b)) - } - } - - case reflect.String: - if a, b := got.String(), want.String(); a != b { - t.differ(path, differMsg(a, b)) - } - - default: - if a, b := got.Interface(), want.Interface(); a != b { - t.differ(path, fmt.Sprintf("Got %v, want %v", a, b)) - } - } -} - -func applyKeySeg(dst *segment, key reflect.Value) { - if key.Kind() == reflect.String { - dst.format = "[%q]" - } else { - dst.format = "[%v]" - } - dst.x = key.Interface() -} - -func differMsg(got, want string) string { - if len(got) < 9 || len(want) < 9 { - return fmt.Sprintf("Got %q, want %q", got, want) - } - - got, want = fmt.Sprintf("%q", got), fmt.Sprintf("%q", want) - - // find first character which differs - var i int - a, b := []rune(got), []rune(want) - for i = 0; i < len(a); i++ { - if i >= len(b) || a[i] != b[i] { - break - } - } - return fmt.Sprintf("Got %s, want %s\n %s^", got, want, strings.Repeat(" ", i)) -} diff --git a/vendor/github.com/pascaldekloe/goe/verify/verify.go b/vendor/github.com/pascaldekloe/goe/verify/verify.go deleted file mode 100644 index 1b2faef03b..0000000000 --- a/vendor/github.com/pascaldekloe/goe/verify/verify.go +++ /dev/null @@ -1,68 +0,0 @@ -// Package verify offers convenience routenes for content verification. -package verify - -import ( - "bytes" - "fmt" - "strings" -) - -// travel is the verification state -type travel struct { - diffs []differ -} - -// differ is a verification failure. -type differ struct { - // path is the expression to the content. - path string - // msg has a reason. - msg string -} - -// segment is a differ.path component used for lazy formatting. -type segment struct { - format string - x interface{} -} - -func (t *travel) differ(path []*segment, msg string, args ...interface{}) { - var buf bytes.Buffer - for _, s := range path { - buf.WriteString(fmt.Sprintf(s.format, s.x)) - } - - t.diffs = append(t.diffs, differ{ - msg: fmt.Sprintf(msg, args...), - path: buf.String(), - }) -} - -func (t *travel) report(name string) string { - if len(t.diffs) == 0 { - return "" - } - - var buf bytes.Buffer - - buf.WriteString("verification for ") - buf.WriteString(name) - buf.WriteByte(':') - - for _, d := range t.diffs { - buf.WriteByte('\n') - if d.path != "" { - buf.WriteString(d.path) - buf.WriteString(": ") - } - lines := strings.Split(d.msg, "\n") - buf.WriteString(lines[0]) - for _, l := range lines[1:] { - buf.WriteByte('\n') - buf.WriteString(strings.Repeat(" ", len(d.path)+2)) - buf.WriteString(l) - } - } - - return buf.String() -} diff --git a/vendor/modules.txt b/vendor/modules.txt index dd5b8d6e36..4bea7a77f9 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -321,8 +321,6 @@ github.com/modern-go/reflect2 github.com/nicolai86/scaleway-sdk # github.com/packethost/packngo v0.1.1-0.20180711074735-b9cb5096f54c github.com/packethost/packngo -# github.com/pascaldekloe/goe v0.1.0 -github.com/pascaldekloe/goe/verify # github.com/patrickmn/go-cache v2.1.0+incompatible github.com/patrickmn/go-cache # github.com/pierrec/lz4 v2.0.5+incompatible