Skip to content

Commit 0f8f406

Browse files
committed
feat(mocks): generate fakes and mocks in a container
1 parent a441e9b commit 0f8f406

File tree

5 files changed

+31
-577
lines changed

5 files changed

+31
-577
lines changed

Makefile

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ SHELL := /bin/bash
66
PKG := github.com/operator-framework/operator-lifecycle-manager
77
CMDS := $(addprefix bin/, $(shell go list ./cmd/... | xargs -I{} basename {}))
88
CODEGEN := ./vendor/k8s.io/code-generator/generate_groups.sh
9+
MOCKGEN := ./scripts/generate_mocks.sh
910
counterfeiter := $(GOBIN)/counterfeiter
1011
mockgen := $(GOBIN)/mockgen
1112
IMAGE_REPO := quay.io/coreos/olm
@@ -125,18 +126,25 @@ container-codegen:
125126
docker cp temp-codegen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/package-server/client/. ./pkg/package-server/client
126127
docker rm temp-codegen
127128

129+
container-mockgen:
130+
docker build -t olm:mockgen -f mockgen.Dockerfile .
131+
docker run --name temp-mockgen olm:mockgen /bin/true
132+
docker cp temp-mockgen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/api/wrappers/wrappersfakes/. ./pkg/api/wrappers/wrappersfakes
133+
docker cp temp-mockgen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/fakes/. ./pkg/fakes
134+
docker cp temp-mockgen:/go/src/github.com/operator-framework/operator-lifecycle-manager/pkg/lib/operatorclient/mock_client.go ./pkg/lib/operatorclient/mock_client.go
135+
docker rm temp-mockgen
136+
128137
# Must be run in gopath: https://github.com/kubernetes/kubernetes/issues/67566
129138
verify-codegen: codegen
130139
git diff --exit-code
131140

132141
verify-catalog: schema-check
133142
go test $(MOD_FLAGS) -v ./test/schema/catalog_versions_test.go
134143

135-
generate-mock-client:
136-
go generate ./$(PKG_DIR)/...
137-
GO111MODULE=on mockgen -source ./pkg/lib/operatorclient/client.go -destination ./pkg/lib/operatorclient/mock_client.go -package operatorclient
144+
generate-mock-client:
145+
$(MOCKGEN)
138146

139-
gen-all: gen-ci container-codegen generate-mock-client
147+
gen-all: gen-ci container-codegen container-mockgen
140148

141149
# before running release, bump the version in OLM_VERSION and push to master,
142150
# then tag those builds in quay with the version in OLM_VERSION

codegen.Dockerfile

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,4 @@ COPY pkg pkg
55
COPY vendor vendor
66
COPY scripts/generate_groups.sh scripts/generate_groups.sh
77
COPY boilerplate.go.txt boilerplate.go.txt
8-
RUN make codegen
9-
8+
RUN make codegen

mockgen.Dockerfile

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
FROM golang:1.10
2+
WORKDIR /go/src/github.com/operator-framework/operator-lifecycle-manager
3+
COPY Makefile Makefile
4+
COPY pkg pkg
5+
COPY vendor vendor
6+
COPY scripts/generate_mocks.sh scripts/generate_mocks.sh
7+
RUN chmod +x scripts/generate_mocks.sh
8+
COPY boilerplate.go.txt boilerplate.go.txt
9+
RUN make generate-mock-client

0 commit comments

Comments
 (0)