aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/compiler/cpp_plugin.cc
diff options
context:
space:
mode:
authorGravatar Mahak Mukhi <mmukhi@google.com>2017-04-08 15:43:07 -0700
committerGravatar Mahak Mukhi <mmukhi@google.com>2017-04-12 17:16:23 -0700
commit31d92d42ff8493fc0a9eb419ff662e4e5244096b (patch)
treee3ba7080cc0f4ad8d48c6ffcfff7569f4a9d5f78 /src/compiler/cpp_plugin.cc
parent7e1e1e3a56fb276385e6f5daa2e85a54ca23f976 (diff)
Initial commit: Auto-generate GMOCK code for client stub.
Diffstat (limited to 'src/compiler/cpp_plugin.cc')
-rw-r--r--src/compiler/cpp_plugin.cc10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/compiler/cpp_plugin.cc b/src/compiler/cpp_plugin.cc
index 4ee05ee037..a0986d92ce 100644
--- a/src/compiler/cpp_plugin.cc
+++ b/src/compiler/cpp_plugin.cc
@@ -114,6 +114,16 @@ class CppGrpcGenerator : public grpc::protobuf::compiler::CodeGenerator {
grpc::protobuf::io::CodedOutputStream source_coded_out(source_output.get());
source_coded_out.WriteRaw(source_code.data(), source_code.size());
+ grpc::string mock_code =
+ grpc_cpp_generator::GetMockPrologue(&pbfile, generator_parameters) +
+ grpc_cpp_generator::GetMockIncludes(&pbfile, generator_parameters) +
+ grpc_cpp_generator::GetMockServices(&pbfile, generator_parameters) +
+ grpc_cpp_generator::GetMockEpilogue(&pbfile, generator_parameters);
+ std::unique_ptr<grpc::protobuf::io::ZeroCopyOutputStream> mock_output(
+ context->Open(file_name + "_mock.grpc.pb.h"));
+ grpc::protobuf::io::CodedOutputStream mock_coded_out(mock_output.get());
+ mock_coded_out.WriteRaw(mock_code.data(), mock_code.size());
+
return true;
}