Skip to content
This repository has been archived by the owner on Jun 27, 2023. It is now read-only.

Add -embed flag into mockgen #683

Open
wants to merge 4 commits into
base: main
Choose a base branch
from

Conversation

stoikheia
Copy link

@stoikheia stoikheia commented Nov 20, 2022

This proposal is to add an option -embed into mockgen.

Why:
Sometimes we need to embed the source's interface (or structure) into a mock.

For example, a grpc server takes a mocked server implementation as an argument and determines if the interface is actually embedded as follows:

if !st.Implements(ht) {
	logger.Fatalf("grpc: Server.RegisterService found the handler of type %v that does not satisfy %v", st, ht)
}

https://github.com/grpc/grpc-go/blob/56ac86fa0f3940cb79946ce2c6e56f7ee7ecae84/server.go#L671

The following sample will result in an error when executed.
https://github.com/stoikheia/GomockProposalSample1/blob/517c5bb860be39c9d2fa4faff6b0542fe29a7f3e/server/server_test.go#L26-L36

I think that -embed like option is necessary from above.

@google-cla
Copy link

google-cla bot commented Nov 20, 2022

Thanks for your pull request! It looks like this may be your first contribution to a Google open source project. Before we can look at your pull request, you'll need to sign a Contributor License Agreement (CLA).

View this failed invocation of the CLA check for more information.

For the most up to date status, view the checks section at the bottom of the pull request.

@stoikheia stoikheia force-pushed the proposal_embed_option branch 2 times, most recently from 5c42721 to bb827da Compare November 20, 2022 18:36
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant