)]}'
{"rally/cmd/commands/task.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a4e2ce580f0c4c27ea56506c4c67cf26273344f7","unresolved":false,"context_lines":[{"line_number":591,"context_line":"            with open(output_file, \"w+\") as f:"},{"line_number":592,"context_line":"                f.write(junit_xml.TestSuite.to_xml_string([ts]))"},{"line_number":593,"context_line":"        else:"},{"line_number":594,"context_line":"            raise ValueError(_(\"Invalid output format: %s\") % out_format)"},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"    @cliutils.args(\"--force\", action\u003d\"store_true\", help\u003d\"force delete\")"},{"line_number":597,"context_line":"    @cliutils.args(\"--uuid\", type\u003dstr, dest\u003d\"task_id\", nargs\u003d\"*\","}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_0f55f11b","line":594,"updated":"2015-04-14 19:45:17.000000000","message":"It would be more user-friendly, if you use replace raising exceptions by construction:\n\n    print(_(\"Invalid...\"))\n    return 1","commit_id":"c050ee6efa31c3f8875e260969d2c78ef3c75b13"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2cd4e2d02ed541f4435682783c3d62e1bfae5c82","unresolved":false,"context_lines":[{"line_number":591,"context_line":"            with open(output_file, \"w+\") as f:"},{"line_number":592,"context_line":"                f.write(junit_xml.TestSuite.to_xml_string([ts]))"},{"line_number":593,"context_line":"        else:"},{"line_number":594,"context_line":"            raise ValueError(_(\"Invalid output format: %s\") % out_format)"},{"line_number":595,"context_line":""},{"line_number":596,"context_line":"    @cliutils.args(\"--force\", action\u003d\"store_true\", help\u003d\"force delete\")"},{"line_number":597,"context_line":"    @cliutils.args(\"--uuid\", type\u003dstr, dest\u003d\"task_id\", nargs\u003d\"*\","}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_e80bbf28","line":594,"in_reply_to":"7aaa499b_0f55f11b","updated":"2015-04-15 14:42:58.000000000","message":"Done","commit_id":"c050ee6efa31c3f8875e260969d2c78ef3c75b13"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f3f98b7e630b445938cb46301b5e072584a62c93","unresolved":false,"context_lines":[{"line_number":509,"context_line":"                   help\u003d\"Path to output file.\")"},{"line_number":510,"context_line":"    @cliutils.args(\"--open\", dest\u003d\"open_it\", action\u003d\"store_true\","},{"line_number":511,"context_line":"                   help\u003d\"Open it in browser.\")"},{"line_number":512,"context_line":"    @cliutils.args(\"--format\", dest\u003d\"out_format\", type\u003dstr,"},{"line_number":513,"context_line":"                   help\u003d\"Format to use for output file (\u0027html\u0027 or \u0027junit\u0027).\")"},{"line_number":514,"context_line":"    @cliutils.deprecated_args("},{"line_number":515,"context_line":"        \"--uuid\", dest\u003d\"tasks\", nargs\u003d\"+\","}],"source_content_type":"text/x-python","patch_set":5,"id":"3ab451fb_43b55ccb","line":512,"updated":"2015-04-17 15:06:45.000000000","message":"This is not aligned with the rest of API. We don\u0027t use --format at all. We are using simpler approach like: --html and --junit args which is explicit and simpler for end user (e.g. bash competition)","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"100ca817642ad7e06b728c1f6eb00022f3ed4824","unresolved":false,"context_lines":[{"line_number":509,"context_line":"                   help\u003d\"Path to output file.\")"},{"line_number":510,"context_line":"    @cliutils.args(\"--open\", dest\u003d\"open_it\", action\u003d\"store_true\","},{"line_number":511,"context_line":"                   help\u003d\"Open it in browser.\")"},{"line_number":512,"context_line":"    @cliutils.args(\"--format\", dest\u003d\"out_format\", type\u003dstr,"},{"line_number":513,"context_line":"                   help\u003d\"Format to use for output file (\u0027html\u0027 or \u0027junit\u0027).\")"},{"line_number":514,"context_line":"    @cliutils.deprecated_args("},{"line_number":515,"context_line":"        \"--uuid\", dest\u003d\"tasks\", nargs\u003d\"+\","}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_30e15ed1","line":512,"in_reply_to":"3ab451fb_43b55ccb","updated":"2015-04-21 11:29:41.000000000","message":"Done","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f3f98b7e630b445938cb46301b5e072584a62c93","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            for result in results:"},{"line_number":585,"context_line":"                test_name \u003d result[\"key\"][\"name\"]"},{"line_number":586,"context_line":"                dot_index \u003d test_name.find(\".\")"},{"line_number":587,"context_line":"                test \u003d junit_xml.TestCase(test_name[1 + dot_index:],"},{"line_number":588,"context_line":"                                          classname\u003dtest_name[:dot_index],"},{"line_number":589,"context_line":"                                          elapsed_sec\u003dresult[\"full_duration\"])"},{"line_number":590,"context_line":"                test_cases.append(test)"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ab451fb_83300458","line":587,"updated":"2015-04-17 15:06:45.000000000","message":"It\u0027s not pythonic way. Please use split: \n\n  test_group_name, test_name \u003d result[\"key\"][\"name\"].split(\".\", 1)","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"100ca817642ad7e06b728c1f6eb00022f3ed4824","unresolved":false,"context_lines":[{"line_number":584,"context_line":"            for result in results:"},{"line_number":585,"context_line":"                test_name \u003d result[\"key\"][\"name\"]"},{"line_number":586,"context_line":"                dot_index \u003d test_name.find(\".\")"},{"line_number":587,"context_line":"                test \u003d junit_xml.TestCase(test_name[1 + dot_index:],"},{"line_number":588,"context_line":"                                          classname\u003dtest_name[:dot_index],"},{"line_number":589,"context_line":"                                          elapsed_sec\u003dresult[\"full_duration\"])"},{"line_number":590,"context_line":"                test_cases.append(test)"}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_50de1212","line":587,"in_reply_to":"3ab451fb_83300458","updated":"2015-04-21 11:29:41.000000000","message":"Done","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f3f98b7e630b445938cb46301b5e072584a62c93","unresolved":false,"context_lines":[{"line_number":590,"context_line":"                test_cases.append(test)"},{"line_number":591,"context_line":"                if (isinstance(result[\"sla\"], list) and"},{"line_number":592,"context_line":"                   not all([sla[\"success\"] for sla in result[\"sla\"]])):"},{"line_number":593,"context_line":"                    test.add_failure_info(output\u003d\"failure\")"},{"line_number":594,"context_line":"            ts \u003d junit_xml.TestSuite(\"Rally test suite\", test_cases)"},{"line_number":595,"context_line":"            with open(output_file, \"w+\") as f:"},{"line_number":596,"context_line":"                f.write(junit_xml.TestSuite.to_xml_string([ts]))"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ab451fb_8365a446","line":593,"updated":"2015-04-17 15:06:45.000000000","message":"I believe we should add here all failed SLAs messages no?","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"100ca817642ad7e06b728c1f6eb00022f3ed4824","unresolved":false,"context_lines":[{"line_number":590,"context_line":"                test_cases.append(test)"},{"line_number":591,"context_line":"                if (isinstance(result[\"sla\"], list) and"},{"line_number":592,"context_line":"                   not all([sla[\"success\"] for sla in result[\"sla\"]])):"},{"line_number":593,"context_line":"                    test.add_failure_info(output\u003d\"failure\")"},{"line_number":594,"context_line":"            ts \u003d junit_xml.TestSuite(\"Rally test suite\", test_cases)"},{"line_number":595,"context_line":"            with open(output_file, \"w+\") as f:"},{"line_number":596,"context_line":"                f.write(junit_xml.TestSuite.to_xml_string([ts]))"}],"source_content_type":"text/x-python","patch_set":5,"id":"dac4157f_fb7067de","line":593,"in_reply_to":"3ab451fb_8365a446","updated":"2015-04-21 11:29:41.000000000","message":"Would you like to concatenate all SLA messages ? I\u0027m not sure whether that would be really helpful. I must say I\u0027m mostly interested in plotting nice graphs to see the evolution of teh failure rate.","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"}],"rally/common/junit.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1738dd5e71499864cce36b2d7268ce7f2db935f8","unresolved":false,"context_lines":[{"line_number":16,"context_line":"import xml.etree.ElementTree as ET"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"class JUnit(object):"},{"line_number":20,"context_line":"    SUCCESS \u003d 0"},{"line_number":21,"context_line":"    FAILURE \u003d 1"},{"line_number":22,"context_line":"    ERROR \u003d 2"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a016987_873f4486","line":19,"updated":"2015-05-30 16:29:49.000000000","message":"Thank you for making this class instead of using poor written third party libs.","commit_id":"fb6333a226a40210f898d6f9d7d35e038b795c78"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1738dd5e71499864cce36b2d7268ce7f2db935f8","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        self.test_cases.append({"},{"line_number":35,"context_line":"            \"classname\": class_name,"},{"line_number":36,"context_line":"            \"name\": name,"},{"line_number":37,"context_line":"            \"time\": str(\"%.2f\" % time),"},{"line_number":38,"context_line":"        })"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"        if outcome \u003d\u003d JUnit.FAILURE:"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a016987_27a1b094","line":37,"updated":"2015-05-30 16:29:49.000000000","message":"I believe that we should put here error message (messages of SLA failures)\nSo I belive we need one more comment error_msg ?","commit_id":"fb6333a226a40210f898d6f9d7d35e038b795c78"}],"rally/common/junit_xml.py":[{"author":{"_account_id":9545,"name":"Andriy Kurilin","email":"andr.kurilin@gmail.com","username":"akurilin"},"change_message_id":"a4e2ce580f0c4c27ea56506c4c67cf26273344f7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# The MIT License"},{"line_number":4,"context_line":"# Copyright (c) 2013 Kyrus Tech, Inc., Brian Beyer"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_8f3fc1d5","line":1,"updated":"2015-04-14 19:45:17.000000000","message":"add here a comment with link to original repo","commit_id":"c050ee6efa31c3f8875e260969d2c78ef3c75b13"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2cd4e2d02ed541f4435682783c3d62e1bfae5c82","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/env python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# The MIT License"},{"line_number":4,"context_line":"# Copyright (c) 2013 Kyrus Tech, Inc., Brian Beyer"}],"source_content_type":"text/x-python","patch_set":4,"id":"7aaa499b_821ada7b","line":1,"in_reply_to":"7aaa499b_8f3fc1d5","updated":"2015-04-15 14:42:58.000000000","message":"Done","commit_id":"c050ee6efa31c3f8875e260969d2c78ef3c75b13"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f3f98b7e630b445938cb46301b5e072584a62c93","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"from six import u"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"try:"},{"line_number":32,"context_line":"    # Python 2"},{"line_number":33,"context_line":"    unichr"},{"line_number":34,"context_line":"except NameError:  # pragma: nocover"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ab451fb_636df803","line":31,"updated":"2015-04-17 15:06:45.000000000","message":"no six rules for this?","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f3f98b7e630b445938cb46301b5e072584a62c93","unresolved":false,"context_lines":[{"line_number":58,"context_line":"        \u003c/testcase\u003e"},{"line_number":59,"context_line":"\t\u003ctestcase classname\u003d\"package.directory\" name\u003d\"003-skipped-test\" time\u003d\"0\"\u003e"},{"line_number":60,"context_line":"\t    \u003cskipped message\u003d\"SKIPPED Test\" type\u003d\"skipped\"\u003e"},{"line_number":61,"context_line":"                the output of the testcase"},{"line_number":62,"context_line":"            \u003c/skipped\u003e\t"},{"line_number":63,"context_line":"\t\u003c/testcase\u003e"},{"line_number":64,"context_line":"        \u003ctestcase classname\u003d\"testdb.directory\" name\u003d\"003-passed-test\" time\u003d\"10\"\u003e"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ab451fb_43ed5c8a","line":61,"updated":"2015-04-17 15:06:45.000000000","message":"It\u0027s not the code but, please remove tabs and trailing spaces","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"f3f98b7e630b445938cb46301b5e072584a62c93","unresolved":false,"context_lines":[{"line_number":74,"context_line":"\"\"\""},{"line_number":75,"context_line":""},{"line_number":76,"context_line":""},{"line_number":77,"context_line":"class TestSuite(object):"},{"line_number":78,"context_line":"    \"\"\"Suite of test cases\"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def __init__(self, name, test_cases\u003dNone, hostname\u003dNone, id\u003dNone,\\"}],"source_content_type":"text/x-python","patch_set":5,"id":"3ab451fb_839a4413","line":77,"updated":"2015-04-17 15:06:45.000000000","message":"Can we chose another name. When I see in code word \"Test\" I automatically think that this code is related to unit tests of project.","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":77,"context_line":"class TestSuite(object):"},{"line_number":78,"context_line":"    \"\"\"Suite of test cases\"\"\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"    def __init__(self, name, test_cases\u003dNone, hostname\u003dNone, id\u003dNone,\\"},{"line_number":81,"context_line":"                 package\u003dNone, timestamp\u003dNone, properties\u003dNone):"},{"line_number":82,"context_line":"        self.name \u003d name"},{"line_number":83,"context_line":"        if not test_cases:"}],"source_content_type":"text/x-python","patch_set":5,"id":"1ab14d0d_1b2c7baa","line":80,"updated":"2015-04-18 12:15:25.000000000","message":"remove \"\\\" it\u0027s useless","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":96,"context_line":"    def build_xml_doc(self):"},{"line_number":97,"context_line":"        \"\"\"Builds the XML document for the JUnit test suite\"\"\""},{"line_number":98,"context_line":"        # build the test suite element"},{"line_number":99,"context_line":"        test_suite_attributes \u003d dict()"},{"line_number":100,"context_line":"        test_suite_attributes[\u0027name\u0027] \u003d str(self.name)"},{"line_number":101,"context_line":"        test_suite_attributes[\u0027failures\u0027] \u003d str(len([c for c in self.test_cases if c.is_failure()]))"},{"line_number":102,"context_line":"        test_suite_attributes[\u0027errors\u0027] \u003d str(len([c for c in self.test_cases if c.is_error()]))"}],"source_content_type":"text/x-python","patch_set":5,"id":"fabf19d9_2e8dbf7b","line":99,"updated":"2015-04-18 12:15:25.000000000","message":"Never use dict() we even have hacking rule for this. Is much slower and longer then just {} \n\nas well in such case it is nice to do things like: \n\n  test_suite_attributes \u003d {\n     \"name\" : self.name,\n      \"failures\": ...\n   }","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        # build the test suite element"},{"line_number":99,"context_line":"        test_suite_attributes \u003d dict()"},{"line_number":100,"context_line":"        test_suite_attributes[\u0027name\u0027] \u003d str(self.name)"},{"line_number":101,"context_line":"        test_suite_attributes[\u0027failures\u0027] \u003d str(len([c for c in self.test_cases if c.is_failure()]))"},{"line_number":102,"context_line":"        test_suite_attributes[\u0027errors\u0027] \u003d str(len([c for c in self.test_cases if c.is_error()]))"},{"line_number":103,"context_line":"        test_suite_attributes[\u0027skipped\u0027] \u003d str(len([c for c in self.test_cases if c.is_skipped()]))"},{"line_number":104,"context_line":"        test_suite_attributes[\u0027time\u0027] \u003d str(sum(c.elapsed_sec for c in self.test_cases if c.elapsed_sec))"}],"source_content_type":"text/x-python","patch_set":5,"id":"fabf19d9_cef2c306","line":101,"updated":"2015-04-18 12:15:25.000000000","message":"why str() it at all?","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":197,"context_line":"        return xml_string"},{"line_number":198,"context_line":""},{"line_number":199,"context_line":"    @staticmethod"},{"line_number":200,"context_line":"    def to_file(file_descriptor, test_suites, prettyprint\u003dTrue, encoding\u003dNone):"},{"line_number":201,"context_line":"        \"\"\"Writes the JUnit XML document to file\"\"\""},{"line_number":202,"context_line":"        file_descriptor.write(TestSuite.to_xml_string(test_suites, prettyprint, encoding))"},{"line_number":203,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"fabf19d9_ce7be37a","line":200,"updated":"2015-04-18 12:15:25.000000000","message":"This is not used please remove it","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":202,"context_line":"        file_descriptor.write(TestSuite.to_xml_string(test_suites, prettyprint, encoding))"},{"line_number":203,"context_line":""},{"line_number":204,"context_line":"    @staticmethod"},{"line_number":205,"context_line":"    def _clean_illegal_xml_chars(string_to_clean):"},{"line_number":206,"context_line":"        \"\"\"Removes any illegal unicode characters from the given XML string\"\"\""},{"line_number":207,"context_line":"        # see http://stackoverflow.com/questions/1707890/fast-way-to-filter-illegal-xml-unicode-chars-in-python"},{"line_number":208,"context_line":"        illegal_unichrs \u003d [(0x00, 0x08), (0x0B, 0x1F), (0x7F, 0x84), (0x86, 0x9F),"}],"source_content_type":"text/x-python","patch_set":5,"id":"fabf19d9_ae80af47","line":205,"updated":"2015-04-18 12:15:25.000000000","message":"If we would like to keep this, it should go to:\n\nhttps://github.com/openstack/rally/blob/master/rally/common/costilius.py","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":222,"context_line":"        return illegal_xml_re.sub(\u0027\u0027, string_to_clean)"},{"line_number":223,"context_line":""},{"line_number":224,"context_line":""},{"line_number":225,"context_line":"class TestCase(object):"},{"line_number":226,"context_line":"    \"\"\"A JUnit test case with a result and possibly some stdout or stderr\"\"\""},{"line_number":227,"context_line":""},{"line_number":228,"context_line":"    def __init__(self, name, classname\u003dNone, elapsed_sec\u003dNone, stdout\u003dNone, stderr\u003dNone):"}],"source_content_type":"text/x-python","patch_set":5,"id":"fabf19d9_2ee49f39","line":225,"updated":"2015-04-18 12:15:25.000000000","message":"It\u0027s improper usage of classes. what you need here is one single method: \n\n\n  get_test_case_info(name, classname\u003dNone, ...., error_info\u003dNoe, failure_info\u003dNone, ): \n    return dict(....)","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"}],"requirements.txt":[{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"4f89751aaacc0d3c7449e90dd77b01cd526298b2","unresolved":false,"context_lines":[{"line_number":8,"context_line":"iso8601\u003e\u003d0.1.9"},{"line_number":9,"context_line":"Jinja2\u003e\u003d2.6  # BSD License (3 clause)"},{"line_number":10,"context_line":"jsonschema\u003e\u003d2.0.0,\u003c3.0.0"},{"line_number":11,"context_line":"junit-xml"},{"line_number":12,"context_line":"netaddr\u003e\u003d0.7.12"},{"line_number":13,"context_line":"oslo.config\u003e\u003d1.9.3,\u003c1.10.0  # Apache-2.0"},{"line_number":14,"context_line":"oslo.db\u003e\u003d1.7.0,\u003c1.8.0  # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"9aa53dc9_fc63a4da","line":11,"updated":"2015-04-08 14:27:39.000000000","message":"We need to specify required version","commit_id":"56b57f3d0389d40e3ac6bb082df242b7fb2c9c40"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"ac08ff2f63b7185f3c40ce006ab9489f25864166","unresolved":false,"context_lines":[{"line_number":8,"context_line":"iso8601\u003e\u003d0.1.9"},{"line_number":9,"context_line":"Jinja2\u003e\u003d2.6  # BSD License (3 clause)"},{"line_number":10,"context_line":"jsonschema\u003e\u003d2.0.0,\u003c3.0.0"},{"line_number":11,"context_line":"junit-xml"},{"line_number":12,"context_line":"netaddr\u003e\u003d0.7.12"},{"line_number":13,"context_line":"oslo.config\u003e\u003d1.9.3,\u003c1.10.0  # Apache-2.0"},{"line_number":14,"context_line":"oslo.db\u003e\u003d1.7.0,\u003c1.8.0  # Apache-2.0"}],"source_content_type":"text/plain","patch_set":1,"id":"9aa53dc9_dcc46060","line":11,"in_reply_to":"9aa53dc9_fc63a4da","updated":"2015-04-08 14:31:30.000000000","message":"Done","commit_id":"56b57f3d0389d40e3ac6bb082df242b7fb2c9c40"}],"tests/functional/test_cli_task.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1738dd5e71499864cce36b2d7268ce7f2db935f8","unresolved":false,"context_lines":[{"line_number":138,"context_line":"            rally.gen_report_path(extension\u003d\"html\")))"},{"line_number":139,"context_line":"        self.assertRaises(utils.RallyCliError,"},{"line_number":140,"context_line":"                          rally, \"task report --report %s\" % FAKE_TASK_UUID)"},{"line_number":141,"context_line":"        rally(\"task report --junit --out %s\" %"},{"line_number":142,"context_line":"              rally.gen_report_path(extension\u003d\"junit\"))"},{"line_number":143,"context_line":"        self.assertTrue(os.path.exists("},{"line_number":144,"context_line":"            rally.gen_report_path(extension\u003d\"junit\")))"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a016987_67b1e8df","line":141,"updated":"2015-05-30 16:29:49.000000000","message":"It\u0027s better to do this as separated this. (if you will continue work on this topic see my other topics please fix it in future patches)","commit_id":"fb6333a226a40210f898d6f9d7d35e038b795c78"}],"tests/unit/cli/commands/test_task.py":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"1738dd5e71499864cce36b2d7268ce7f2db935f8","unresolved":false,"context_lines":[{"line_number":362,"context_line":"        reset_mocks()"},{"line_number":363,"context_line":"        self.task.report(tasks\u003dtask_id, out\u003d\"/tmp/%s.html\" % task_id,"},{"line_number":364,"context_line":"                         out_format\u003d\"junit\")"},{"line_number":365,"context_line":"        mock_open.assert_called_once_with(\"/tmp/%s.html\" % task_id, \"w+\")"},{"line_number":366,"context_line":""},{"line_number":367,"context_line":"        reset_mocks()"},{"line_number":368,"context_line":"        self.task.report(task_id, out\u003d\"spam.html\", open_it\u003dTrue)"}],"source_content_type":"text/x-python","patch_set":17,"id":"7a016987_47d4acea","line":365,"updated":"2015-05-30 16:29:49.000000000","message":"maybe it\u0027s better to call it \"/tmp/%s.junit\"","commit_id":"fb6333a226a40210f898d6f9d7d35e038b795c78"}],"tox.ini":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"ea41f2e13cc327d735ee483173533ef1f2309b13","unresolved":false,"context_lines":[{"line_number":48,"context_line":"ignore \u003d E126,H703"},{"line_number":49,"context_line":"show-source \u003d true"},{"line_number":50,"context_line":"# We exclude the files copied from https://github.com/kyrus/python-junit-xml,"},{"line_number":51,"context_line":"# since we should not edit them and will probably get rid of them as soon as"},{"line_number":52,"context_line":"# upstream makes a new release."},{"line_number":53,"context_line":"exclude\u003d.venv,.git,.tox,dist,doc,*lib/python*,*egg,tools,build,setup.py,*junit*"},{"line_number":54,"context_line":""}],"source_content_type":"text/x-properties","patch_set":5,"id":"1ab14d0d_1b559b1c","line":51,"updated":"2015-04-18 12:15:25.000000000","message":"I don\u0027t want to exclude them. \nIf they are going to become part of rally they should be covered fully by unit tests and pass all hacking rules, like the rest of code.","commit_id":"75784fd20c238a4fd3c8aab47791f77c662d1d7f"}]}
