From 1a7e2561ff704a137528890ae33b432f8832eeaa Mon Sep 17 00:00:00 2001 From: Sean Sullivan Date: Tue, 21 Jan 2020 17:14:08 -0800 Subject: [PATCH] Fixed inventory Equal(), checking nil as passed parameter --- cmd/kubectl/kubectlcobra/inventory.go | 3 +++ cmd/kubectl/kubectlcobra/inventory_test.go | 12 ++++++++++++ 2 files changed, 15 insertions(+) diff --git a/cmd/kubectl/kubectlcobra/inventory.go b/cmd/kubectl/kubectlcobra/inventory.go index 2c2913578..9a50cb076 100644 --- a/cmd/kubectl/kubectlcobra/inventory.go +++ b/cmd/kubectl/kubectlcobra/inventory.go @@ -71,6 +71,9 @@ func parseInventory(inv string) (*Inventory, error) { // Equals returns true if the Inventory structs are identical; // false otherwise. func (i *Inventory) Equals(other *Inventory) bool { + if other == nil { + return false + } return i.String() == other.String() } diff --git a/cmd/kubectl/kubectlcobra/inventory_test.go b/cmd/kubectl/kubectlcobra/inventory_test.go index f5b5006da..d4725d680 100644 --- a/cmd/kubectl/kubectlcobra/inventory_test.go +++ b/cmd/kubectl/kubectlcobra/inventory_test.go @@ -80,6 +80,18 @@ func TestInventoryEqual(t *testing.T) { inventory2 *Inventory isEqual bool }{ + // "Other" inventory is nil, then not equal. + { + inventory1: &Inventory{ + Name: "test-inv", + GroupKind: schema.GroupKind{ + Group: "apps", + Kind: "Deployment", + }, + }, + inventory2: nil, + isEqual: false, + }, // Two equal inventories without a namespace { inventory1: &Inventory{