)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"c1d3d34ba48ec5bd28766ad5335445673b7d71d9","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mh Raies \u003cmh.raies@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-22 17:10:52 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix setup failure"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes LP bug #1268852"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BuEs%3D","line":7,"updated":"2014-01-22 20:23:35.000000000","message":"This commit message is woefully non-descriptive.\n\nWhich setup is failing? What is failing about it? Why did you use this particular method of fixing the issues? All of these kinds of things should be in the commit message, including a brief summary of the bug conditions. Do not assume the reviewers know what this bug is about.\n\nPlease read thoroughly https://wiki.openstack.org/wiki/GitCommitMessages for understanding good commit message practices.","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"4a895fd6ef024c7d28745bd9988d9aabc9ae9608","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Mh Raies \u003cmh.raies@nectechnologies.in\u003e"},{"line_number":5,"context_line":"CommitDate: 2014-01-22 17:10:52 +0530"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix setup failure"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Fixes LP bug #1268852"},{"line_number":10,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"AAAAUH%2F%2BsV8%3D","line":7,"in_reply_to":"AAAAUH%2F%2BuEs%3D","updated":"2014-01-23 04:28:21.000000000","message":"Will be taken care in next patch","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"}],"tempest/api/network/base.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"46917d0ec8d86abe0740fa560abfca824ddce15d","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @classmethod"},{"line_number":72,"context_line":"    def tearDownClass(cls):"},{"line_number":73,"context_line":"        # Clean up ike policies"},{"line_number":74,"context_line":"        for ikepolicy in cls.ikepolicies:"},{"line_number":75,"context_line":"            cls.client.delete_ikepolicy(ikepolicy[\u0027id\u0027])"},{"line_number":76,"context_line":"        # Clean up vpn services"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BuRQ%3D","line":73,"updated":"2014-01-22 19:39:01.000000000","message":"also as the tests are pointing out, you need to check if every single attribute exists (ie was set on the setUpClass) cause if the second set fails, the third will not exist in the class during this tearDown. hasattr should do the work","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"4a895fd6ef024c7d28745bd9988d9aabc9ae9608","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    @classmethod"},{"line_number":72,"context_line":"    def tearDownClass(cls):"},{"line_number":73,"context_line":"        # Clean up ike policies"},{"line_number":74,"context_line":"        for ikepolicy in cls.ikepolicies:"},{"line_number":75,"context_line":"            cls.client.delete_ikepolicy(ikepolicy[\u0027id\u0027])"},{"line_number":76,"context_line":"        # Clean up vpn services"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BsVc%3D","line":73,"in_reply_to":"AAAAUH%2F%2BuRQ%3D","updated":"2014-01-23 04:28:21.000000000","message":"I didn\u0027t get this please explain a bit more.","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"382a756bf92d85f5101fd52ea064b42265ffc6da","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"def clear_setup(func):"},{"line_number":273,"context_line":"    \"\"\""},{"line_number":274,"context_line":"    Returns a decorator to cleaup is any problem occur in setup."},{"line_number":275,"context_line":"    \"\"\""},{"line_number":276,"context_line":"    def decorating_func(cls):"},{"line_number":277,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BuXc%3D","line":274,"updated":"2014-01-22 19:29:17.000000000","message":"typos: s/cleaup is/cleanup if/","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"4a895fd6ef024c7d28745bd9988d9aabc9ae9608","unresolved":false,"context_lines":[{"line_number":271,"context_line":""},{"line_number":272,"context_line":"def clear_setup(func):"},{"line_number":273,"context_line":"    \"\"\""},{"line_number":274,"context_line":"    Returns a decorator to cleaup is any problem occur in setup."},{"line_number":275,"context_line":"    \"\"\""},{"line_number":276,"context_line":"    def decorating_func(cls):"},{"line_number":277,"context_line":"        try:"}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BsV0%3D","line":274,"in_reply_to":"AAAAUH%2F%2BuXc%3D","updated":"2014-01-23 04:28:21.000000000","message":"Will be taken care in next patch set.","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"9d7ca647577a41d0cb56338c182a19b7b2fc9de9","unresolved":false,"context_lines":[{"line_number":276,"context_line":"    def decorating_func(cls):"},{"line_number":277,"context_line":"        try:"},{"line_number":278,"context_line":"            func(cls)"},{"line_number":279,"context_line":"        except Exception as ex:"},{"line_number":280,"context_line":"            cls.tearDownClass()"},{"line_number":281,"context_line":"            raise ex"},{"line_number":282,"context_line":"    return decorating_func"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BsKM%3D","line":279,"updated":"2014-01-23 06:19:53.000000000","message":"This is not an acceptable approach to handling errors. If things fail during setUpClass() then something really went wrong, the config file is misconfigured, or there is a bug test file that should be fixed. Just calling tearDownClass on an exception is not the right solution, all this decorator will do is mask bugs and not actually help.\n\nIf your worried about dangling resources just use a specific try except block around the resource creation. But, a failure like that shouldn\u0027t happen, if you\u0027re doing something in setUpClass that you expect to fail maybe it shouldn\u0027t be part of the pre-test setUp and rather it should be it\u0027s own test. \n\nAdditionally, you can use addCleanup (although not from setUpClass) to ensure that any created resources get cleaned up properly even in the event of an error.","commit_id":"61240190696aaac2d0a8df56b59824aedf83ee22"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"c8f4051b52009a3a11f952a755d6d9187211d9a1","unresolved":false,"context_lines":[{"line_number":276,"context_line":"    def decorating_func(cls):"},{"line_number":277,"context_line":"        try:"},{"line_number":278,"context_line":"            func(cls)"},{"line_number":279,"context_line":"        except Exception as ex:"},{"line_number":280,"context_line":"            cls.tearDownClass()"},{"line_number":281,"context_line":"            raise ex"},{"line_number":282,"context_line":"    return decorating_func"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Br7c%3D","line":279,"in_reply_to":"AAAAUH%2F%2BsKM%3D","updated":"2014-01-23 07:14:09.000000000","message":"Agreed.\nBetter would be to use try except block around the resource creation.","commit_id":"61240190696aaac2d0a8df56b59824aedf83ee22"}],"tempest/api/network/test_vpnaas_extensions.py":[{"author":{"_account_id":5174,"name":"Mauro Sergio Martins Rodrigues","email":"maurosr@linux.vnet.ibm.com","username":"maurosr"},"change_message_id":"382a756bf92d85f5101fd52ea064b42265ffc6da","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from tempest.api.network import base"},{"line_number":17,"context_line":"from tempest.api.network.base import clear_setup"},{"line_number":18,"context_line":"from tempest.common.utils import data_utils"},{"line_number":19,"context_line":"from tempest import test"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BuXA%3D","line":17,"updated":"2014-01-22 19:29:17.000000000","message":"not necessary, use base.clear_setup instead","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"4a895fd6ef024c7d28745bd9988d9aabc9ae9608","unresolved":false,"context_lines":[{"line_number":14,"context_line":"#    under the License."},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"from tempest.api.network import base"},{"line_number":17,"context_line":"from tempest.api.network.base import clear_setup"},{"line_number":18,"context_line":"from tempest.common.utils import data_utils"},{"line_number":19,"context_line":"from tempest import test"},{"line_number":20,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"AAAAUH%2F%2BsVU%3D","line":17,"in_reply_to":"AAAAUH%2F%2BuXA%3D","updated":"2014-01-23 04:28:21.000000000","message":"Will be taken care in next patch","commit_id":"7a1caf3407a4a4ac83f34f3cef2cce62b2cf90b7"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"9d7ca647577a41d0cb56338c182a19b7b2fc9de9","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @classmethod"},{"line_number":37,"context_line":"    @base.clear_setup"},{"line_number":38,"context_line":"    def setUpClass(cls):"},{"line_number":39,"context_line":"        super(VPNaaSJSON, cls).setUpClass()"},{"line_number":40,"context_line":"        if not test.is_extension_enabled(\u0027vpnaas\u0027, \u0027network\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2BsDk%3D","line":37,"updated":"2014-01-23 06:19:53.000000000","message":"This doesn\u0027t actually fix the underlying bug here. The issue is that the super call below actually creates resources during the IsolatedCreds call. See:\nhttps://review.openstack.org/68561","commit_id":"61240190696aaac2d0a8df56b59824aedf83ee22"},{"author":{"_account_id":8205,"name":"Mh Raies","email":"raiesmh08@gmail.com","username":"raiesmh08"},"change_message_id":"c8f4051b52009a3a11f952a755d6d9187211d9a1","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    @classmethod"},{"line_number":37,"context_line":"    @base.clear_setup"},{"line_number":38,"context_line":"    def setUpClass(cls):"},{"line_number":39,"context_line":"        super(VPNaaSJSON, cls).setUpClass()"},{"line_number":40,"context_line":"        if not test.is_extension_enabled(\u0027vpnaas\u0027, \u0027network\u0027):"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAUH%2F%2Br7o%3D","line":37,"in_reply_to":"AAAAUH%2F%2BsDk%3D","updated":"2014-01-23 07:14:09.000000000","message":"Agreed","commit_id":"61240190696aaac2d0a8df56b59824aedf83ee22"}]}
