{"action":"created","comment":{"url":"https://api.github.com/repos/buildbot/buildbot/pulls/comments/70164544","id":70164544,"diff_hunk":"@@ -61,3 +61,18 @@ def closure(test):\n             test.skip = \"requires Python >= {0}\".format(min_version_info)\n         return test\n     return closure\n+\n+\n+def skipUnlessInstalled(module_name, error_message=None):\n+    if error_message is None:\n+        error_message = (\n+            \"module '{0}' is not available, \"\n+            \"install appropriate package\").format(module_name)\n+\n+    def closure(test):","path":"master/buildbot/test/util/decorators.py","position":12,"original_position":12,"commit_id":"64740863b316ace8f65ed72147a5d2aa10dc826f","original_commit_id":"64740863b316ace8f65ed72147a5d2aa10dc826f","user":{"login":"sa2ajj","id":447092,"avatar_url":"https://avatars.githubusercontent.com/u/447092?v=3","gravatar_id":"","url":"https://api.github.com/users/sa2ajj","html_url":"https://github.com/sa2ajj","followers_url":"https://api.github.com/users/sa2ajj/followers","following_url":"https://api.github.com/users/sa2ajj/following{/other_user}","gists_url":"https://api.github.com/users/sa2ajj/gists{/gist_id}","starred_url":"https://api.github.com/users/sa2ajj/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/sa2ajj/subscriptions","organizations_url":"https://api.github.com/users/sa2ajj/orgs","repos_url":"https://api.github.com/users/sa2ajj/repos","events_url":"https://api.github.com/users/sa2ajj/events{/privacy}","received_events_url":"https://api.github.com/users/sa2ajj/received_events","type":"User","site_admin":false},"body":"i'd use `functools.wraps` here.","created_at":"2016-07-09T08:52:25Z","updated_at":"2016-07-09T08:52:25Z","html_url":"https://github.com/buildbot/buildbot/pull/2136#discussion_r70164544","pull_request_url":"https://api.github.com/repos/buildbot/buildbot/pulls/2136","_links":{"self":{"href":"https://api.github.com/repos/buildbot/buildbot/pulls/comments/70164544"},"html":{"href":"https://github.com/buildbot/buildbot/pull/2136#discussion_r70164544"},"pull_request":{"href":"https://api.github.com/repos/buildbot/buildbot/pulls/2136"}}},"pull_request":{"url":"https://api.github.com/repos/buildbot/buildbot/pulls/2136","id":66952937,"html_url":"https://github.com/buildbot/buildbot/pull/2136","diff_url":"https://github.com/buildbot/buildbot/pull/2136.diff","patch_url":"https://github.com/buildbot/buildbot/pull/2136.patch","issue_url":"https://api.github.com/repos/buildbot/buildbot/issues/2136","number":2136,"state":"open","locked":false,"title":"POC e2e test","user":{"login":"rutsky","id":46573,"avatar_url":"https://avatars.githubusercontent.com/u/46573?v=3","gravatar_id":"","url":"https://api.github.com/users/rutsky","html_url":"https://github.com/rutsky","followers_url":"https://api.github.com/users/rutsky/followers","following_url":"https://api.github.com/users/rutsky/following{/other_user}","gists_url":"https://api.github.com/users/rutsky/gists{/gist_id}","starred_url":"https://api.github.com/users/rutsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rutsky/subscriptions","organizations_url":"https://api.github.com/users/rutsky/orgs","repos_url":"https://api.github.com/users/rutsky/repos","events_url":"https://api.github.com/users/rutsky/events{/privacy}","received_events_url":"https://api.github.com/users/rutsky/received_events","type":"User","site_admin":false},"body":"Based on PR #2134, which is based on #2105. Relevant changes: https://github.com/buildbot/buildbot/commit/df8900fb239afec7d924dff008a5d020e6749130\r\n\r\nPOC of e2e tests. Creates master, creates worker, starts master, starts worker, shutdowns worker, shutdowns master.\r\n","created_at":"2016-04-19T02:48:00Z","updated_at":"2016-07-09T08:52:25Z","closed_at":null,"merged_at":null,"merge_commit_sha":"8ade2c62f93ae977e33ffaeebe5306181209afd7","assignee":null,"assignees":[],"milestone":null,"commits_url":"https://api.github.com/repos/buildbot/buildbot/pulls/2136/commits","review_comments_url":"https://api.github.com/repos/buildbot/buildbot/pulls/2136/comments","review_comment_url":"https://api.github.com/repos/buildbot/buildbot/pulls/comments{/number}","comments_url":"https://api.github.com/repos/buildbot/buildbot/issues/2136/comments","statuses_url":"https://api.github.com/repos/buildbot/buildbot/statuses/64740863b316ace8f65ed72147a5d2aa10dc826f","head":{"label":"rutsky:simple-e2e-test","ref":"simple-e2e-test","sha":"64740863b316ace8f65ed72147a5d2aa10dc826f","user":{"login":"rutsky","id":46573,"avatar_url":"https://avatars.githubusercontent.com/u/46573?v=3","gravatar_id":"","url":"https://api.github.com/users/rutsky","html_url":"https://github.com/rutsky","followers_url":"https://api.github.com/users/rutsky/followers","following_url":"https://api.github.com/users/rutsky/following{/other_user}","gists_url":"https://api.github.com/users/rutsky/gists{/gist_id}","starred_url":"https://api.github.com/users/rutsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rutsky/subscriptions","organizations_url":"https://api.github.com/users/rutsky/orgs","repos_url":"https://api.github.com/users/rutsky/repos","events_url":"https://api.github.com/users/rutsky/events{/privacy}","received_events_url":"https://api.github.com/users/rutsky/received_events","type":"User","site_admin":false},"repo":{"id":48515771,"name":"buildbot","full_name":"rutsky/buildbot","owner":{"login":"rutsky","id":46573,"avatar_url":"https://avatars.githubusercontent.com/u/46573?v=3","gravatar_id":"","url":"https://api.github.com/users/rutsky","html_url":"https://github.com/rutsky","followers_url":"https://api.github.com/users/rutsky/followers","following_url":"https://api.github.com/users/rutsky/following{/other_user}","gists_url":"https://api.github.com/users/rutsky/gists{/gist_id}","starred_url":"https://api.github.com/users/rutsky/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/rutsky/subscriptions","organizations_url":"https://api.github.com/users/rutsky/orgs","repos_url":"https://api.github.com/users/rutsky/repos","events_url":"https://api.github.com/users/rutsky/events{/privacy}","received_events_url":"https://api.github.com/users/rutsky/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/rutsky/buildbot","description":"Python-based continuous integration testing framework; your pull requests are more than welcome!","fork":true,"url":"https://api.github.com/repos/rutsky/buildbot","forks_url":"https://api.github.com/repos/rutsky/buildbot/forks","keys_url":"https://api.github.com/repos/rutsky/buildbot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/rutsky/buildbot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/rutsky/buildbot/teams","hooks_url":"https://api.github.com/repos/rutsky/buildbot/hooks","issue_events_url":"https://api.github.com/repos/rutsky/buildbot/issues/events{/number}","events_url":"https://api.github.com/repos/rutsky/buildbot/events","assignees_url":"https://api.github.com/repos/rutsky/buildbot/assignees{/user}","branches_url":"https://api.github.com/repos/rutsky/buildbot/branches{/branch}","tags_url":"https://api.github.com/repos/rutsky/buildbot/tags","blobs_url":"https://api.github.com/repos/rutsky/buildbot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/rutsky/buildbot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/rutsky/buildbot/git/refs{/sha}","trees_url":"https://api.github.com/repos/rutsky/buildbot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/rutsky/buildbot/statuses/{sha}","languages_url":"https://api.github.com/repos/rutsky/buildbot/languages","stargazers_url":"https://api.github.com/repos/rutsky/buildbot/stargazers","contributors_url":"https://api.github.com/repos/rutsky/buildbot/contributors","subscribers_url":"https://api.github.com/repos/rutsky/buildbot/subscribers","subscription_url":"https://api.github.com/repos/rutsky/buildbot/subscription","commits_url":"https://api.github.com/repos/rutsky/buildbot/commits{/sha}","git_commits_url":"https://api.github.com/repos/rutsky/buildbot/git/commits{/sha}","comments_url":"https://api.github.com/repos/rutsky/buildbot/comments{/number}","issue_comment_url":"https://api.github.com/repos/rutsky/buildbot/issues/comments{/number}","contents_url":"https://api.github.com/repos/rutsky/buildbot/contents/{+path}","compare_url":"https://api.github.com/repos/rutsky/buildbot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/rutsky/buildbot/merges","archive_url":"https://api.github.com/repos/rutsky/buildbot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/rutsky/buildbot/downloads","issues_url":"https://api.github.com/repos/rutsky/buildbot/issues{/number}","pulls_url":"https://api.github.com/repos/rutsky/buildbot/pulls{/number}","milestones_url":"https://api.github.com/repos/rutsky/buildbot/milestones{/number}","notifications_url":"https://api.github.com/repos/rutsky/buildbot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/rutsky/buildbot/labels{/name}","releases_url":"https://api.github.com/repos/rutsky/buildbot/releases{/id}","deployments_url":"https://api.github.com/repos/rutsky/buildbot/deployments","created_at":"2015-12-23T23:45:15Z","updated_at":"2016-02-23T02:43:36Z","pushed_at":"2016-06-26T23:10:31Z","git_url":"git://github.com/rutsky/buildbot.git","ssh_url":"git@github.com:rutsky/buildbot.git","clone_url":"https://github.com/rutsky/buildbot.git","svn_url":"https://github.com/rutsky/buildbot","homepage":"http://buildbot.net","size":43994,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"buildbot:master","ref":"master","sha":"e9fa9e6a1ba9f6234ea3e309d86c01b44a64950b","user":{"login":"buildbot","id":324515,"avatar_url":"https://avatars.githubusercontent.com/u/324515?v=3","gravatar_id":"","url":"https://api.github.com/users/buildbot","html_url":"https://github.com/buildbot","followers_url":"https://api.github.com/users/buildbot/followers","following_url":"https://api.github.com/users/buildbot/following{/other_user}","gists_url":"https://api.github.com/users/buildbot/gists{/gist_id}","starred_url":"https://api.github.com/users/buildbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/buildbot/subscriptions","organizations_url":"https://api.github.com/users/buildbot/orgs","repos_url":"https://api.github.com/users/buildbot/repos","events_url":"https://api.github.com/users/buildbot/events{/privacy}","received_events_url":"https://api.github.com/users/buildbot/received_events","type":"Organization","site_admin":false},"repo":{"id":760165,"name":"buildbot","full_name":"buildbot/buildbot","owner":{"login":"buildbot","id":324515,"avatar_url":"https://avatars.githubusercontent.com/u/324515?v=3","gravatar_id":"","url":"https://api.github.com/users/buildbot","html_url":"https://github.com/buildbot","followers_url":"https://api.github.com/users/buildbot/followers","following_url":"https://api.github.com/users/buildbot/following{/other_user}","gists_url":"https://api.github.com/users/buildbot/gists{/gist_id}","starred_url":"https://api.github.com/users/buildbot/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/buildbot/subscriptions","organizations_url":"https://api.github.com/users/buildbot/orgs","repos_url":"https://api.github.com/users/buildbot/repos","events_url":"https://api.github.com/users/buildbot/events{/privacy}","received_events_url":"https://api.github.com/users/buildbot/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/buildbot/buildbot","description":"Python-based continuous integration testing framework; your pull requests are more than welcome!","fork":false,"url":"https://api.github.com/repos/buildbot/buildbot","forks_url":"https://api.github.com/repos/buildbot/buildbot/forks","keys_url":"https://api.github.com/repos/buildbot/buildbot/keys{/key_id}","collaborators_url":"https://api.github.com/repos/buildbot/buildbot/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/buildbot/buildbot/teams","hooks_url":"https://api.github.com/repos/buildbot/buildbot/hooks","issue_events_url":"https://api.github.com/repos/buildbot/buildbot/issues/events{/number}","events_url":"https://api.github.com/repos/buildbot/buildbot/events","assignees_url":"https://api.github.com/repos/buildbot/buildbot/assignees{/user}","branches_url":"https://api.github.com/repos/buildbot/buildbot/branches{/branch}","tags_url":"https://api.github.com/repos/buildbot/buildbot/tags","blobs_url":"https://api.github.com/repos/buildbot/buildbot/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/buildbot/buildbot/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/buildbot/buildbot/git/refs{/sha}","trees_url":"https://api.github.com/repos/buildbot/buildbot/git/trees{/sha}","statuses_url":"https://api.github.com/repos/buildbot/buildbot/statuses/{sha}","languages_url":"https://api.github.com/repos/buildbot/buildbot/languages","stargazers_url":"https://api.github.com/repos/buildbot/buildbot/stargazers","contributors_url":"https://api.github.com/repos/buildbot/buildbot/contributors","subscribers_url":"https://api.github.com/repos/buildbot/buildbot/subscribers","subscription_url":"https://api.github.com/repos/buildbot/buildbot/subscription","commits_url":"https://api.github.com/repos/buildbot/buildbot/commits{/sha}","git_commits_url":"https://api.github.com/repos/buildbot/buildbot/git/commits{/sha}","comments_url":"https://api.github.com/repos/buildbot/buildbot/comments{/number}","issue_comment_url":"https://api.github.com/repos/buildbot/buildbot/issues/comments{/number}","contents_url":"https://api.github.com/repos/buildbot/buildbot/contents/{+path}","compare_url":"https://api.github.com/repos/buildbot/buildbot/compare/{base}...{head}","merges_url":"https://api.github.com/repos/buildbot/buildbot/merges","archive_url":"https://api.github.com/repos/buildbot/buildbot/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/buildbot/buildbot/downloads","issues_url":"https://api.github.com/repos/buildbot/buildbot/issues{/number}","pulls_url":"https://api.github.com/repos/buildbot/buildbot/pulls{/number}","milestones_url":"https://api.github.com/repos/buildbot/buildbot/milestones{/number}","notifications_url":"https://api.github.com/repos/buildbot/buildbot/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/buildbot/buildbot/labels{/name}","releases_url":"https://api.github.com/repos/buildbot/buildbot/releases{/id}","deployments_url":"https://api.github.com/repos/buildbot/buildbot/deployments","created_at":"2010-07-06T17:56:53Z","updated_at":"2016-07-09T08:10:20Z","pushed_at":"2016-07-07T16:36:01Z","git_url":"git://github.com/buildbot/buildbot.git","ssh_url":"git@github.com:buildbot/buildbot.git","clone_url":"https://github.com/buildbot/buildbot.git","svn_url":"https://github.com/buildbot/buildbot","homepage":"http://buildbot.net","size":93415,"stargazers_count":2226,"watchers_count":2226,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":918,"mirror_url":null,"open_issues_count":12,"forks":918,"open_issues":12,"watchers":2226,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/buildbot/buildbot/pulls/2136"},"html":{"href":"https://github.com/buildbot/buildbot/pull/2136"},"issue":{"href":"https://api.github.com/repos/buildbot/buildbot/issues/2136"},"comments":{"href":"https://api.github.com/repos/buildbot/buildbot/issues/2136/comments"},"review_comments":{"href":"https://api.github.com/repos/buildbot/buildbot/pulls/2136/comments"},"review_comment":{"href":"https://api.github.com/repos/buildbot/buildbot/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/buildbot/buildbot/pulls/2136/commits"},"statuses":{"href":"https://api.github.com/repos/buildbot/buildbot/statuses/64740863b316ace8f65ed72147a5d2aa10dc826f"}}}}
{"actor":{"display_login":"sa2ajj"}}