{"action":"created","comment":{"url":"https://api.github.com/repos/grpc/grpc-go/pulls/comments/76160516","id":76160516,"diff_hunk":"@@ -454,6 +454,41 @@ func DoCancelAfterFirstResponse(tc testpb.TestServiceClient) {\n \t}\n }\n \n+// DoStatusCodeAndMessage checks that the status code is propagated back to the client.\n+func DoStatusCodeAndMessage(tc testpb.TestServiceClient) {\n+\tvar code int32 = 2\n+\tmsg := \"test status message\"\n+        expectedErr := grpc.Errorf(codes.Code(code), msg)\n+\trespStatus := &testpb.EchoStatus{\n+\t\tCode:    proto.Int32(code),\n+\t\tMessage: proto.String(msg),\n+\t}\n+\t// Test UnaryCall.\n+\treq := &testpb.SimpleRequest{\n+\t\tResponseStatus: respStatus,\n+\t}\n+\tif _, err := tc.UnaryCall(context.Background(), req); err.Error() != expectedErr.Error() {\n+\t\tgrpclog.Fatalf(\"UnaryCall RPC returned error %v, want %v\", err, expectedErr)\n+\t}\n+\t// Test FullDuplexCall.\n+\tstream, err := tc.FullDuplexCall(context.Background())\n+\tif err != nil {\n+\t\tgrpclog.Fatalf(\"%v.FullDuplexCall(_) = _, %v, want <nil>\", tc, err)\n+\t}\n+\tstream_req := &testpb.StreamingOutputCallRequest{\n+\t\tResponseStatus: respStatus,\n+\t}\n+\tif err := stream.Send(stream_req); err != nil {\n+\t\tgrpclog.Fatalf(\"stream %v.Send(%v) = %v, want <nil>\", stream, stream_req, err)\n+\t}\n+\tif err := stream.CloseSend(); err != nil {\n+\t\tgrpclog.Fatalf(\"stream %v.CloseSend() = %v, want <nil>\", stream, err)","path":"interop/test_utils.go","position":32,"original_position":32,"commit_id":"121344c9ee5d2294ffd32bc4ae43782e406a72d8","original_commit_id":"121344c9ee5d2294ffd32bc4ae43782e406a72d8","user":{"login":"menghanl","id":960845,"avatar_url":"https://avatars.githubusercontent.com/u/960845?v=3","gravatar_id":"","url":"https://api.github.com/users/menghanl","html_url":"https://github.com/menghanl","followers_url":"https://api.github.com/users/menghanl/followers","following_url":"https://api.github.com/users/menghanl/following{/other_user}","gists_url":"https://api.github.com/users/menghanl/gists{/gist_id}","starred_url":"https://api.github.com/users/menghanl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/menghanl/subscriptions","organizations_url":"https://api.github.com/users/menghanl/orgs","repos_url":"https://api.github.com/users/menghanl/repos","events_url":"https://api.github.com/users/menghanl/events{/privacy}","received_events_url":"https://api.github.com/users/menghanl/received_events","type":"User","site_admin":false},"body":"Remove \"stream\" from fatalf","created_at":"2016-08-24T23:52:37Z","updated_at":"2016-08-24T23:52:37Z","html_url":"https://github.com/grpc/grpc-go/pull/747#discussion_r76160516","pull_request_url":"https://api.github.com/repos/grpc/grpc-go/pulls/747","_links":{"self":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/comments/76160516"},"html":{"href":"https://github.com/grpc/grpc-go/pull/747#discussion_r76160516"},"pull_request":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/747"}}},"pull_request":{"url":"https://api.github.com/repos/grpc/grpc-go/pulls/747","id":75992595,"html_url":"https://github.com/grpc/grpc-go/pull/747","diff_url":"https://github.com/grpc/grpc-go/pull/747.diff","patch_url":"https://github.com/grpc/grpc-go/pull/747.patch","issue_url":"https://api.github.com/repos/grpc/grpc-go/issues/747","number":747,"state":"open","locked":false,"title":"Add status_code_and_message interop test.","user":{"login":"markdroth","id":18664614,"avatar_url":"https://avatars.githubusercontent.com/u/18664614?v=3","gravatar_id":"","url":"https://api.github.com/users/markdroth","html_url":"https://github.com/markdroth","followers_url":"https://api.github.com/users/markdroth/followers","following_url":"https://api.github.com/users/markdroth/following{/other_user}","gists_url":"https://api.github.com/users/markdroth/gists{/gist_id}","starred_url":"https://api.github.com/users/markdroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdroth/subscriptions","organizations_url":"https://api.github.com/users/markdroth/orgs","repos_url":"https://api.github.com/users/markdroth/repos","events_url":"https://api.github.com/users/markdroth/events{/privacy}","received_events_url":"https://api.github.com/users/markdroth/received_events","type":"User","site_admin":false},"body":"Fixes #742.\r\n\r\nThis seems to compile, but I don't know how to test whether it actually works.  Is there documentation somewhere about how to run the interop tests?","created_at":"2016-07-01T14:57:28Z","updated_at":"2016-08-24T23:52:37Z","closed_at":null,"merged_at":null,"merge_commit_sha":"2cb10736ecd27a862d373ba0252ce88e4ccbee1c","assignee":{"login":"iamqizhao","id":10121772,"avatar_url":"https://avatars.githubusercontent.com/u/10121772?v=3","gravatar_id":"","url":"https://api.github.com/users/iamqizhao","html_url":"https://github.com/iamqizhao","followers_url":"https://api.github.com/users/iamqizhao/followers","following_url":"https://api.github.com/users/iamqizhao/following{/other_user}","gists_url":"https://api.github.com/users/iamqizhao/gists{/gist_id}","starred_url":"https://api.github.com/users/iamqizhao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iamqizhao/subscriptions","organizations_url":"https://api.github.com/users/iamqizhao/orgs","repos_url":"https://api.github.com/users/iamqizhao/repos","events_url":"https://api.github.com/users/iamqizhao/events{/privacy}","received_events_url":"https://api.github.com/users/iamqizhao/received_events","type":"User","site_admin":false},"assignees":[{"login":"iamqizhao","id":10121772,"avatar_url":"https://avatars.githubusercontent.com/u/10121772?v=3","gravatar_id":"","url":"https://api.github.com/users/iamqizhao","html_url":"https://github.com/iamqizhao","followers_url":"https://api.github.com/users/iamqizhao/followers","following_url":"https://api.github.com/users/iamqizhao/following{/other_user}","gists_url":"https://api.github.com/users/iamqizhao/gists{/gist_id}","starred_url":"https://api.github.com/users/iamqizhao/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iamqizhao/subscriptions","organizations_url":"https://api.github.com/users/iamqizhao/orgs","repos_url":"https://api.github.com/users/iamqizhao/repos","events_url":"https://api.github.com/users/iamqizhao/events{/privacy}","received_events_url":"https://api.github.com/users/iamqizhao/received_events","type":"User","site_admin":false}],"milestone":null,"commits_url":"https://api.github.com/repos/grpc/grpc-go/pulls/747/commits","review_comments_url":"https://api.github.com/repos/grpc/grpc-go/pulls/747/comments","review_comment_url":"https://api.github.com/repos/grpc/grpc-go/pulls/comments{/number}","comments_url":"https://api.github.com/repos/grpc/grpc-go/issues/747/comments","statuses_url":"https://api.github.com/repos/grpc/grpc-go/statuses/121344c9ee5d2294ffd32bc4ae43782e406a72d8","head":{"label":"markdroth:status_interop_test","ref":"status_interop_test","sha":"121344c9ee5d2294ffd32bc4ae43782e406a72d8","user":{"login":"markdroth","id":18664614,"avatar_url":"https://avatars.githubusercontent.com/u/18664614?v=3","gravatar_id":"","url":"https://api.github.com/users/markdroth","html_url":"https://github.com/markdroth","followers_url":"https://api.github.com/users/markdroth/followers","following_url":"https://api.github.com/users/markdroth/following{/other_user}","gists_url":"https://api.github.com/users/markdroth/gists{/gist_id}","starred_url":"https://api.github.com/users/markdroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdroth/subscriptions","organizations_url":"https://api.github.com/users/markdroth/orgs","repos_url":"https://api.github.com/users/markdroth/repos","events_url":"https://api.github.com/users/markdroth/events{/privacy}","received_events_url":"https://api.github.com/users/markdroth/received_events","type":"User","site_admin":false},"repo":{"id":62337424,"name":"grpc-go","full_name":"markdroth/grpc-go","owner":{"login":"markdroth","id":18664614,"avatar_url":"https://avatars.githubusercontent.com/u/18664614?v=3","gravatar_id":"","url":"https://api.github.com/users/markdroth","html_url":"https://github.com/markdroth","followers_url":"https://api.github.com/users/markdroth/followers","following_url":"https://api.github.com/users/markdroth/following{/other_user}","gists_url":"https://api.github.com/users/markdroth/gists{/gist_id}","starred_url":"https://api.github.com/users/markdroth/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/markdroth/subscriptions","organizations_url":"https://api.github.com/users/markdroth/orgs","repos_url":"https://api.github.com/users/markdroth/repos","events_url":"https://api.github.com/users/markdroth/events{/privacy}","received_events_url":"https://api.github.com/users/markdroth/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/markdroth/grpc-go","description":"The Go language implementation of gRPC. HTTP/2 based RPC","fork":true,"url":"https://api.github.com/repos/markdroth/grpc-go","forks_url":"https://api.github.com/repos/markdroth/grpc-go/forks","keys_url":"https://api.github.com/repos/markdroth/grpc-go/keys{/key_id}","collaborators_url":"https://api.github.com/repos/markdroth/grpc-go/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/markdroth/grpc-go/teams","hooks_url":"https://api.github.com/repos/markdroth/grpc-go/hooks","issue_events_url":"https://api.github.com/repos/markdroth/grpc-go/issues/events{/number}","events_url":"https://api.github.com/repos/markdroth/grpc-go/events","assignees_url":"https://api.github.com/repos/markdroth/grpc-go/assignees{/user}","branches_url":"https://api.github.com/repos/markdroth/grpc-go/branches{/branch}","tags_url":"https://api.github.com/repos/markdroth/grpc-go/tags","blobs_url":"https://api.github.com/repos/markdroth/grpc-go/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/markdroth/grpc-go/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/markdroth/grpc-go/git/refs{/sha}","trees_url":"https://api.github.com/repos/markdroth/grpc-go/git/trees{/sha}","statuses_url":"https://api.github.com/repos/markdroth/grpc-go/statuses/{sha}","languages_url":"https://api.github.com/repos/markdroth/grpc-go/languages","stargazers_url":"https://api.github.com/repos/markdroth/grpc-go/stargazers","contributors_url":"https://api.github.com/repos/markdroth/grpc-go/contributors","subscribers_url":"https://api.github.com/repos/markdroth/grpc-go/subscribers","subscription_url":"https://api.github.com/repos/markdroth/grpc-go/subscription","commits_url":"https://api.github.com/repos/markdroth/grpc-go/commits{/sha}","git_commits_url":"https://api.github.com/repos/markdroth/grpc-go/git/commits{/sha}","comments_url":"https://api.github.com/repos/markdroth/grpc-go/comments{/number}","issue_comment_url":"https://api.github.com/repos/markdroth/grpc-go/issues/comments{/number}","contents_url":"https://api.github.com/repos/markdroth/grpc-go/contents/{+path}","compare_url":"https://api.github.com/repos/markdroth/grpc-go/compare/{base}...{head}","merges_url":"https://api.github.com/repos/markdroth/grpc-go/merges","archive_url":"https://api.github.com/repos/markdroth/grpc-go/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/markdroth/grpc-go/downloads","issues_url":"https://api.github.com/repos/markdroth/grpc-go/issues{/number}","pulls_url":"https://api.github.com/repos/markdroth/grpc-go/pulls{/number}","milestones_url":"https://api.github.com/repos/markdroth/grpc-go/milestones{/number}","notifications_url":"https://api.github.com/repos/markdroth/grpc-go/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/markdroth/grpc-go/labels{/name}","releases_url":"https://api.github.com/repos/markdroth/grpc-go/releases{/id}","deployments_url":"https://api.github.com/repos/markdroth/grpc-go/deployments","created_at":"2016-06-30T19:34:52Z","updated_at":"2016-06-30T19:34:53Z","pushed_at":"2016-07-07T18:33:11Z","git_url":"git://github.com/markdroth/grpc-go.git","ssh_url":"git@github.com:markdroth/grpc-go.git","clone_url":"https://github.com/markdroth/grpc-go.git","svn_url":"https://github.com/markdroth/grpc-go","homepage":"","size":2004,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"grpc:master","ref":"master","sha":"a0ff1e78a98cd140c2d18a0210ab0a2a183a2b4c","user":{"login":"grpc","id":7802525,"avatar_url":"https://avatars.githubusercontent.com/u/7802525?v=3","gravatar_id":"","url":"https://api.github.com/users/grpc","html_url":"https://github.com/grpc","followers_url":"https://api.github.com/users/grpc/followers","following_url":"https://api.github.com/users/grpc/following{/other_user}","gists_url":"https://api.github.com/users/grpc/gists{/gist_id}","starred_url":"https://api.github.com/users/grpc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grpc/subscriptions","organizations_url":"https://api.github.com/users/grpc/orgs","repos_url":"https://api.github.com/users/grpc/repos","events_url":"https://api.github.com/users/grpc/events{/privacy}","received_events_url":"https://api.github.com/users/grpc/received_events","type":"Organization","site_admin":false},"repo":{"id":27729907,"name":"grpc-go","full_name":"grpc/grpc-go","owner":{"login":"grpc","id":7802525,"avatar_url":"https://avatars.githubusercontent.com/u/7802525?v=3","gravatar_id":"","url":"https://api.github.com/users/grpc","html_url":"https://github.com/grpc","followers_url":"https://api.github.com/users/grpc/followers","following_url":"https://api.github.com/users/grpc/following{/other_user}","gists_url":"https://api.github.com/users/grpc/gists{/gist_id}","starred_url":"https://api.github.com/users/grpc/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/grpc/subscriptions","organizations_url":"https://api.github.com/users/grpc/orgs","repos_url":"https://api.github.com/users/grpc/repos","events_url":"https://api.github.com/users/grpc/events{/privacy}","received_events_url":"https://api.github.com/users/grpc/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/grpc/grpc-go","description":"The Go language implementation of gRPC. HTTP/2 based RPC","fork":false,"url":"https://api.github.com/repos/grpc/grpc-go","forks_url":"https://api.github.com/repos/grpc/grpc-go/forks","keys_url":"https://api.github.com/repos/grpc/grpc-go/keys{/key_id}","collaborators_url":"https://api.github.com/repos/grpc/grpc-go/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/grpc/grpc-go/teams","hooks_url":"https://api.github.com/repos/grpc/grpc-go/hooks","issue_events_url":"https://api.github.com/repos/grpc/grpc-go/issues/events{/number}","events_url":"https://api.github.com/repos/grpc/grpc-go/events","assignees_url":"https://api.github.com/repos/grpc/grpc-go/assignees{/user}","branches_url":"https://api.github.com/repos/grpc/grpc-go/branches{/branch}","tags_url":"https://api.github.com/repos/grpc/grpc-go/tags","blobs_url":"https://api.github.com/repos/grpc/grpc-go/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/grpc/grpc-go/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/grpc/grpc-go/git/refs{/sha}","trees_url":"https://api.github.com/repos/grpc/grpc-go/git/trees{/sha}","statuses_url":"https://api.github.com/repos/grpc/grpc-go/statuses/{sha}","languages_url":"https://api.github.com/repos/grpc/grpc-go/languages","stargazers_url":"https://api.github.com/repos/grpc/grpc-go/stargazers","contributors_url":"https://api.github.com/repos/grpc/grpc-go/contributors","subscribers_url":"https://api.github.com/repos/grpc/grpc-go/subscribers","subscription_url":"https://api.github.com/repos/grpc/grpc-go/subscription","commits_url":"https://api.github.com/repos/grpc/grpc-go/commits{/sha}","git_commits_url":"https://api.github.com/repos/grpc/grpc-go/git/commits{/sha}","comments_url":"https://api.github.com/repos/grpc/grpc-go/comments{/number}","issue_comment_url":"https://api.github.com/repos/grpc/grpc-go/issues/comments{/number}","contents_url":"https://api.github.com/repos/grpc/grpc-go/contents/{+path}","compare_url":"https://api.github.com/repos/grpc/grpc-go/compare/{base}...{head}","merges_url":"https://api.github.com/repos/grpc/grpc-go/merges","archive_url":"https://api.github.com/repos/grpc/grpc-go/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/grpc/grpc-go/downloads","issues_url":"https://api.github.com/repos/grpc/grpc-go/issues{/number}","pulls_url":"https://api.github.com/repos/grpc/grpc-go/pulls{/number}","milestones_url":"https://api.github.com/repos/grpc/grpc-go/milestones{/number}","notifications_url":"https://api.github.com/repos/grpc/grpc-go/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/grpc/grpc-go/labels{/name}","releases_url":"https://api.github.com/repos/grpc/grpc-go/releases{/id}","deployments_url":"https://api.github.com/repos/grpc/grpc-go/deployments","created_at":"2014-12-08T18:59:34Z","updated_at":"2016-08-24T20:43:18Z","pushed_at":"2016-08-24T23:43:39Z","git_url":"git://github.com/grpc/grpc-go.git","ssh_url":"git@github.com:grpc/grpc-go.git","clone_url":"https://github.com/grpc/grpc-go.git","svn_url":"https://github.com/grpc/grpc-go","homepage":"","size":3196,"stargazers_count":2130,"watchers_count":2130,"language":"Go","has_issues":true,"has_downloads":false,"has_wiki":false,"has_pages":false,"forks_count":328,"mirror_url":null,"open_issues_count":90,"forks":328,"open_issues":90,"watchers":2130,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/747"},"html":{"href":"https://github.com/grpc/grpc-go/pull/747"},"issue":{"href":"https://api.github.com/repos/grpc/grpc-go/issues/747"},"comments":{"href":"https://api.github.com/repos/grpc/grpc-go/issues/747/comments"},"review_comments":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/747/comments"},"review_comment":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/grpc/grpc-go/pulls/747/commits"},"statuses":{"href":"https://api.github.com/repos/grpc/grpc-go/statuses/121344c9ee5d2294ffd32bc4ae43782e406a72d8"}}}}
{"actor":{"display_login":"menghanl"}}