{"action":"created","comment":{"url":"https://api.github.com/repos/coreos/rkt/pulls/comments/42273657","id":42273657,"diff_hunk":"@@ -46,14 +50,33 @@ func (a *GoroutineAssistant) Done() {\n }\n \n func (a *GoroutineAssistant) Wait() {\n-\tdone := make(chan struct{})\n \tgo func() {\n \t\ta.wg.Wait()\n-\t\tdone <- struct{}{}\n+\t\ta.s <- nil\n \t}()\n-\tselect {\n-\tcase s := <-a.s:\n-\t\ta.t.Fatalf(s)\n-\tcase <-done:\n+\terr := <-a.s\n+\tif err == nil {\n+\t\t// success\n+\t\treturn\n+\t}\n+\t// Let's mimic testing.Fatalf()'s behavior and fatal with the first received error.\n+\t// All other goroutines will be killed.","path":"tests/testutils/goroutineassistant.go","position":53,"original_position":53,"commit_id":"8d403356c4c05fb6c7bcd50695e717c7e13a05f4","original_commit_id":"8d403356c4c05fb6c7bcd50695e717c7e13a05f4","user":{"login":"steveeJ","id":1181362,"avatar_url":"https://avatars.githubusercontent.com/u/1181362?v=3","gravatar_id":"","url":"https://api.github.com/users/steveeJ","html_url":"https://github.com/steveeJ","followers_url":"https://api.github.com/users/steveeJ/followers","following_url":"https://api.github.com/users/steveeJ/following{/other_user}","gists_url":"https://api.github.com/users/steveeJ/gists{/gist_id}","starred_url":"https://api.github.com/users/steveeJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveeJ/subscriptions","organizations_url":"https://api.github.com/users/steveeJ/orgs","repos_url":"https://api.github.com/users/steveeJ/repos","events_url":"https://api.github.com/users/steveeJ/events{/privacy}","received_events_url":"https://api.github.com/users/steveeJ/received_events","type":"User","site_admin":false},"body":"It's true though, `a.t.Fatal()` will tear down all other goroutines.","created_at":"2015-10-16T18:21:41Z","updated_at":"2015-10-16T18:21:41Z","html_url":"https://github.com/coreos/rkt/pull/1608#discussion_r42273657","pull_request_url":"https://api.github.com/repos/coreos/rkt/pulls/1608","_links":{"self":{"href":"https://api.github.com/repos/coreos/rkt/pulls/comments/42273657"},"html":{"href":"https://github.com/coreos/rkt/pull/1608#discussion_r42273657"},"pull_request":{"href":"https://api.github.com/repos/coreos/rkt/pulls/1608"}}},"pull_request":{"url":"https://api.github.com/repos/coreos/rkt/pulls/1608","id":47646966,"html_url":"https://github.com/coreos/rkt/pull/1608","diff_url":"https://github.com/coreos/rkt/pull/1608.diff","patch_url":"https://github.com/coreos/rkt/pull/1608.patch","issue_url":"https://api.github.com/repos/coreos/rkt/issues/1608","number":1608,"state":"open","locked":false,"title":" testutils: fix GoroutineAssistant and httputils","user":{"login":"steveeJ","id":1181362,"avatar_url":"https://avatars.githubusercontent.com/u/1181362?v=3","gravatar_id":"","url":"https://api.github.com/users/steveeJ","html_url":"https://github.com/steveeJ","followers_url":"https://api.github.com/users/steveeJ/followers","following_url":"https://api.github.com/users/steveeJ/following{/other_user}","gists_url":"https://api.github.com/users/steveeJ/gists{/gist_id}","starred_url":"https://api.github.com/users/steveeJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveeJ/subscriptions","organizations_url":"https://api.github.com/users/steveeJ/orgs","repos_url":"https://api.github.com/users/steveeJ/repos","events_url":"https://api.github.com/users/steveeJ/events{/privacy}","received_events_url":"https://api.github.com/users/steveeJ/received_events","type":"User","site_admin":false},"body":"Closes #1595.\r\nFixes #1590.","created_at":"2015-10-14T11:27:38Z","updated_at":"2015-10-16T18:21:41Z","closed_at":null,"merged_at":null,"merge_commit_sha":"833416b29e673101be962975c19758450a2cc6e1","assignee":{"login":"steveeJ","id":1181362,"avatar_url":"https://avatars.githubusercontent.com/u/1181362?v=3","gravatar_id":"","url":"https://api.github.com/users/steveeJ","html_url":"https://github.com/steveeJ","followers_url":"https://api.github.com/users/steveeJ/followers","following_url":"https://api.github.com/users/steveeJ/following{/other_user}","gists_url":"https://api.github.com/users/steveeJ/gists{/gist_id}","starred_url":"https://api.github.com/users/steveeJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveeJ/subscriptions","organizations_url":"https://api.github.com/users/steveeJ/orgs","repos_url":"https://api.github.com/users/steveeJ/repos","events_url":"https://api.github.com/users/steveeJ/events{/privacy}","received_events_url":"https://api.github.com/users/steveeJ/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/coreos/rkt/milestones/21","html_url":"https://github.com/coreos/rkt/milestones/v0.10.0","labels_url":"https://api.github.com/repos/coreos/rkt/milestones/21/labels","id":1335294,"number":21,"title":"v0.10.0","description":"","creator":{"login":"jonboulle","id":2601015,"avatar_url":"https://avatars.githubusercontent.com/u/2601015?v=3","gravatar_id":"","url":"https://api.github.com/users/jonboulle","html_url":"https://github.com/jonboulle","followers_url":"https://api.github.com/users/jonboulle/followers","following_url":"https://api.github.com/users/jonboulle/following{/other_user}","gists_url":"https://api.github.com/users/jonboulle/gists{/gist_id}","starred_url":"https://api.github.com/users/jonboulle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jonboulle/subscriptions","organizations_url":"https://api.github.com/users/jonboulle/orgs","repos_url":"https://api.github.com/users/jonboulle/repos","events_url":"https://api.github.com/users/jonboulle/events{/privacy}","received_events_url":"https://api.github.com/users/jonboulle/received_events","type":"User","site_admin":false},"open_issues":70,"closed_issues":28,"state":"open","created_at":"2015-10-02T17:41:16Z","updated_at":"2015-10-16T17:53:54Z","due_on":"2015-10-21T07:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/coreos/rkt/pulls/1608/commits","review_comments_url":"https://api.github.com/repos/coreos/rkt/pulls/1608/comments","review_comment_url":"https://api.github.com/repos/coreos/rkt/pulls/comments{/number}","comments_url":"https://api.github.com/repos/coreos/rkt/issues/1608/comments","statuses_url":"https://api.github.com/repos/coreos/rkt/statuses/8d403356c4c05fb6c7bcd50695e717c7e13a05f4","head":{"label":"steveeJ:goassistant","ref":"goassistant","sha":"8d403356c4c05fb6c7bcd50695e717c7e13a05f4","user":{"login":"steveeJ","id":1181362,"avatar_url":"https://avatars.githubusercontent.com/u/1181362?v=3","gravatar_id":"","url":"https://api.github.com/users/steveeJ","html_url":"https://github.com/steveeJ","followers_url":"https://api.github.com/users/steveeJ/followers","following_url":"https://api.github.com/users/steveeJ/following{/other_user}","gists_url":"https://api.github.com/users/steveeJ/gists{/gist_id}","starred_url":"https://api.github.com/users/steveeJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveeJ/subscriptions","organizations_url":"https://api.github.com/users/steveeJ/orgs","repos_url":"https://api.github.com/users/steveeJ/repos","events_url":"https://api.github.com/users/steveeJ/events{/privacy}","received_events_url":"https://api.github.com/users/steveeJ/received_events","type":"User","site_admin":false},"repo":{"id":34967118,"name":"rkt","full_name":"steveeJ/rkt","owner":{"login":"steveeJ","id":1181362,"avatar_url":"https://avatars.githubusercontent.com/u/1181362?v=3","gravatar_id":"","url":"https://api.github.com/users/steveeJ","html_url":"https://github.com/steveeJ","followers_url":"https://api.github.com/users/steveeJ/followers","following_url":"https://api.github.com/users/steveeJ/following{/other_user}","gists_url":"https://api.github.com/users/steveeJ/gists{/gist_id}","starred_url":"https://api.github.com/users/steveeJ/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/steveeJ/subscriptions","organizations_url":"https://api.github.com/users/steveeJ/orgs","repos_url":"https://api.github.com/users/steveeJ/repos","events_url":"https://api.github.com/users/steveeJ/events{/privacy}","received_events_url":"https://api.github.com/users/steveeJ/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/steveeJ/rkt","description":"rkt is an App Container runtime for Linux","fork":true,"url":"https://api.github.com/repos/steveeJ/rkt","forks_url":"https://api.github.com/repos/steveeJ/rkt/forks","keys_url":"https://api.github.com/repos/steveeJ/rkt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/steveeJ/rkt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/steveeJ/rkt/teams","hooks_url":"https://api.github.com/repos/steveeJ/rkt/hooks","issue_events_url":"https://api.github.com/repos/steveeJ/rkt/issues/events{/number}","events_url":"https://api.github.com/repos/steveeJ/rkt/events","assignees_url":"https://api.github.com/repos/steveeJ/rkt/assignees{/user}","branches_url":"https://api.github.com/repos/steveeJ/rkt/branches{/branch}","tags_url":"https://api.github.com/repos/steveeJ/rkt/tags","blobs_url":"https://api.github.com/repos/steveeJ/rkt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/steveeJ/rkt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/steveeJ/rkt/git/refs{/sha}","trees_url":"https://api.github.com/repos/steveeJ/rkt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/steveeJ/rkt/statuses/{sha}","languages_url":"https://api.github.com/repos/steveeJ/rkt/languages","stargazers_url":"https://api.github.com/repos/steveeJ/rkt/stargazers","contributors_url":"https://api.github.com/repos/steveeJ/rkt/contributors","subscribers_url":"https://api.github.com/repos/steveeJ/rkt/subscribers","subscription_url":"https://api.github.com/repos/steveeJ/rkt/subscription","commits_url":"https://api.github.com/repos/steveeJ/rkt/commits{/sha}","git_commits_url":"https://api.github.com/repos/steveeJ/rkt/git/commits{/sha}","comments_url":"https://api.github.com/repos/steveeJ/rkt/comments{/number}","issue_comment_url":"https://api.github.com/repos/steveeJ/rkt/issues/comments{/number}","contents_url":"https://api.github.com/repos/steveeJ/rkt/contents/{+path}","compare_url":"https://api.github.com/repos/steveeJ/rkt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/steveeJ/rkt/merges","archive_url":"https://api.github.com/repos/steveeJ/rkt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/steveeJ/rkt/downloads","issues_url":"https://api.github.com/repos/steveeJ/rkt/issues{/number}","pulls_url":"https://api.github.com/repos/steveeJ/rkt/pulls{/number}","milestones_url":"https://api.github.com/repos/steveeJ/rkt/milestones{/number}","notifications_url":"https://api.github.com/repos/steveeJ/rkt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/steveeJ/rkt/labels{/name}","releases_url":"https://api.github.com/repos/steveeJ/rkt/releases{/id}","created_at":"2015-05-02T23:42:32Z","updated_at":"2015-05-02T23:42:50Z","pushed_at":"2015-10-16T17:43:23Z","git_url":"git://github.com/steveeJ/rkt.git","ssh_url":"git@github.com:steveeJ/rkt.git","clone_url":"https://github.com/steveeJ/rkt.git","svn_url":"https://github.com/steveeJ/rkt","homepage":"","size":16830,"stargazers_count":0,"watchers_count":0,"language":"Go","has_issues":false,"has_downloads":true,"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":"coreos:master","ref":"master","sha":"9841bbc35ec05586eaa75e90aa6fb102937cd576","user":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"repo":{"id":26509369,"name":"rkt","full_name":"coreos/rkt","owner":{"login":"coreos","id":3730757,"avatar_url":"https://avatars.githubusercontent.com/u/3730757?v=3","gravatar_id":"","url":"https://api.github.com/users/coreos","html_url":"https://github.com/coreos","followers_url":"https://api.github.com/users/coreos/followers","following_url":"https://api.github.com/users/coreos/following{/other_user}","gists_url":"https://api.github.com/users/coreos/gists{/gist_id}","starred_url":"https://api.github.com/users/coreos/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/coreos/subscriptions","organizations_url":"https://api.github.com/users/coreos/orgs","repos_url":"https://api.github.com/users/coreos/repos","events_url":"https://api.github.com/users/coreos/events{/privacy}","received_events_url":"https://api.github.com/users/coreos/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/coreos/rkt","description":"rkt is an App Container runtime for Linux","fork":false,"url":"https://api.github.com/repos/coreos/rkt","forks_url":"https://api.github.com/repos/coreos/rkt/forks","keys_url":"https://api.github.com/repos/coreos/rkt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/coreos/rkt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/coreos/rkt/teams","hooks_url":"https://api.github.com/repos/coreos/rkt/hooks","issue_events_url":"https://api.github.com/repos/coreos/rkt/issues/events{/number}","events_url":"https://api.github.com/repos/coreos/rkt/events","assignees_url":"https://api.github.com/repos/coreos/rkt/assignees{/user}","branches_url":"https://api.github.com/repos/coreos/rkt/branches{/branch}","tags_url":"https://api.github.com/repos/coreos/rkt/tags","blobs_url":"https://api.github.com/repos/coreos/rkt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/coreos/rkt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/coreos/rkt/git/refs{/sha}","trees_url":"https://api.github.com/repos/coreos/rkt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/coreos/rkt/statuses/{sha}","languages_url":"https://api.github.com/repos/coreos/rkt/languages","stargazers_url":"https://api.github.com/repos/coreos/rkt/stargazers","contributors_url":"https://api.github.com/repos/coreos/rkt/contributors","subscribers_url":"https://api.github.com/repos/coreos/rkt/subscribers","subscription_url":"https://api.github.com/repos/coreos/rkt/subscription","commits_url":"https://api.github.com/repos/coreos/rkt/commits{/sha}","git_commits_url":"https://api.github.com/repos/coreos/rkt/git/commits{/sha}","comments_url":"https://api.github.com/repos/coreos/rkt/comments{/number}","issue_comment_url":"https://api.github.com/repos/coreos/rkt/issues/comments{/number}","contents_url":"https://api.github.com/repos/coreos/rkt/contents/{+path}","compare_url":"https://api.github.com/repos/coreos/rkt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/coreos/rkt/merges","archive_url":"https://api.github.com/repos/coreos/rkt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/coreos/rkt/downloads","issues_url":"https://api.github.com/repos/coreos/rkt/issues{/number}","pulls_url":"https://api.github.com/repos/coreos/rkt/pulls{/number}","milestones_url":"https://api.github.com/repos/coreos/rkt/milestones{/number}","notifications_url":"https://api.github.com/repos/coreos/rkt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/coreos/rkt/labels{/name}","releases_url":"https://api.github.com/repos/coreos/rkt/releases{/id}","created_at":"2014-11-11T23:13:18Z","updated_at":"2015-10-16T15:26:10Z","pushed_at":"2015-10-16T17:43:23Z","git_url":"git://github.com/coreos/rkt.git","ssh_url":"git@github.com:coreos/rkt.git","clone_url":"https://github.com/coreos/rkt.git","svn_url":"https://github.com/coreos/rkt","homepage":"","size":27295,"stargazers_count":4753,"watchers_count":4753,"language":"Go","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":398,"mirror_url":null,"open_issues_count":193,"forks":398,"open_issues":193,"watchers":4753,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/coreos/rkt/pulls/1608"},"html":{"href":"https://github.com/coreos/rkt/pull/1608"},"issue":{"href":"https://api.github.com/repos/coreos/rkt/issues/1608"},"comments":{"href":"https://api.github.com/repos/coreos/rkt/issues/1608/comments"},"review_comments":{"href":"https://api.github.com/repos/coreos/rkt/pulls/1608/comments"},"review_comment":{"href":"https://api.github.com/repos/coreos/rkt/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/coreos/rkt/pulls/1608/commits"},"statuses":{"href":"https://api.github.com/repos/coreos/rkt/statuses/8d403356c4c05fb6c7bcd50695e717c7e13a05f4"}}}}