diff --git a/Dockerfile_generator b/Dockerfile_generator new file mode 100644 index 000000000..c0865e990 --- /dev/null +++ b/Dockerfile_generator @@ -0,0 +1,22 @@ +FROM golang:1.18-buster as builder + +# Install tools +RUN go install github.com/vektra/mockery/v2@v2.13.0 && \ + go install sigs.k8s.io/controller-tools/cmd/controller-gen@v0.7.0 && \ + git clone https://github.com/kubernetes/code-generator -b v0.20.7 --depth 1 && \ + go install k8s.io/code-generator/cmd/...@v0.20.7 && \ + go install golang.org/x/tools/cmd/goimports@v0.1.1 && \ + go install github.com/golang/protobuf/protoc-gen-go@v1.4.3 + +RUN apt-get update && apt-get install unzip + +RUN curl -LO https://github.com/protocolbuffers/protobuf/releases/download/v3.17.3/protoc-3.17.3-linux-x86_64.zip && \ + unzip protoc-3.17.3-linux-x86_64.zip -d /usr/local && \ + rm protoc-3.17.3-linux-x86_64.zip && \ + chmod a+x /usr/local/bin/protoc && \ + find /usr/local -type d | xargs chmod 755 && \ + find /usr/local -type f | xargs chmod a+r + + +# Expect to be working with nfd +WORKDIR /go/node-feature-discovery diff --git a/Makefile b/Makefile index 2c5819d4d..4f8562e39 100644 --- a/Makefile +++ b/Makefile @@ -14,8 +14,6 @@ BASE_IMAGE_MINIMAL ?= gcr.io/distroless/base MDL ?= mdl -K8S_CODE_GENERATOR ?= ../code-generator - # Docker base command for working with html documentation. # Use host networking because 'jekyll serve' is stupid enough to use the # same site url than the "host" it binds to. Thus, all the links will be @@ -129,21 +127,17 @@ templates: -e "}; /$$end/p; d }" -i deployment/helm/node-feature-discovery/values.yaml @rm nfd-worker.conf.tmp -generate: - go mod vendor - go generate ./cmd/... ./pkg/... ./source/... - rm -rf vendor/ - controller-gen object crd output:crd:stdout paths=./pkg/apis/... > deployment/base/nfd-crds/nodefeaturerule-crd.yaml - cp deployment/base/nfd-crds/nodefeaturerule-crd.yaml deployment/helm/node-feature-discovery/manifests/ - rm -rf sigs.k8s.io - $(K8S_CODE_GENERATOR)/generate-groups.sh client,informer,lister \ - sigs.k8s.io/node-feature-discovery/pkg/generated \ - sigs.k8s.io/node-feature-discovery/pkg/apis \ - "nfd:v1alpha1" --output-base=. \ - --go-header-file hack/boilerplate.go.txt - rm -rf pkg/generated - mv sigs.k8s.io/node-feature-discovery/pkg/generated pkg/ - rm -rf sigs.k8s.io +.generator.image.stamp: Dockerfile_generator + $(IMAGE_BUILD_CMD) -t nfd-generator -f Dockerfile_generator . + +generate: .generator.image.stamp + $(CONTAINER_RUN_CMD) --rm \ + -v "`pwd`:/go/node-feature-discovery" \ + -v "`go env GOCACHE`:/.cache" \ + -v "`go env GOMODCACHE`:/go/pkg/mod" \ + --user=`id -u`:`id -g`\ + nfd-generator \ + ./hack/generate.sh gofmt: @$(GO_FMT) -w -l $$(find . -name '*.go') diff --git a/hack/generate.sh b/hack/generate.sh new file mode 100755 index 000000000..e89e01f9c --- /dev/null +++ b/hack/generate.sh @@ -0,0 +1,30 @@ +#!/bin/bash -e +set -o pipefail + +# Default path for code-generator repo +K8S_CODE_GENERATOR=${K8S_CODE_GENERATOR:-../code-generator} + +go mod vendor + +go generate ./cmd/... ./pkg/... ./source/... + +rm -rf vendor/ + +controller-gen object crd output:crd:stdout paths=./pkg/apis/... > deployment/base/nfd-crds/nodefeaturerule-crd.yaml + +cp deployment/base/nfd-crds/nodefeaturerule-crd.yaml deployment/helm/node-feature-discovery/manifests/ + +rm -rf sigs.k8s.io + +${K8S_CODE_GENERATOR}/generate-groups.sh client,informer,lister \ + sigs.k8s.io/node-feature-discovery/pkg/generated \ + sigs.k8s.io/node-feature-discovery/pkg/apis \ + "nfd:v1alpha1" --output-base=. \ + --go-header-file hack/boilerplate.go.txt + +rm -rf pkg/generated + +mv sigs.k8s.io/node-feature-discovery/pkg/generated pkg/ + +rm -rf sigs.k8s.io + diff --git a/pkg/api/feature/generated.pb.go b/pkg/api/feature/generated.pb.go index 33df143cc..cfe7c772b 100644 --- a/pkg/api/feature/generated.pb.go +++ b/pkg/api/feature/generated.pb.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/api/feature/generated.proto b/pkg/api/feature/generated.proto index c3ae18b33..9ab6b7ad4 100644 --- a/pkg/api/feature/generated.proto +++ b/pkg/api/feature/generated.proto @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/apihelper/apihelpers.go b/pkg/apihelper/apihelpers.go index d3fef4c46..bfcdec6a7 100644 --- a/pkg/apihelper/apihelpers.go +++ b/pkg/apihelper/apihelpers.go @@ -16,7 +16,7 @@ limitations under the License. package apihelper -//go:generate mockery --name=APIHelpers --inpkg +//go:generate mockery --name=APIHelpers --inpackage import ( topologyclientset "github.com/k8stopologyawareschedwg/noderesourcetopology-api/pkg/generated/clientset/versioned" diff --git a/pkg/apihelper/mock_APIHelpers.go b/pkg/apihelper/mock_APIHelpers.go index 98087ba64..7e677339f 100644 --- a/pkg/apihelper/mock_APIHelpers.go +++ b/pkg/apihelper/mock_APIHelpers.go @@ -1,4 +1,4 @@ -// Code generated by mockery v1.0.0. DO NOT EDIT. +// Code generated by mockery v2.13.0. DO NOT EDIT. package apihelper @@ -172,3 +172,18 @@ func (_m *MockAPIHelpers) UpdateNode(_a0 *kubernetes.Clientset, _a1 *v1.Node) er return r0 } + +type NewMockAPIHelpersT interface { + mock.TestingT + Cleanup(func()) +} + +// NewMockAPIHelpers creates a new instance of MockAPIHelpers. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewMockAPIHelpers(t NewMockAPIHelpersT) *MockAPIHelpers { + mock := &MockAPIHelpers{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/pkg/generated/clientset/versioned/clientset.go b/pkg/generated/clientset/versioned/clientset.go index 58f0e461c..75330a9d9 100644 --- a/pkg/generated/clientset/versioned/clientset.go +++ b/pkg/generated/clientset/versioned/clientset.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/doc.go b/pkg/generated/clientset/versioned/doc.go index 92576525f..ab7539cb9 100644 --- a/pkg/generated/clientset/versioned/doc.go +++ b/pkg/generated/clientset/versioned/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/fake/clientset_generated.go b/pkg/generated/clientset/versioned/fake/clientset_generated.go index dd33f2a04..a38a480cf 100644 --- a/pkg/generated/clientset/versioned/fake/clientset_generated.go +++ b/pkg/generated/clientset/versioned/fake/clientset_generated.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -74,10 +74,7 @@ func (c *Clientset) Tracker() testing.ObjectTracker { return c.tracker } -var ( - _ clientset.Interface = &Clientset{} - _ testing.FakeClient = &Clientset{} -) +var _ clientset.Interface = &Clientset{} // NfdV1alpha1 retrieves the NfdV1alpha1Client func (c *Clientset) NfdV1alpha1() nfdv1alpha1.NfdV1alpha1Interface { diff --git a/pkg/generated/clientset/versioned/fake/doc.go b/pkg/generated/clientset/versioned/fake/doc.go index 4b91eb6a6..7d98eabcc 100644 --- a/pkg/generated/clientset/versioned/fake/doc.go +++ b/pkg/generated/clientset/versioned/fake/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/fake/register.go b/pkg/generated/clientset/versioned/fake/register.go index a7846e07a..cdc746791 100644 --- a/pkg/generated/clientset/versioned/fake/register.go +++ b/pkg/generated/clientset/versioned/fake/register.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/scheme/doc.go b/pkg/generated/clientset/versioned/scheme/doc.go index 6dc5e6530..288d3794d 100644 --- a/pkg/generated/clientset/versioned/scheme/doc.go +++ b/pkg/generated/clientset/versioned/scheme/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/scheme/register.go b/pkg/generated/clientset/versioned/scheme/register.go index cfac0d743..b455617b6 100644 --- a/pkg/generated/clientset/versioned/scheme/register.go +++ b/pkg/generated/clientset/versioned/scheme/register.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/doc.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/doc.go index be4e7e92b..5362dda2f 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/doc.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/doc.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/doc.go index 43eec078a..dd9e9e4c8 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/doc.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/doc.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nfd_client.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nfd_client.go index 8bf3fc196..713326833 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nfd_client.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nfd_client.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nodefeaturerule.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nodefeaturerule.go index 7710634ef..b4afd87f9 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nodefeaturerule.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/fake/fake_nodefeaturerule.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/generated_expansion.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/generated_expansion.go index 965bc1eff..8807cd64d 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/generated_expansion.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/generated_expansion.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nfd_client.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nfd_client.go index 1858451d1..653f75df2 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nfd_client.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nfd_client.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nodefeaturerule.go b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nodefeaturerule.go index 176e7410b..d7d4428ad 100644 --- a/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nodefeaturerule.go +++ b/pkg/generated/clientset/versioned/typed/nfd/v1alpha1/nodefeaturerule.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/informers/externalversions/factory.go b/pkg/generated/informers/externalversions/factory.go index 5a65015de..e64a77d35 100644 --- a/pkg/generated/informers/externalversions/factory.go +++ b/pkg/generated/informers/externalversions/factory.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/informers/externalversions/generic.go b/pkg/generated/informers/externalversions/generic.go index 18dd6de9b..453de7f15 100644 --- a/pkg/generated/informers/externalversions/generic.go +++ b/pkg/generated/informers/externalversions/generic.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go b/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go index f63a11b79..0b862ce98 100644 --- a/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go +++ b/pkg/generated/informers/externalversions/internalinterfaces/factory_interfaces.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/informers/externalversions/nfd/interface.go b/pkg/generated/informers/externalversions/nfd/interface.go index a7d35dca0..8130adf7d 100644 --- a/pkg/generated/informers/externalversions/nfd/interface.go +++ b/pkg/generated/informers/externalversions/nfd/interface.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/informers/externalversions/nfd/v1alpha1/interface.go b/pkg/generated/informers/externalversions/nfd/v1alpha1/interface.go index 6c8c39d32..5f476d887 100644 --- a/pkg/generated/informers/externalversions/nfd/v1alpha1/interface.go +++ b/pkg/generated/informers/externalversions/nfd/v1alpha1/interface.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/informers/externalversions/nfd/v1alpha1/nodefeaturerule.go b/pkg/generated/informers/externalversions/nfd/v1alpha1/nodefeaturerule.go index bb3b23c9e..6879a711d 100644 --- a/pkg/generated/informers/externalversions/nfd/v1alpha1/nodefeaturerule.go +++ b/pkg/generated/informers/externalversions/nfd/v1alpha1/nodefeaturerule.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/listers/nfd/v1alpha1/expansion_generated.go b/pkg/generated/listers/nfd/v1alpha1/expansion_generated.go index 64eee10f9..a072a4f4a 100644 --- a/pkg/generated/listers/nfd/v1alpha1/expansion_generated.go +++ b/pkg/generated/listers/nfd/v1alpha1/expansion_generated.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/generated/listers/nfd/v1alpha1/nodefeaturerule.go b/pkg/generated/listers/nfd/v1alpha1/nodefeaturerule.go index 68e37951d..e21450913 100644 --- a/pkg/generated/listers/nfd/v1alpha1/nodefeaturerule.go +++ b/pkg/generated/listers/nfd/v1alpha1/nodefeaturerule.go @@ -1,5 +1,5 @@ /* -Copyright 2021 The Kubernetes Authors. +Copyright 2022 The Kubernetes Authors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. diff --git a/pkg/labeler/doc.go b/pkg/labeler/doc.go index bc4774157..4f0e89ade 100644 --- a/pkg/labeler/doc.go +++ b/pkg/labeler/doc.go @@ -17,4 +17,4 @@ limitations under the License. package labeler //go:generate protoc --go_opt=paths=source_relative --go_out=plugins=grpc:. -I . -I ../.. -I ../../vendor labeler.proto -//go:generate mockery --name=LabelerClient --inpkg +//go:generate mockery --name=LabelerClient --inpackage diff --git a/pkg/labeler/mock_LabelerClient.go b/pkg/labeler/mock_LabelerClient.go index 3638308c0..3d1634062 100644 --- a/pkg/labeler/mock_LabelerClient.go +++ b/pkg/labeler/mock_LabelerClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v1.0.0. DO NOT EDIT. +// Code generated by mockery v2.13.0. DO NOT EDIT. package labeler @@ -44,3 +44,18 @@ func (_m *MockLabelerClient) SetLabels(ctx context.Context, in *SetLabelsRequest return r0, r1 } + +type NewMockLabelerClientT interface { + mock.TestingT + Cleanup(func()) +} + +// NewMockLabelerClient creates a new instance of MockLabelerClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewMockLabelerClient(t NewMockLabelerClientT) *MockLabelerClient { + mock := &MockLabelerClient{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/pkg/topologyupdater/doc.go b/pkg/topologyupdater/doc.go index 689af805c..b95359c68 100644 --- a/pkg/topologyupdater/doc.go +++ b/pkg/topologyupdater/doc.go @@ -17,4 +17,4 @@ limitations under the License. package topologyupdater //go:generate protoc --go_opt=paths=source_relative --go_out=plugins=grpc:. -I . -I ../../vendor/ topology-updater.proto -//go:generate mockery --name=NodeTopologyClient --inpkg +//go:generate mockery --name=NodeTopologyClient --inpackage diff --git a/pkg/topologyupdater/mock_NodeTopologyClient.go b/pkg/topologyupdater/mock_NodeTopologyClient.go index 632869419..3ee715c27 100644 --- a/pkg/topologyupdater/mock_NodeTopologyClient.go +++ b/pkg/topologyupdater/mock_NodeTopologyClient.go @@ -1,4 +1,4 @@ -// Code generated by mockery v1.0.0. DO NOT EDIT. +// Code generated by mockery v2.13.0. DO NOT EDIT. package topologyupdater @@ -44,3 +44,18 @@ func (_m *MockNodeTopologyClient) UpdateNodeTopology(ctx context.Context, in *No return r0, r1 } + +type NewMockNodeTopologyClientT interface { + mock.TestingT + Cleanup(func()) +} + +// NewMockNodeTopologyClient creates a new instance of MockNodeTopologyClient. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewMockNodeTopologyClient(t NewMockNodeTopologyClientT) *MockNodeTopologyClient { + mock := &MockNodeTopologyClient{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/source/mock_LabelSource.go b/source/mock_LabelSource.go index 404beb44d..1c9606279 100644 --- a/source/mock_LabelSource.go +++ b/source/mock_LabelSource.go @@ -1,4 +1,4 @@ -// Code generated by mockery v1.0.0. DO NOT EDIT. +// Code generated by mockery v2.13.0. DO NOT EDIT. package source @@ -59,3 +59,18 @@ func (_m *MockLabelSource) Priority() int { return r0 } + +type NewMockLabelSourceT interface { + mock.TestingT + Cleanup(func()) +} + +// NewMockLabelSource creates a new instance of MockLabelSource. It also registers a testing interface on the mock and a cleanup function to assert the mocks expectations. +func NewMockLabelSource(t NewMockLabelSourceT) *MockLabelSource { + mock := &MockLabelSource{} + mock.Mock.Test(t) + + t.Cleanup(func() { mock.AssertExpectations(t) }) + + return mock +} diff --git a/source/source.go b/source/source.go index 489442ba8..44a725ba8 100644 --- a/source/source.go +++ b/source/source.go @@ -16,7 +16,7 @@ limitations under the License. package source -//go:generate mockery --name=LabelSource --inpkg +//go:generate mockery --name=LabelSource --inpackage import ( "fmt"