{"action":"created","comment":{"url":"https://api.github.com/repos/neovim/neovim/pulls/comments/26651954","id":26651954,"diff_hunk":"@@ -162,15 +162,20 @@ local function rawfeed(...)\n   end\n end\n \n+local function spawn(argv)","path":"test/functional/helpers.lua","position":4,"original_position":4,"commit_id":"da143ad7878d1ee881d8799bb52ac1896a5bf104","original_commit_id":"da143ad7878d1ee881d8799bb52ac1896a5bf104","user":{"login":"tarruda","id":842846,"avatar_url":"https://avatars.githubusercontent.com/u/842846?v=3","gravatar_id":"","url":"https://api.github.com/users/tarruda","html_url":"https://github.com/tarruda","followers_url":"https://api.github.com/users/tarruda/followers","following_url":"https://api.github.com/users/tarruda/following{/other_user}","gists_url":"https://api.github.com/users/tarruda/gists{/gist_id}","starred_url":"https://api.github.com/users/tarruda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarruda/subscriptions","organizations_url":"https://api.github.com/users/tarruda/orgs","repos_url":"https://api.github.com/users/tarruda/repos","events_url":"https://api.github.com/users/tarruda/events{/privacy}","received_events_url":"https://api.github.com/users/tarruda/received_events","type":"User","site_admin":false},"body":":+1: ","created_at":"2015-03-18T10:33:12Z","updated_at":"2015-03-18T10:33:12Z","html_url":"https://github.com/neovim/neovim/pull/2146#discussion_r26651954","pull_request_url":"https://api.github.com/repos/neovim/neovim/pulls/2146","_links":{"self":{"href":"https://api.github.com/repos/neovim/neovim/pulls/comments/26651954"},"html":{"href":"https://github.com/neovim/neovim/pull/2146#discussion_r26651954"},"pull_request":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2146"}}},"pull_request":{"url":"https://api.github.com/repos/neovim/neovim/pulls/2146","id":31168880,"html_url":"https://github.com/neovim/neovim/pull/2146","diff_url":"https://github.com/neovim/neovim/pull/2146.diff","patch_url":"https://github.com/neovim/neovim/pull/2146.patch","issue_url":"https://api.github.com/repos/neovim/neovim/issues/2146","number":2146,"state":"open","locked":false,"title":"[RDY] Improve functional test debuggability and efficiency","user":{"login":"tarruda","id":842846,"avatar_url":"https://avatars.githubusercontent.com/u/842846?v=3","gravatar_id":"","url":"https://api.github.com/users/tarruda","html_url":"https://github.com/tarruda","followers_url":"https://api.github.com/users/tarruda/followers","following_url":"https://api.github.com/users/tarruda/following{/other_user}","gists_url":"https://api.github.com/users/tarruda/gists{/gist_id}","starred_url":"https://api.github.com/users/tarruda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarruda/subscriptions","organizations_url":"https://api.github.com/users/tarruda/orgs","repos_url":"https://api.github.com/users/tarruda/repos","events_url":"https://api.github.com/users/tarruda/events{/privacy}","received_events_url":"https://api.github.com/users/tarruda/received_events","type":"User","site_admin":false},"body":"- Read TEST_TAG env var from cmake/RunTests.cmake. Setting this environment\r\n  variable will pass --tags with its value to busted, which is used to filter\r\n  which tests will be executed.\r\n- Remove calls to nvim msgpack-rpc API outside tests. This removes the\r\n  requirement of having a static `clear` call in test/functional/helpers.lua\r\n- Replace all `setup` calls by the `before_first` function  which is injected on\r\n  the top of each test file that needs to have suite setup. This differs from\r\n  `setup` in that the callback will only be executed if at least one test will\r\n  be ran in the suite, where `setup` always executes the callback regardless of\r\n  test filters.\r\n\r\nAfter this commit its possible to run/debug a single test like this:\r\n\r\n```sh\r\nTEST_TAG=some-tag make test\r\n```\r\n\r\nAfter putting #some-tag into the test title. This also improves debugging\r\nexperience because there will be no unnecessary gdbserver instances whe GDB=1 is\r\npassed.","created_at":"2015-03-13T22:18:57Z","updated_at":"2015-03-18T10:33:12Z","closed_at":null,"merged_at":null,"merge_commit_sha":"3d2306e77b222a90608aab7914f92ccfd87ce06d","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/neovim/neovim/pulls/2146/commits","review_comments_url":"https://api.github.com/repos/neovim/neovim/pulls/2146/comments","review_comment_url":"https://api.github.com/repos/neovim/neovim/pulls/comments{/number}","comments_url":"https://api.github.com/repos/neovim/neovim/issues/2146/comments","statuses_url":"https://api.github.com/repos/neovim/neovim/statuses/da143ad7878d1ee881d8799bb52ac1896a5bf104","head":{"label":"tarruda:improve-functional-test-debuggability","ref":"improve-functional-test-debuggability","sha":"da143ad7878d1ee881d8799bb52ac1896a5bf104","user":{"login":"tarruda","id":842846,"avatar_url":"https://avatars.githubusercontent.com/u/842846?v=3","gravatar_id":"","url":"https://api.github.com/users/tarruda","html_url":"https://github.com/tarruda","followers_url":"https://api.github.com/users/tarruda/followers","following_url":"https://api.github.com/users/tarruda/following{/other_user}","gists_url":"https://api.github.com/users/tarruda/gists{/gist_id}","starred_url":"https://api.github.com/users/tarruda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarruda/subscriptions","organizations_url":"https://api.github.com/users/tarruda/orgs","repos_url":"https://api.github.com/users/tarruda/repos","events_url":"https://api.github.com/users/tarruda/events{/privacy}","received_events_url":"https://api.github.com/users/tarruda/received_events","type":"User","site_admin":false},"repo":{"id":17170945,"name":"neovim","full_name":"tarruda/neovim","owner":{"login":"tarruda","id":842846,"avatar_url":"https://avatars.githubusercontent.com/u/842846?v=3","gravatar_id":"","url":"https://api.github.com/users/tarruda","html_url":"https://github.com/tarruda","followers_url":"https://api.github.com/users/tarruda/followers","following_url":"https://api.github.com/users/tarruda/following{/other_user}","gists_url":"https://api.github.com/users/tarruda/gists{/gist_id}","starred_url":"https://api.github.com/users/tarruda/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/tarruda/subscriptions","organizations_url":"https://api.github.com/users/tarruda/orgs","repos_url":"https://api.github.com/users/tarruda/repos","events_url":"https://api.github.com/users/tarruda/events{/privacy}","received_events_url":"https://api.github.com/users/tarruda/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/tarruda/neovim","description":"vim's rebirth for the 21st century","fork":true,"url":"https://api.github.com/repos/tarruda/neovim","forks_url":"https://api.github.com/repos/tarruda/neovim/forks","keys_url":"https://api.github.com/repos/tarruda/neovim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/tarruda/neovim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/tarruda/neovim/teams","hooks_url":"https://api.github.com/repos/tarruda/neovim/hooks","issue_events_url":"https://api.github.com/repos/tarruda/neovim/issues/events{/number}","events_url":"https://api.github.com/repos/tarruda/neovim/events","assignees_url":"https://api.github.com/repos/tarruda/neovim/assignees{/user}","branches_url":"https://api.github.com/repos/tarruda/neovim/branches{/branch}","tags_url":"https://api.github.com/repos/tarruda/neovim/tags","blobs_url":"https://api.github.com/repos/tarruda/neovim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/tarruda/neovim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/tarruda/neovim/git/refs{/sha}","trees_url":"https://api.github.com/repos/tarruda/neovim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/tarruda/neovim/statuses/{sha}","languages_url":"https://api.github.com/repos/tarruda/neovim/languages","stargazers_url":"https://api.github.com/repos/tarruda/neovim/stargazers","contributors_url":"https://api.github.com/repos/tarruda/neovim/contributors","subscribers_url":"https://api.github.com/repos/tarruda/neovim/subscribers","subscription_url":"https://api.github.com/repos/tarruda/neovim/subscription","commits_url":"https://api.github.com/repos/tarruda/neovim/commits{/sha}","git_commits_url":"https://api.github.com/repos/tarruda/neovim/git/commits{/sha}","comments_url":"https://api.github.com/repos/tarruda/neovim/comments{/number}","issue_comment_url":"https://api.github.com/repos/tarruda/neovim/issues/comments{/number}","contents_url":"https://api.github.com/repos/tarruda/neovim/contents/{+path}","compare_url":"https://api.github.com/repos/tarruda/neovim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/tarruda/neovim/merges","archive_url":"https://api.github.com/repos/tarruda/neovim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/tarruda/neovim/downloads","issues_url":"https://api.github.com/repos/tarruda/neovim/issues{/number}","pulls_url":"https://api.github.com/repos/tarruda/neovim/pulls{/number}","milestones_url":"https://api.github.com/repos/tarruda/neovim/milestones{/number}","notifications_url":"https://api.github.com/repos/tarruda/neovim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/tarruda/neovim/labels{/name}","releases_url":"https://api.github.com/repos/tarruda/neovim/releases{/id}","created_at":"2014-02-25T11:35:55Z","updated_at":"2014-12-23T20:52:21Z","pushed_at":"2015-03-18T10:15:58Z","git_url":"git://github.com/tarruda/neovim.git","ssh_url":"git@github.com:tarruda/neovim.git","clone_url":"https://github.com/tarruda/neovim.git","svn_url":"https://github.com/tarruda/neovim","homepage":"http://neovim.org/","size":36563,"stargazers_count":1,"watchers_count":1,"language":"C","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":1,"mirror_url":null,"open_issues_count":0,"forks":1,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"neovim:master","ref":"master","sha":"67f3ff3dff8c8b4b7d5e6a20e61790730b67a015","user":{"login":"neovim","id":6471485,"avatar_url":"https://avatars.githubusercontent.com/u/6471485?v=3","gravatar_id":"","url":"https://api.github.com/users/neovim","html_url":"https://github.com/neovim","followers_url":"https://api.github.com/users/neovim/followers","following_url":"https://api.github.com/users/neovim/following{/other_user}","gists_url":"https://api.github.com/users/neovim/gists{/gist_id}","starred_url":"https://api.github.com/users/neovim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neovim/subscriptions","organizations_url":"https://api.github.com/users/neovim/orgs","repos_url":"https://api.github.com/users/neovim/repos","events_url":"https://api.github.com/users/neovim/events{/privacy}","received_events_url":"https://api.github.com/users/neovim/received_events","type":"Organization","site_admin":false},"repo":{"id":16408992,"name":"neovim","full_name":"neovim/neovim","owner":{"login":"neovim","id":6471485,"avatar_url":"https://avatars.githubusercontent.com/u/6471485?v=3","gravatar_id":"","url":"https://api.github.com/users/neovim","html_url":"https://github.com/neovim","followers_url":"https://api.github.com/users/neovim/followers","following_url":"https://api.github.com/users/neovim/following{/other_user}","gists_url":"https://api.github.com/users/neovim/gists{/gist_id}","starred_url":"https://api.github.com/users/neovim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neovim/subscriptions","organizations_url":"https://api.github.com/users/neovim/orgs","repos_url":"https://api.github.com/users/neovim/repos","events_url":"https://api.github.com/users/neovim/events{/privacy}","received_events_url":"https://api.github.com/users/neovim/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/neovim/neovim","description":"vim out of the box","fork":false,"url":"https://api.github.com/repos/neovim/neovim","forks_url":"https://api.github.com/repos/neovim/neovim/forks","keys_url":"https://api.github.com/repos/neovim/neovim/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neovim/neovim/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neovim/neovim/teams","hooks_url":"https://api.github.com/repos/neovim/neovim/hooks","issue_events_url":"https://api.github.com/repos/neovim/neovim/issues/events{/number}","events_url":"https://api.github.com/repos/neovim/neovim/events","assignees_url":"https://api.github.com/repos/neovim/neovim/assignees{/user}","branches_url":"https://api.github.com/repos/neovim/neovim/branches{/branch}","tags_url":"https://api.github.com/repos/neovim/neovim/tags","blobs_url":"https://api.github.com/repos/neovim/neovim/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neovim/neovim/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neovim/neovim/git/refs{/sha}","trees_url":"https://api.github.com/repos/neovim/neovim/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neovim/neovim/statuses/{sha}","languages_url":"https://api.github.com/repos/neovim/neovim/languages","stargazers_url":"https://api.github.com/repos/neovim/neovim/stargazers","contributors_url":"https://api.github.com/repos/neovim/neovim/contributors","subscribers_url":"https://api.github.com/repos/neovim/neovim/subscribers","subscription_url":"https://api.github.com/repos/neovim/neovim/subscription","commits_url":"https://api.github.com/repos/neovim/neovim/commits{/sha}","git_commits_url":"https://api.github.com/repos/neovim/neovim/git/commits{/sha}","comments_url":"https://api.github.com/repos/neovim/neovim/comments{/number}","issue_comment_url":"https://api.github.com/repos/neovim/neovim/issues/comments{/number}","contents_url":"https://api.github.com/repos/neovim/neovim/contents/{+path}","compare_url":"https://api.github.com/repos/neovim/neovim/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neovim/neovim/merges","archive_url":"https://api.github.com/repos/neovim/neovim/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neovim/neovim/downloads","issues_url":"https://api.github.com/repos/neovim/neovim/issues{/number}","pulls_url":"https://api.github.com/repos/neovim/neovim/pulls{/number}","milestones_url":"https://api.github.com/repos/neovim/neovim/milestones{/number}","notifications_url":"https://api.github.com/repos/neovim/neovim/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neovim/neovim/labels{/name}","releases_url":"https://api.github.com/repos/neovim/neovim/releases{/id}","created_at":"2014-01-31T13:39:22Z","updated_at":"2015-03-18T10:10:54Z","pushed_at":"2015-03-18T10:10:53Z","git_url":"git://github.com/neovim/neovim.git","ssh_url":"git@github.com:neovim/neovim.git","clone_url":"https://github.com/neovim/neovim.git","svn_url":"https://github.com/neovim/neovim","homepage":"http://neovim.org","size":55025,"stargazers_count":12407,"watchers_count":12407,"language":"VimL","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":true,"forks_count":834,"mirror_url":null,"open_issues_count":396,"forks":834,"open_issues":396,"watchers":12407,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2146"},"html":{"href":"https://github.com/neovim/neovim/pull/2146"},"issue":{"href":"https://api.github.com/repos/neovim/neovim/issues/2146"},"comments":{"href":"https://api.github.com/repos/neovim/neovim/issues/2146/comments"},"review_comments":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2146/comments"},"review_comment":{"href":"https://api.github.com/repos/neovim/neovim/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/neovim/neovim/pulls/2146/commits"},"statuses":{"href":"https://api.github.com/repos/neovim/neovim/statuses/da143ad7878d1ee881d8799bb52ac1896a5bf104"}}}}