)]}'
{"rally-jobs/rally.yaml":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1364e6bdc71f662e5957311d649df1809b3fed69","unresolved":false,"context_lines":[{"line_number":245,"context_line":"      args:"},{"line_number":246,"context_line":"        sleep: 0.001"},{"line_number":247,"context_line":"      runner:"},{"line_number":248,"context_line":"        type: \"serial\""},{"line_number":249,"context_line":"        times: 20"},{"line_number":250,"context_line":"      sla:"},{"line_number":251,"context_line":"        failure_rate:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"da86d52c_63304be9","line":248,"updated":"2015-02-07 23:26:30.000000000","message":"add constant for duration test","commit_id":"58ce4054e186296ef2e9f5ef488716d5bd892a12"}],"rally/benchmark/runners/base.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"df16d7cce39a18b188d6ac3a0b29e4a101d63e1e","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    \"\"\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    CONFIG_SCHEMA \u003d {}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def __init__(self, task, config):"},{"line_number":161,"context_line":"        \"\"\"Runner constructor."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fa81d914_c52dfba9","line":159,"updated":"2015-01-30 16:30:22.000000000","message":"It will be nice to put here: \n\n\n  self.aborted \u003d False \n\n\nSo in benchmark engine we will be able to understand was this benchmark aborted or not.\n\n\nTake a look at my comment here:\n\nhttps://review.openstack.org/#/c/151678/2/rally/benchmark/runners/constant.py","commit_id":"3f66af335731ddeece5294670043c6ae310dacc7"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"634b882ec2d84783d7fb27f5e0fe1121808c8d02","unresolved":false,"context_lines":[{"line_number":156,"context_line":"    \"\"\""},{"line_number":157,"context_line":""},{"line_number":158,"context_line":"    CONFIG_SCHEMA \u003d {}"},{"line_number":159,"context_line":""},{"line_number":160,"context_line":"    def __init__(self, task, config):"},{"line_number":161,"context_line":"        \"\"\"Runner constructor."},{"line_number":162,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_24c1eb80","line":159,"in_reply_to":"fa81d914_c52dfba9","updated":"2015-02-02 10:54:55.000000000","message":"Done","commit_id":"3f66af335731ddeece5294670043c6ae310dacc7"}],"rally/benchmark/runners/constant.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"df16d7cce39a18b188d6ac3a0b29e4a101d63e1e","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        pool.join()"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def abort(self):"},{"line_number":189,"context_line":"        \"\"\"Abort the execution of further benchmark scenario iterations.\"\"\""},{"line_number":190,"context_line":"        self.aborted \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"fa81d914_2552573b","line":189,"updated":"2015-01-30 16:30:22.000000000","message":"So this method will be the same at least for: \n\nserial, constant, constant_for_duration -\u003e maybe it makes sense to move it to base class?\n\nAnd  override it only in case of failure","commit_id":"3f66af335731ddeece5294670043c6ae310dacc7"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"634b882ec2d84783d7fb27f5e0fe1121808c8d02","unresolved":false,"context_lines":[{"line_number":186,"context_line":"        pool.join()"},{"line_number":187,"context_line":""},{"line_number":188,"context_line":"    def abort(self):"},{"line_number":189,"context_line":"        \"\"\"Abort the execution of further benchmark scenario iterations.\"\"\""},{"line_number":190,"context_line":"        self.aborted \u003d True"}],"source_content_type":"text/x-python","patch_set":2,"id":"da86d52c_44bedf00","line":189,"in_reply_to":"fa81d914_2552573b","updated":"2015-02-02 10:54:55.000000000","message":"Done","commit_id":"3f66af335731ddeece5294670043c6ae310dacc7"}],"rally/benchmark/utils.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"90da27da50d7bd6b936b19b216a9ea9f2d8c5b13","unresolved":false,"context_lines":[{"line_number":160,"context_line":"def infinite_run_args_generator(args_func):"},{"line_number":161,"context_line":"    for i in itertools.count():"},{"line_number":162,"context_line":"        args \u003d args_func(i)"},{"line_number":163,"context_line":"        if args is None:"},{"line_number":164,"context_line":"            break"},{"line_number":165,"context_line":"        yield args_func(i)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_e3135b0b","line":163,"updated":"2015-02-08 00:22:37.000000000","message":"This code will be absolutely unclear for everybody. I believe that args_func(i) should just raise StopIteration if it want to stop this.","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"288892d30a9e11532dd9e0328d2393a38fb1c148","unresolved":false,"context_lines":[{"line_number":160,"context_line":"def infinite_run_args_generator(args_func):"},{"line_number":161,"context_line":"    for i in itertools.count():"},{"line_number":162,"context_line":"        args \u003d args_func(i)"},{"line_number":163,"context_line":"        if args is None:"},{"line_number":164,"context_line":"            break"},{"line_number":165,"context_line":"        yield args_func(i)"},{"line_number":166,"context_line":""}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_191c6013","line":163,"in_reply_to":"da86d52c_e3135b0b","updated":"2015-02-08 09:53:03.000000000","message":"Done","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"}],"tests/unit/benchmark/runners/test_base.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"90da27da50d7bd6b936b19b216a9ea9f2d8c5b13","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            jsonschema.ValidationError,"},{"line_number":269,"context_line":"            lambda: runner._send_result(mock.MagicMock()))"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    @mock.patch(\"rally.benchmark.runners.base.multiprocessing.Event\")"},{"line_number":272,"context_line":"    def test_abort(self, mock_event):"},{"line_number":273,"context_line":"        mock_event.return_value \u003d fakes.FakeEvent()"},{"line_number":274,"context_line":"        runner \u003d serial.SerialScenarioRunner("}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_83045fc7","line":271,"updated":"2015-02-08 00:22:37.000000000","message":"why you are mocking Event? use real Event here","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"288892d30a9e11532dd9e0328d2393a38fb1c148","unresolved":false,"context_lines":[{"line_number":268,"context_line":"            jsonschema.ValidationError,"},{"line_number":269,"context_line":"            lambda: runner._send_result(mock.MagicMock()))"},{"line_number":270,"context_line":""},{"line_number":271,"context_line":"    @mock.patch(\"rally.benchmark.runners.base.multiprocessing.Event\")"},{"line_number":272,"context_line":"    def test_abort(self, mock_event):"},{"line_number":273,"context_line":"        mock_event.return_value \u003d fakes.FakeEvent()"},{"line_number":274,"context_line":"        runner \u003d serial.SerialScenarioRunner("}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_79d2bc35","line":271,"in_reply_to":"da86d52c_83045fc7","updated":"2015-02-08 09:53:03.000000000","message":"Done","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"}],"tests/unit/benchmark/runners/test_constant.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"90da27da50d7bd6b936b19b216a9ea9f2d8c5b13","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                             \"do_it\", self.context, self.args)"},{"line_number":84,"context_line":"        self.assertEqual(len(runner.result_queue), 0)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    @mock.patch(\"rally.benchmark.runners.constant.multiprocessing.Event\")"},{"line_number":87,"context_line":"    def test_abort(self, mock_event):"},{"line_number":88,"context_line":"        mock_event.return_value \u003d fakes.FakeEvent()"},{"line_number":89,"context_line":"        runner \u003d constant.ConstantScenarioRunner(None, self.config)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_832b7f32","line":86,"updated":"2015-02-08 00:22:37.000000000","message":"why you are mocking event? don\u0027t do this..","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"288892d30a9e11532dd9e0328d2393a38fb1c148","unresolved":false,"context_lines":[{"line_number":83,"context_line":"                             \"do_it\", self.context, self.args)"},{"line_number":84,"context_line":"        self.assertEqual(len(runner.result_queue), 0)"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"    @mock.patch(\"rally.benchmark.runners.constant.multiprocessing.Event\")"},{"line_number":87,"context_line":"    def test_abort(self, mock_event):"},{"line_number":88,"context_line":"        mock_event.return_value \u003d fakes.FakeEvent()"},{"line_number":89,"context_line":"        runner \u003d constant.ConstantScenarioRunner(None, self.config)"}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_f9e5cc0a","line":86,"in_reply_to":"da86d52c_832b7f32","updated":"2015-02-08 09:53:03.000000000","message":"Done","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"}],"tests/unit/fakes.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"90da27da50d7bd6b936b19b216a9ea9f2d8c5b13","unresolved":false,"context_lines":[{"line_number":1402,"context_line":"        return self"},{"line_number":1403,"context_line":""},{"line_number":1404,"context_line":""},{"line_number":1405,"context_line":"class FakeEvent(object):"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def __init__(self):"},{"line_number":1408,"context_line":"        self.event_set \u003d False"}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_e32a7b2b","line":1405,"updated":"2015-02-08 00:22:37.000000000","message":"Remove this pls","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"},{"author":{"_account_id":8507,"name":"Mikhail Dubov","email":"mdubov@mirantis.com","username":"msdubov"},"change_message_id":"288892d30a9e11532dd9e0328d2393a38fb1c148","unresolved":false,"context_lines":[{"line_number":1402,"context_line":"        return self"},{"line_number":1403,"context_line":""},{"line_number":1404,"context_line":""},{"line_number":1405,"context_line":"class FakeEvent(object):"},{"line_number":1406,"context_line":""},{"line_number":1407,"context_line":"    def __init__(self):"},{"line_number":1408,"context_line":"        self.event_set \u003d False"}],"source_content_type":"text/x-python","patch_set":13,"id":"da86d52c_d9af2893","line":1405,"in_reply_to":"da86d52c_e32a7b2b","updated":"2015-02-08 09:53:03.000000000","message":"Done","commit_id":"fd37b76da81a48bf7ae9e9c9f36fdda3fd6e1ff7"}]}
