)]}'
{"tempest/config.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"8afeb9e32d95921e7b7c63f26f12f6eed5da6ca8","unresolved":false,"context_lines":[{"line_number":535,"context_line":"                default\u003d[\u0027tempest.leaker.modules.api\u0027],"},{"line_number":536,"context_line":"                help\u003d\"leaker modules for parse\"),"},{"line_number":537,"context_line":"    cfg.StrOpt(\u0027limits\u0027,"},{"line_number":538,"context_line":"               default\u003d\u0027/etc/tempest/leak_limits.json\u0027,"},{"line_number":539,"context_line":"               help\u003d\"Additonal leaker config for violation testing\"),"},{"line_number":540,"context_line":"]"},{"line_number":541,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Ft2Y%3D","line":538,"updated":"2013-07-12 16:14:19.000000000","message":"Why is this different from the default in the sample conf file?","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f5a1eba5a2a85d906aa538d83dcf221216531240","unresolved":false,"context_lines":[{"line_number":535,"context_line":"                default\u003d[\u0027tempest.leaker.modules.api\u0027],"},{"line_number":536,"context_line":"                help\u003d\"leaker modules for parse\"),"},{"line_number":537,"context_line":"    cfg.StrOpt(\u0027limits\u0027,"},{"line_number":538,"context_line":"               default\u003d\u0027/etc/tempest/leak_limits.json\u0027,"},{"line_number":539,"context_line":"               help\u003d\"Additonal leaker config for violation testing\"),"},{"line_number":540,"context_line":"]"},{"line_number":541,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2FtAI%3D","line":538,"in_reply_to":"AAAAP3%2F%2Ft2Y%3D","updated":"2013-07-12 18:29:50.000000000","message":"It is a mistake.","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"}],"tempest/leaker/leaker.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"8afeb9e32d95921e7b7c63f26f12f6eed5da6ca8","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class LeakDetector(object):"},{"line_number":28,"context_line":"    \"\"\"Base class for leak detectors.\"\"\""},{"line_number":29,"context_line":"    def is_good_env(self, tempest_config):"},{"line_number":30,"context_line":"        \"\"\"Determinates is the current setup and envronment soutable for"},{"line_number":31,"context_line":"           this detector."},{"line_number":32,"context_line":"           :return: (boolean) true when this detector"}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Ft1s%3D","line":29,"updated":"2013-07-12 16:14:19.000000000","message":"Spelling","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"8afeb9e32d95921e7b7c63f26f12f6eed5da6ca8","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        raise NotImplemented"},{"line_number":40,"context_line":""},{"line_number":41,"context_line":"    def passive_validate(self, report_old, report_new, limits):"},{"line_number":42,"context_line":"        \"\"\"Usable for comparing two stored resource state."},{"line_number":43,"context_line":"           :retrun: generator function which provides the resource"},{"line_number":44,"context_line":"           overusage reports."},{"line_number":45,"context_line":"           \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Ft1g%3D","line":42,"updated":"2013-07-12 16:14:19.000000000","message":"Spelling","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"8afeb9e32d95921e7b7c63f26f12f6eed5da6ca8","unresolved":false,"context_lines":[{"line_number":48,"context_line":"    #NOTE(afazekas): The live validation might be able to provide"},{"line_number":49,"context_line":"    def live_validate(self, report, limits):"},{"line_number":50,"context_line":"        \"\"\"Usable for comparing a stored resource state with the"},{"line_number":51,"context_line":"           live system\u0027s resource usage."},{"line_number":52,"context_line":"           :retrun: generator function which provides the resource"},{"line_number":53,"context_line":"           overusage reports."},{"line_number":54,"context_line":"           \"\"\""}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Ft1Y%3D","line":51,"updated":"2013-07-12 16:14:19.000000000","message":"Spelling","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":13,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import tempest.config"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPgc%3D","line":15,"updated":"2013-08-04 14:43:59.000000000","message":"There\u0027s an extra newline at top of copyright, and the copyright is indented more than the usual copyright is indented...","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"ec08a6eb461a47dc53c7e960edcdd5ff7abc3896","unresolved":false,"context_lines":[{"line_number":12,"context_line":"#    distributed under the License is distributed on an \"AS IS\" BASIS, WITHOUT"},{"line_number":13,"context_line":"#    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the"},{"line_number":14,"context_line":"#    License for the specific language governing permissions and limitations"},{"line_number":15,"context_line":"#    under the License."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"import tempest.config"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPeo%3D","line":15,"in_reply_to":"AAAAQn%2F%2FPgc%3D","updated":"2013-08-04 14:48:17.000000000","message":"Never mind, I see the project has moved to removing the copyright part of the header...","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import inspect"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from contextlib import closing"},{"line_number":24,"context_line":"import sys"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class LeakDetector(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPgY%3D","line":24,"updated":"2013-08-04 14:43:59.000000000","message":"The above would not pass pep8 if added to the pep8 checks.","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"344b8e938a1c97d9d11855f82bff92e0841067c7","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import inspect"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"from contextlib import closing"},{"line_number":24,"context_line":"import sys"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"class LeakDetector(object):"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARH%2F%2Fytg%3D","line":24,"in_reply_to":"AAAAQn%2F%2FPgY%3D","updated":"2013-08-17 18:44:03.000000000","message":"It passes, we do not have import grouping rule, just alphabetic.","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":31,"context_line":"           this detector."},{"line_number":32,"context_line":"           :return: (boolean) true when this detector"},{"line_number":33,"context_line":"           usable in the current environment."},{"line_number":34,"context_line":"           \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def report(self):"},{"line_number":37,"context_line":"        \"\"\"Abstract method for reporting the current status."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPgU%3D","line":34,"updated":"2013-08-04 14:43:59.000000000","message":"Nit: the docstrings in this class don\u0027t follow the style rules in hacking.py","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":32,"context_line":"           :return: (boolean) true when this detector"},{"line_number":33,"context_line":"           usable in the current environment."},{"line_number":34,"context_line":"           \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def report(self):"},{"line_number":37,"context_line":"        \"\"\"Abstract method for reporting the current status."},{"line_number":38,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPgM%3D","line":35,"updated":"2013-08-04 14:43:59.000000000","message":"This method should at least have:\n\n pass","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"344b8e938a1c97d9d11855f82bff92e0841067c7","unresolved":false,"context_lines":[{"line_number":32,"context_line":"           :return: (boolean) true when this detector"},{"line_number":33,"context_line":"           usable in the current environment."},{"line_number":34,"context_line":"           \"\"\""},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"    def report(self):"},{"line_number":37,"context_line":"        \"\"\"Abstract method for reporting the current status."},{"line_number":38,"context_line":"        \"\"\""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARH%2F%2FytY%3D","line":35,"in_reply_to":"AAAAQn%2F%2FPgM%3D","updated":"2013-08-17 18:44:03.000000000","message":"Without report the class is useless.","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":45,"context_line":"           \"\"\""},{"line_number":46,"context_line":"        raise NotImplemented"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"    #NOTE(afazekas): The live validation might be able to provide"},{"line_number":49,"context_line":"    def live_validate(self, report, limits):"},{"line_number":50,"context_line":"        \"\"\"Usable for comparing a stored resource state with the"},{"line_number":51,"context_line":"           live system\u0027s resource usage."}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPgE%3D","line":48,"updated":"2013-08-04 14:43:59.000000000","message":"might be able to provide *what*? :)","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":49,"context_line":"    def live_validate(self, report, limits):"},{"line_number":50,"context_line":"        \"\"\"Usable for comparing a stored resource state with the"},{"line_number":51,"context_line":"           live system\u0027s resource usage."},{"line_number":52,"context_line":"           :retrun: generator function which provides the resource"},{"line_number":53,"context_line":"           over usage reports."},{"line_number":54,"context_line":"           \"\"\""},{"line_number":55,"context_line":"        return self.passive_validate(report, self.report(), limits)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPf4%3D","line":52,"updated":"2013-08-04 14:43:59.000000000","message":"s/retrun/return/","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        for element in report_new:"},{"line_number":61,"context_line":"            if element not in report_old:"},{"line_number":62,"context_line":"                yield (\"According to %s the %r leaked\" %"},{"line_number":63,"context_line":"                       (self.__class__.__name__, element))"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#TODO(afzekas): Add skip based on the limits configureation"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPgA%3D","line":63,"updated":"2013-08-04 14:43:59.000000000","message":"I\u0027m not a fan of this class. I don\u0027t see the point in making this a class when a simply function would suffice.","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"344b8e938a1c97d9d11855f82bff92e0841067c7","unresolved":false,"context_lines":[{"line_number":60,"context_line":"        for element in report_new:"},{"line_number":61,"context_line":"            if element not in report_old:"},{"line_number":62,"context_line":"                yield (\"According to %s the %r leaked\" %"},{"line_number":63,"context_line":"                       (self.__class__.__name__, element))"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#TODO(afzekas): Add skip based on the limits configureation"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAARH%2F%2FytU%3D","line":63,"in_reply_to":"AAAAQn%2F%2FPgA%3D","updated":"2013-08-17 18:44:03.000000000","message":"It is not just one method, it inherits from the base, and extended when used.\nIt just covers the simplest case.","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":63,"context_line":"                       (self.__class__.__name__, element))"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"#TODO(afzekas): Add skip based on the limits configureation"},{"line_number":67,"context_line":"def get_leaker_classes(modules):"},{"line_number":68,"context_line":"    for mname in modules:"},{"line_number":69,"context_line":"        __import__(mname, globals())"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPf8%3D","line":66,"updated":"2013-08-04 14:43:59.000000000","message":"s/configureation/configuration/","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":71,"context_line":"        mod \u003d sys.modules[mname]"},{"line_number":72,"context_line":"        klasses \u003d []"},{"line_number":73,"context_line":"        for _, memb in inspect.getmembers(mod):"},{"line_number":74,"context_line":"            #NOTE(afazekas): The currently used dynmic import does not works"},{"line_number":75,"context_line":"            # together with the issublass"},{"line_number":76,"context_line":"            if inspect.isclass(memb) and hasattr(memb, \u0027report\u0027):"},{"line_number":77,"context_line":"                klasses.append(memb)"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPf0%3D","line":74,"updated":"2013-08-04 14:43:59.000000000","message":"s/dynmic/dynamic/","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":72,"context_line":"        klasses \u003d []"},{"line_number":73,"context_line":"        for _, memb in inspect.getmembers(mod):"},{"line_number":74,"context_line":"            #NOTE(afazekas): The currently used dynmic import does not works"},{"line_number":75,"context_line":"            # together with the issublass"},{"line_number":76,"context_line":"            if inspect.isclass(memb) and hasattr(memb, \u0027report\u0027):"},{"line_number":77,"context_line":"                klasses.append(memb)"},{"line_number":78,"context_line":"    return klasses"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPfw%3D","line":75,"updated":"2013-08-04 14:43:59.000000000","message":"s/issublass/issubclass/","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":79,"context_line":""},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"def reports(klasses):"},{"line_number":82,"context_line":"    \"\"\":return: generator function for leakege reports.\"\"\""},{"line_number":83,"context_line":"    for klass in klasses:"},{"line_number":84,"context_line":"        yield (klass.__name__, klass().report())"},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPfs%3D","line":82,"updated":"2013-08-04 14:43:59.000000000","message":"s/leakege/leakage/","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"}],"tempest/leaker/modules/api.py":[{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"8afeb9e32d95921e7b7c63f26f12f6eed5da6ca8","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#NOTE(afazekas): The glance, quantum and keystone clients are able"},{"line_number":25,"context_line":"# to reuse exisitng tokens."},{"line_number":26,"context_line":"@misc.singleton"},{"line_number":27,"context_line":"def token_get():"},{"line_number":28,"context_line":"    identity \u003d tempest.config.TempestConfig().identity"},{"line_number":29,"context_line":"    client \u003d keystone.Client("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Ftj0%3D","line":26,"updated":"2013-07-12 16:14:19.000000000","message":"Where is this used?","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"f5a1eba5a2a85d906aa538d83dcf221216531240","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#NOTE(afazekas): The glance, quantum and keystone clients are able"},{"line_number":25,"context_line":"# to reuse exisitng tokens."},{"line_number":26,"context_line":"@misc.singleton"},{"line_number":27,"context_line":"def token_get():"},{"line_number":28,"context_line":"    identity \u003d tempest.config.TempestConfig().identity"},{"line_number":29,"context_line":"    client \u003d keystone.Client("}],"source_content_type":"text/x-python","patch_set":3,"id":"AAAAP3%2F%2Fs%2F0%3D","line":26,"in_reply_to":"AAAAP3%2F%2Ftj0%3D","updated":"2013-07-12 18:29:50.000000000","message":"Not in use yet, I will add some keystone example soon.","commit_id":"d4d616c2e41cc96584977977faac0caed7f07abd"},{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#NOTE(afazekas): The glance, quantum and keystone clients are able"},{"line_number":25,"context_line":"# to reuse exisitng tokens."},{"line_number":26,"context_line":"@misc.singleton"},{"line_number":27,"context_line":"def get_auth_ref():"},{"line_number":28,"context_line":"    identity \u003d tempest.config.TempestConfig().identity"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FPfg%3D","line":25,"updated":"2013-08-04 14:43:59.000000000","message":"s/exisitng/existing","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f94a63c0c273e41df11f6dc15b4b36fa3905206f","unresolved":false,"context_lines":[{"line_number":21,"context_line":"import novaclient.v1_1.client as novaclient"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# NOTE(afazekas): The glance, quantum and keystone clients are able"},{"line_number":25,"context_line":"# to reuse existing tokens."},{"line_number":26,"context_line":"@misc.singleton"},{"line_number":27,"context_line":"def get_auth_ref():"}],"source_content_type":"text/x-python","patch_set":8,"id":"AAAASn%2F%2FJA0%3D","line":24,"updated":"2013-09-11 11:39:52.000000000","message":"s/quantum/neutron ?","commit_id":"2740d32403d8c94162ac31c3d5ab9c0214029789"}],"tools/leaker_wrapper.sh":[{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f94a63c0c273e41df11f6dc15b4b36fa3905206f","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# The script expect it is called from the tempest root"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"TMP\u003d`mktemp`"},{"line_number":8,"context_line":"python -m tempest.leaker.leaker -o $TMP"},{"line_number":9,"context_line":"# Calling the original command with args considering whitespaces"},{"line_number":10,"context_line":"\"$@\""},{"line_number":11,"context_line":"retval\u003d$?"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAASn%2F%2FI9Y%3D","line":8,"updated":"2013-09-11 11:39:52.000000000","message":"How about checking the retval here?","commit_id":"2740d32403d8c94162ac31c3d5ab9c0214029789"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"9511375cbc8aa9c09a4ffce3f7b51aeec1ee575b","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# The script expect it is called from the tempest root"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"TMP\u003d`mktemp`"},{"line_number":8,"context_line":"python -m tempest.leaker.leaker -o $TMP"},{"line_number":9,"context_line":"# Calling the original command with args considering whitespaces"},{"line_number":10,"context_line":"\"$@\""},{"line_number":11,"context_line":"retval\u003d$?"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAASn%2F%2FIJ8%3D","line":8,"in_reply_to":"AAAASn%2F%2FI9Y%3D","updated":"2013-09-11 14:25:52.000000000","message":"I am checking 2 retval and both needs to be successful.\n\nI would like to run the second phase even if the first failed.","commit_id":"2740d32403d8c94162ac31c3d5ab9c0214029789"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"8c9571bda4fde758263e27a3e79a1a07bd309dc8","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# The script expect it is called from the tempest root"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"TMP\u003d`mktemp`"},{"line_number":8,"context_line":"python -m tempest.leaker.leaker -o $TMP"},{"line_number":9,"context_line":"# Calling the original command with args considering whitespaces"},{"line_number":10,"context_line":"\"$@\""},{"line_number":11,"context_line":"retval\u003d$?"}],"source_content_type":"text/x-sh","patch_set":8,"id":"AAAASn%2F%2FIBc%3D","line":8,"in_reply_to":"AAAASn%2F%2FIJ8%3D","updated":"2013-09-11 15:21:58.000000000","message":"OK, I got it.","commit_id":"2740d32403d8c94162ac31c3d5ab9c0214029789"}],"tox.ini":[{"author":{"_account_id":7,"name":"Jay Pipes","email":"jaypipes@gmail.com","username":"jaypipes"},"change_message_id":"f37520a82a9b35ce5102fded4db1470892465a14","unresolved":false,"context_lines":[{"line_number":56,"context_line":"   bash tools/leaker_wrapper.sh nosetests --logging-format \u0027%(asctime)-15s %(message)s\u0027 --with-xunit --xunit-file\u003dnosetests-full.xml -sv tempest/api tempest/scenario tempest/thirdparty tempest/cli"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"[testenv:stress]"},{"line_number":59,"context_line":"sitepackages \u003d True"},{"line_number":60,"context_line":"setenv \u003d VIRTUAL_ENV\u003d{envdir}"},{"line_number":61,"context_line":"commands \u003d"},{"line_number":62,"context_line":"    python -m tempest/stress/run_stress tempest/stress/etc/stress-tox-job.json -d 3600"}],"source_content_type":"text/x-properties","patch_set":6,"id":"AAAAQn%2F%2FPfE%3D","line":59,"updated":"2013-08-04 14:43:59.000000000","message":"You will want to add tempest/leaker/ to the pep8 check directories.","commit_id":"0e1468dedc2233ddb1ed2a63248a473cd829b13c"}]}
