)]}'
{"subunit2sql/db/api.py":[{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"d247c1da2516cc2a68e3f32c85e278a4e15b7689","unresolved":false,"context_lines":[{"line_number":681,"context_line":"    session \u003d session or get_session()"},{"line_number":682,"context_line":"    query \u003d db_utils.model_query(models.Test, session\u003dsession).join("},{"line_number":683,"context_line":"        models.TestRun).filter(models.TestRun.run_id \u003d\u003d run_id).outerjoin("},{"line_number":684,"context_line":"            models.TestRunMetadata).order_by(models.TestRun.start_time).values("},{"line_number":685,"context_line":"                models.Test.test_id,"},{"line_number":686,"context_line":"                models.TestRun.status,"},{"line_number":687,"context_line":"                models.TestRun.start_time,"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba15a1d1_5f27b811","line":684,"updated":"2015-09-23 21:00:02.000000000","message":"Shouldn\u0027t this be a two columns order_by, start_time and start_time_microsecond?","commit_id":"f3992e075dca3996ebd71c647938d120fe4b21e4"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"fa29859d78f134dc5bd4bc7225ea2f4c8716456a","unresolved":false,"context_lines":[{"line_number":681,"context_line":"    session \u003d session or get_session()"},{"line_number":682,"context_line":"    query \u003d db_utils.model_query(models.Test, session\u003dsession).join("},{"line_number":683,"context_line":"        models.TestRun).filter(models.TestRun.run_id \u003d\u003d run_id).outerjoin("},{"line_number":684,"context_line":"            models.TestRunMetadata).order_by(models.TestRun.start_time).values("},{"line_number":685,"context_line":"                models.Test.test_id,"},{"line_number":686,"context_line":"                models.TestRun.status,"},{"line_number":687,"context_line":"                models.TestRun.start_time,"}],"source_content_type":"text/x-python","patch_set":12,"id":"ba15a1d1_e5e4f6a8","line":684,"in_reply_to":"ba15a1d1_5f27b811","updated":"2015-09-24 02:31:46.000000000","message":"Yes that\u0027s probably right. Because right now the order is not guaranteed if there are 2 test runs that started in the same second. Given that this is run filtered to a single run it\u0027s unlikely to happen but still possible given that tests run in parallel.","commit_id":"f3992e075dca3996ebd71c647938d120fe4b21e4"}],"subunit2sql/tests/db/test_api.py":[{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"6115278ada3c3fda1b1198225a0f58ace3d1e40f","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self.assertEqual(len(all_test_runs), 1)"},{"line_number":71,"context_line":"        self.assertEqual(test_run.id, all_test_runs[0].id)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def test_get_tests_run_dicts_dicts_run_from_id_in_order(self):"},{"line_number":74,"context_line":"        run \u003d api.create_run()"},{"line_number":75,"context_line":"        test_a \u003d api.create_test(\u0027fake_test\u0027)"},{"line_number":76,"context_line":"        test_b \u003d api.create_test(\u0027fake_test_2\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_5829c799","line":73,"updated":"2015-09-18 15:59:14.000000000","message":"This job name is confusing.","commit_id":"3058c4bbc6b165330827254c6bc0959bb738c9cf"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"07a116873fc1bdca19e5f85e92a72f9c86a7cae2","unresolved":false,"context_lines":[{"line_number":70,"context_line":"        self.assertEqual(len(all_test_runs), 1)"},{"line_number":71,"context_line":"        self.assertEqual(test_run.id, all_test_runs[0].id)"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"    def test_get_tests_run_dicts_dicts_run_from_id_in_order(self):"},{"line_number":74,"context_line":"        run \u003d api.create_run()"},{"line_number":75,"context_line":"        test_a \u003d api.create_test(\u0027fake_test\u0027)"},{"line_number":76,"context_line":"        test_b \u003d api.create_test(\u0027fake_test_2\u0027)"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_f4c0b17e","line":73,"in_reply_to":"ba15a1d1_5829c799","updated":"2015-09-23 04:49:38.000000000","message":"Well the typo doesn\u0027t help, I\u0027ll try to make it a bit more clear in the next rev.","commit_id":"3058c4bbc6b165330827254c6bc0959bb738c9cf"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"6115278ada3c3fda1b1198225a0f58ace3d1e40f","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        run \u003d api.create_run()"},{"line_number":75,"context_line":"        test_a \u003d api.create_test(\u0027fake_test\u0027)"},{"line_number":76,"context_line":"        test_b \u003d api.create_test(\u0027fake_test_2\u0027)"},{"line_number":77,"context_line":"        test_c \u003d api.create_test(\u0027fake_test-3\u0027)"},{"line_number":78,"context_line":"        api.create_test_run(test_a.id, run.id, \u0027success\u0027,"},{"line_number":79,"context_line":"                            datetime.datetime.utcnow())"},{"line_number":80,"context_line":"        api.create_test_run(test_b.id, run.id, \u0027success\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_3892d3f6","line":77,"updated":"2015-09-18 15:59:14.000000000","message":"(nit) you\u0027ve mixed dashes and underscores between the test names","commit_id":"3058c4bbc6b165330827254c6bc0959bb738c9cf"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"07a116873fc1bdca19e5f85e92a72f9c86a7cae2","unresolved":false,"context_lines":[{"line_number":74,"context_line":"        run \u003d api.create_run()"},{"line_number":75,"context_line":"        test_a \u003d api.create_test(\u0027fake_test\u0027)"},{"line_number":76,"context_line":"        test_b \u003d api.create_test(\u0027fake_test_2\u0027)"},{"line_number":77,"context_line":"        test_c \u003d api.create_test(\u0027fake_test-3\u0027)"},{"line_number":78,"context_line":"        api.create_test_run(test_a.id, run.id, \u0027success\u0027,"},{"line_number":79,"context_line":"                            datetime.datetime.utcnow())"},{"line_number":80,"context_line":"        api.create_test_run(test_b.id, run.id, \u0027success\u0027,"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_bcb3a94c","line":77,"in_reply_to":"ba15a1d1_3892d3f6","updated":"2015-09-23 04:49:38.000000000","message":"Done","commit_id":"3058c4bbc6b165330827254c6bc0959bb738c9cf"},{"author":{"_account_id":7069,"name":"Joshua Hesketh","email":"josh@nitrotech.org","username":"jhesketh"},"change_message_id":"6115278ada3c3fda1b1198225a0f58ace3d1e40f","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        api.create_test_run(test_b.id, run.id, \u0027success\u0027,"},{"line_number":81,"context_line":"                            datetime.datetime.utcnow())"},{"line_number":82,"context_line":"        api.create_test_run(test_c.id, run.id, \u0027success\u0027,"},{"line_number":83,"context_line":"                            datetime.datetime.utcnow())"},{"line_number":84,"context_line":"        test_run_dicts \u003d api.get_tests_run_dicts_from_run_id(run.id)"},{"line_number":85,"context_line":"        prev \u003d None"},{"line_number":86,"context_line":"        for test_run in test_run_dicts:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_78284b9a","line":83,"updated":"2015-09-18 15:59:14.000000000","message":"These are inserting in the order you\u0027re testing they come back in. It might be a more effective test to insert them with fixed datetime\u0027s out of order (so insert one at 3pm, 2pm, 5pm etc).","commit_id":"3058c4bbc6b165330827254c6bc0959bb738c9cf"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"07a116873fc1bdca19e5f85e92a72f9c86a7cae2","unresolved":false,"context_lines":[{"line_number":80,"context_line":"        api.create_test_run(test_b.id, run.id, \u0027success\u0027,"},{"line_number":81,"context_line":"                            datetime.datetime.utcnow())"},{"line_number":82,"context_line":"        api.create_test_run(test_c.id, run.id, \u0027success\u0027,"},{"line_number":83,"context_line":"                            datetime.datetime.utcnow())"},{"line_number":84,"context_line":"        test_run_dicts \u003d api.get_tests_run_dicts_from_run_id(run.id)"},{"line_number":85,"context_line":"        prev \u003d None"},{"line_number":86,"context_line":"        for test_run in test_run_dicts:"}],"source_content_type":"text/x-python","patch_set":11,"id":"ba15a1d1_7c88b171","line":83,"in_reply_to":"ba15a1d1_78284b9a","updated":"2015-09-23 04:49:38.000000000","message":"Done","commit_id":"3058c4bbc6b165330827254c6bc0959bb738c9cf"}]}
