{"action":"created","comment":{"url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/comments/52341136","id":52341136,"diff_hunk":"@@ -1752,9 +1712,20 @@ def test_failure_threshold_deletions(self):\n             self.assertTrue(failed, \"Cannot find tombstone failure threshold error in log for {} node\".format((\"upgraded\" if is_upgraded else \"old\")))\n \n \n-class TestPagingWithDeletionsNodes3RF3(TestPagingWithDeletions):\n-    NODES, RF, __test__, CL = 3, 3, True, CL.ALL\n-\n-\n-class TestPagingWithDeletionsNodes2RF1(TestPagingWithDeletions):\n-    NODES, RF, __test__ = 2, 1, True\n+for klaus in BasePagingTester.__subclasses__():","path":"upgrade_tests/paging_test.py","position":85,"original_position":85,"commit_id":"bf9f481a064c548d86bb32f06199374f20fa2835","original_commit_id":"d1b5e34601ffe3a240937825cfa309d22cb0391d","user":{"login":"mambocab","id":3753769,"avatar_url":"https://avatars.githubusercontent.com/u/3753769?v=3","gravatar_id":"","url":"https://api.github.com/users/mambocab","html_url":"https://github.com/mambocab","followers_url":"https://api.github.com/users/mambocab/followers","following_url":"https://api.github.com/users/mambocab/following{/other_user}","gists_url":"https://api.github.com/users/mambocab/gists{/gist_id}","starred_url":"https://api.github.com/users/mambocab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mambocab/subscriptions","organizations_url":"https://api.github.com/users/mambocab/orgs","repos_url":"https://api.github.com/users/mambocab/repos","events_url":"https://api.github.com/users/mambocab/events{/privacy}","received_events_url":"https://api.github.com/users/mambocab/received_events","type":"User","site_admin":false},"body":"Yeah! Haven't used `abc` for anything particularly fancy, but this is a really useful use case.\r\n\r\nAnd for excluding classes: if nothing else, we can do stuff post-test-class-generation, e.g. `TestClassWeDontWantToRun.__test__ = False` or  `TestClass.test_we_dont_want_to_run = unittest.skip(TestClass.test_we_dont_want_to_run)`.\r\n\r\nI guess there's a bigger code-style debate -- should \"don't run this test under condition X\" logic live in in the test-class-generation code, or should we, e.g., create decorators to annotate tests? I lean toward the latter, even though it involves a little more machinery, because it makes the code document the test as well as skip it.","created_at":"2016-02-09T17:20:23Z","updated_at":"2016-02-09T17:20:23Z","html_url":"https://github.com/riptano/cassandra-dtest/pull/787#discussion_r52341136","pull_request_url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787","_links":{"self":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/comments/52341136"},"html":{"href":"https://github.com/riptano/cassandra-dtest/pull/787#discussion_r52341136"},"pull_request":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787"}}},"pull_request":{"url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787","id":58175348,"html_url":"https://github.com/riptano/cassandra-dtest/pull/787","diff_url":"https://github.com/riptano/cassandra-dtest/pull/787.diff","patch_url":"https://github.com/riptano/cassandra-dtest/pull/787.patch","issue_url":"https://api.github.com/repos/riptano/cassandra-dtest/issues/787","number":787,"state":"open","locked":false,"title":"Generate upgrade topology classes","user":{"login":"mambocab","id":3753769,"avatar_url":"https://avatars.githubusercontent.com/u/3753769?v=3","gravatar_id":"","url":"https://api.github.com/users/mambocab","html_url":"https://github.com/mambocab","followers_url":"https://api.github.com/users/mambocab/followers","following_url":"https://api.github.com/users/mambocab/following{/other_user}","gists_url":"https://api.github.com/users/mambocab/gists{/gist_id}","starred_url":"https://api.github.com/users/mambocab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mambocab/subscriptions","organizations_url":"https://api.github.com/users/mambocab/orgs","repos_url":"https://api.github.com/users/mambocab/repos","events_url":"https://api.github.com/users/mambocab/events{/privacy}","received_events_url":"https://api.github.com/users/mambocab/received_events","type":"User","site_admin":false},"body":"This depends on #784 (perhaps unnecessarily?), so wait until that's merged. This consolidates class generation for the `upgrade_tests/` test suite, which will make it easier to add further test-generation logic to run the tests over upgraded and mixed-version clusters.","created_at":"2016-02-03T17:56:18Z","updated_at":"2016-02-09T17:20:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"eb1a66163b488e9d01e71eeece29135dd008d76d","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787/commits","review_comments_url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787/comments","review_comment_url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/comments{/number}","comments_url":"https://api.github.com/repos/riptano/cassandra-dtest/issues/787/comments","statuses_url":"https://api.github.com/repos/riptano/cassandra-dtest/statuses/bf9f481a064c548d86bb32f06199374f20fa2835","head":{"label":"mambocab:generate-upgrade-topology-classes","ref":"generate-upgrade-topology-classes","sha":"bf9f481a064c548d86bb32f06199374f20fa2835","user":{"login":"mambocab","id":3753769,"avatar_url":"https://avatars.githubusercontent.com/u/3753769?v=3","gravatar_id":"","url":"https://api.github.com/users/mambocab","html_url":"https://github.com/mambocab","followers_url":"https://api.github.com/users/mambocab/followers","following_url":"https://api.github.com/users/mambocab/following{/other_user}","gists_url":"https://api.github.com/users/mambocab/gists{/gist_id}","starred_url":"https://api.github.com/users/mambocab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mambocab/subscriptions","organizations_url":"https://api.github.com/users/mambocab/orgs","repos_url":"https://api.github.com/users/mambocab/repos","events_url":"https://api.github.com/users/mambocab/events{/privacy}","received_events_url":"https://api.github.com/users/mambocab/received_events","type":"User","site_admin":false},"repo":{"id":31236640,"name":"cassandra-dtest","full_name":"mambocab/cassandra-dtest","owner":{"login":"mambocab","id":3753769,"avatar_url":"https://avatars.githubusercontent.com/u/3753769?v=3","gravatar_id":"","url":"https://api.github.com/users/mambocab","html_url":"https://github.com/mambocab","followers_url":"https://api.github.com/users/mambocab/followers","following_url":"https://api.github.com/users/mambocab/following{/other_user}","gists_url":"https://api.github.com/users/mambocab/gists{/gist_id}","starred_url":"https://api.github.com/users/mambocab/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mambocab/subscriptions","organizations_url":"https://api.github.com/users/mambocab/orgs","repos_url":"https://api.github.com/users/mambocab/repos","events_url":"https://api.github.com/users/mambocab/events{/privacy}","received_events_url":"https://api.github.com/users/mambocab/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mambocab/cassandra-dtest","description":"Cassandra Distributed Tests","fork":true,"url":"https://api.github.com/repos/mambocab/cassandra-dtest","forks_url":"https://api.github.com/repos/mambocab/cassandra-dtest/forks","keys_url":"https://api.github.com/repos/mambocab/cassandra-dtest/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mambocab/cassandra-dtest/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mambocab/cassandra-dtest/teams","hooks_url":"https://api.github.com/repos/mambocab/cassandra-dtest/hooks","issue_events_url":"https://api.github.com/repos/mambocab/cassandra-dtest/issues/events{/number}","events_url":"https://api.github.com/repos/mambocab/cassandra-dtest/events","assignees_url":"https://api.github.com/repos/mambocab/cassandra-dtest/assignees{/user}","branches_url":"https://api.github.com/repos/mambocab/cassandra-dtest/branches{/branch}","tags_url":"https://api.github.com/repos/mambocab/cassandra-dtest/tags","blobs_url":"https://api.github.com/repos/mambocab/cassandra-dtest/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mambocab/cassandra-dtest/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mambocab/cassandra-dtest/git/refs{/sha}","trees_url":"https://api.github.com/repos/mambocab/cassandra-dtest/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mambocab/cassandra-dtest/statuses/{sha}","languages_url":"https://api.github.com/repos/mambocab/cassandra-dtest/languages","stargazers_url":"https://api.github.com/repos/mambocab/cassandra-dtest/stargazers","contributors_url":"https://api.github.com/repos/mambocab/cassandra-dtest/contributors","subscribers_url":"https://api.github.com/repos/mambocab/cassandra-dtest/subscribers","subscription_url":"https://api.github.com/repos/mambocab/cassandra-dtest/subscription","commits_url":"https://api.github.com/repos/mambocab/cassandra-dtest/commits{/sha}","git_commits_url":"https://api.github.com/repos/mambocab/cassandra-dtest/git/commits{/sha}","comments_url":"https://api.github.com/repos/mambocab/cassandra-dtest/comments{/number}","issue_comment_url":"https://api.github.com/repos/mambocab/cassandra-dtest/issues/comments{/number}","contents_url":"https://api.github.com/repos/mambocab/cassandra-dtest/contents/{+path}","compare_url":"https://api.github.com/repos/mambocab/cassandra-dtest/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mambocab/cassandra-dtest/merges","archive_url":"https://api.github.com/repos/mambocab/cassandra-dtest/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mambocab/cassandra-dtest/downloads","issues_url":"https://api.github.com/repos/mambocab/cassandra-dtest/issues{/number}","pulls_url":"https://api.github.com/repos/mambocab/cassandra-dtest/pulls{/number}","milestones_url":"https://api.github.com/repos/mambocab/cassandra-dtest/milestones{/number}","notifications_url":"https://api.github.com/repos/mambocab/cassandra-dtest/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mambocab/cassandra-dtest/labels{/name}","releases_url":"https://api.github.com/repos/mambocab/cassandra-dtest/releases{/id}","deployments_url":"https://api.github.com/repos/mambocab/cassandra-dtest/deployments","created_at":"2015-02-23T23:58:43Z","updated_at":"2015-03-20T18:05:58Z","pushed_at":"2016-02-09T17:03:52Z","git_url":"git://github.com/mambocab/cassandra-dtest.git","ssh_url":"git@github.com:mambocab/cassandra-dtest.git","clone_url":"https://github.com/mambocab/cassandra-dtest.git","svn_url":"https://github.com/mambocab/cassandra-dtest","homepage":"","size":13797,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":1,"forks":0,"open_issues":1,"watchers":0,"default_branch":"master"}},"base":{"label":"riptano:master","ref":"master","sha":"81ac9bc2f4d4d44c81f4dfd1876b463394caf0ae","user":{"login":"riptano","id":275430,"avatar_url":"https://avatars.githubusercontent.com/u/275430?v=3","gravatar_id":"","url":"https://api.github.com/users/riptano","html_url":"https://github.com/riptano","followers_url":"https://api.github.com/users/riptano/followers","following_url":"https://api.github.com/users/riptano/following{/other_user}","gists_url":"https://api.github.com/users/riptano/gists{/gist_id}","starred_url":"https://api.github.com/users/riptano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/riptano/subscriptions","organizations_url":"https://api.github.com/users/riptano/orgs","repos_url":"https://api.github.com/users/riptano/repos","events_url":"https://api.github.com/users/riptano/events{/privacy}","received_events_url":"https://api.github.com/users/riptano/received_events","type":"Organization","site_admin":false},"repo":{"id":2674774,"name":"cassandra-dtest","full_name":"riptano/cassandra-dtest","owner":{"login":"riptano","id":275430,"avatar_url":"https://avatars.githubusercontent.com/u/275430?v=3","gravatar_id":"","url":"https://api.github.com/users/riptano","html_url":"https://github.com/riptano","followers_url":"https://api.github.com/users/riptano/followers","following_url":"https://api.github.com/users/riptano/following{/other_user}","gists_url":"https://api.github.com/users/riptano/gists{/gist_id}","starred_url":"https://api.github.com/users/riptano/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/riptano/subscriptions","organizations_url":"https://api.github.com/users/riptano/orgs","repos_url":"https://api.github.com/users/riptano/repos","events_url":"https://api.github.com/users/riptano/events{/privacy}","received_events_url":"https://api.github.com/users/riptano/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/riptano/cassandra-dtest","description":"Cassandra Distributed Tests","fork":false,"url":"https://api.github.com/repos/riptano/cassandra-dtest","forks_url":"https://api.github.com/repos/riptano/cassandra-dtest/forks","keys_url":"https://api.github.com/repos/riptano/cassandra-dtest/keys{/key_id}","collaborators_url":"https://api.github.com/repos/riptano/cassandra-dtest/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/riptano/cassandra-dtest/teams","hooks_url":"https://api.github.com/repos/riptano/cassandra-dtest/hooks","issue_events_url":"https://api.github.com/repos/riptano/cassandra-dtest/issues/events{/number}","events_url":"https://api.github.com/repos/riptano/cassandra-dtest/events","assignees_url":"https://api.github.com/repos/riptano/cassandra-dtest/assignees{/user}","branches_url":"https://api.github.com/repos/riptano/cassandra-dtest/branches{/branch}","tags_url":"https://api.github.com/repos/riptano/cassandra-dtest/tags","blobs_url":"https://api.github.com/repos/riptano/cassandra-dtest/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/riptano/cassandra-dtest/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/riptano/cassandra-dtest/git/refs{/sha}","trees_url":"https://api.github.com/repos/riptano/cassandra-dtest/git/trees{/sha}","statuses_url":"https://api.github.com/repos/riptano/cassandra-dtest/statuses/{sha}","languages_url":"https://api.github.com/repos/riptano/cassandra-dtest/languages","stargazers_url":"https://api.github.com/repos/riptano/cassandra-dtest/stargazers","contributors_url":"https://api.github.com/repos/riptano/cassandra-dtest/contributors","subscribers_url":"https://api.github.com/repos/riptano/cassandra-dtest/subscribers","subscription_url":"https://api.github.com/repos/riptano/cassandra-dtest/subscription","commits_url":"https://api.github.com/repos/riptano/cassandra-dtest/commits{/sha}","git_commits_url":"https://api.github.com/repos/riptano/cassandra-dtest/git/commits{/sha}","comments_url":"https://api.github.com/repos/riptano/cassandra-dtest/comments{/number}","issue_comment_url":"https://api.github.com/repos/riptano/cassandra-dtest/issues/comments{/number}","contents_url":"https://api.github.com/repos/riptano/cassandra-dtest/contents/{+path}","compare_url":"https://api.github.com/repos/riptano/cassandra-dtest/compare/{base}...{head}","merges_url":"https://api.github.com/repos/riptano/cassandra-dtest/merges","archive_url":"https://api.github.com/repos/riptano/cassandra-dtest/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/riptano/cassandra-dtest/downloads","issues_url":"https://api.github.com/repos/riptano/cassandra-dtest/issues{/number}","pulls_url":"https://api.github.com/repos/riptano/cassandra-dtest/pulls{/number}","milestones_url":"https://api.github.com/repos/riptano/cassandra-dtest/milestones{/number}","notifications_url":"https://api.github.com/repos/riptano/cassandra-dtest/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/riptano/cassandra-dtest/labels{/name}","releases_url":"https://api.github.com/repos/riptano/cassandra-dtest/releases{/id}","deployments_url":"https://api.github.com/repos/riptano/cassandra-dtest/deployments","created_at":"2011-10-30T11:15:44Z","updated_at":"2015-12-23T10:09:34Z","pushed_at":"2016-02-09T17:03:52Z","git_url":"git://github.com/riptano/cassandra-dtest.git","ssh_url":"git@github.com:riptano/cassandra-dtest.git","clone_url":"https://github.com/riptano/cassandra-dtest.git","svn_url":"https://github.com/riptano/cassandra-dtest","homepage":"","size":14366,"stargazers_count":70,"watchers_count":70,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":53,"mirror_url":null,"open_issues_count":50,"forks":53,"open_issues":50,"watchers":70,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787"},"html":{"href":"https://github.com/riptano/cassandra-dtest/pull/787"},"issue":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/issues/787"},"comments":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/issues/787/comments"},"review_comments":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787/comments"},"review_comment":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/pulls/787/commits"},"statuses":{"href":"https://api.github.com/repos/riptano/cassandra-dtest/statuses/bf9f481a064c548d86bb32f06199374f20fa2835"}}}}