)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"8f04233639d05433e24ed71911c4805711ffccaf","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Fix port comparison in port range validation"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Ports should be compared as integers."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Icfe0c101f5095a779580ea3794d2e7c939b12af5"},{"line_number":12,"context_line":"Closes-Bug: #1738371"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"df87a7cf_90671dea","line":9,"updated":"2017-12-18 14:25:32.000000000","message":"nit: IMHO it should be \"Ports are compared as integers\"","commit_id":"313fd75bf4562a5925929bf86a3424916b0234ee"}],"neutron_lib/api/validators/__init__.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"542f1914ef83c4711279831a4158bf94fe44bba7","unresolved":false,"context_lines":[{"line_number":950,"context_line":"            msg \u003d _(\"Invalid port: %s.\") % p"},{"line_number":951,"context_line":"            LOG.debug(msg)"},{"line_number":952,"context_line":"            return msg"},{"line_number":953,"context_line":"    if len(ports) \u003e 1 and int(ports[0]) \u003e int(ports[1]):"},{"line_number":954,"context_line":"        msg \u003d _(\"First port in a port range must be lower than the second \""},{"line_number":955,"context_line":"                \"port.\")"},{"line_number":956,"context_line":"        LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_709ad0c5","line":953,"range":{"start_line":953,"start_character":26,"end_line":953,"end_character":55},"updated":"2017-12-15 13:28:49.000000000","message":"Is this really the problem??::\n\n  Python 2.7.12 (default, Nov 20 2017, 18:23:56) \n  [GCC 5.4.0 20160609] on linux2\n  Type \"help\", \"copyright\", \"credits\" or \"license\" for more \n  information.\n  \u003e\u003e\u003e 1 \u003e 2\n  False\n  \u003e\u003e\u003e 1 \u003c 2\n  True\n  \u003e\u003e\u003e \u00271\u0027 \u003c \u00272\u0027\n  True\n  \u003e\u003e\u003e \u00271\u0027 \u003e \u00272\u0027\n  False\n  \u003e\u003e\u003e","commit_id":"de6c9f28e8befdc0dc593ee56bc45c49e4a57f43"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"f2c69f05957b27f376b894131d5bc634ab0e73a5","unresolved":false,"context_lines":[{"line_number":950,"context_line":"            msg \u003d _(\"Invalid port: %s.\") % p"},{"line_number":951,"context_line":"            LOG.debug(msg)"},{"line_number":952,"context_line":"            return msg"},{"line_number":953,"context_line":"    if len(ports) \u003e 1 and int(ports[0]) \u003e int(ports[1]):"},{"line_number":954,"context_line":"        msg \u003d _(\"First port in a port range must be lower than the second \""},{"line_number":955,"context_line":"                \"port.\")"},{"line_number":956,"context_line":"        LOG.debug(msg)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_d0987c76","line":953,"range":{"start_line":953,"start_character":26,"end_line":953,"end_character":55},"in_reply_to":"df87a7cf_709ad0c5","updated":"2017-12-15 13:39:16.000000000","message":"My bad; I see it is a problem::\n\n  \u003e\u003e\u003e \u00271111\u0027 \u003e \u00279\u0027\n  False","commit_id":"de6c9f28e8befdc0dc593ee56bc45c49e4a57f43"}],"neutron_lib/tests/unit/api/validators/test_validators.py":[{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"542f1914ef83c4711279831a4158bf94fe44bba7","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"        self.assertEqual(u\"First port in a port range must be lower than the \""},{"line_number":1150,"context_line":"                         \"second port.\", result)"},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":"    def test_range_compared_as_int(self):"},{"line_number":1153,"context_line":"        result \u003d validators.validate_port_range_or_none(\"1111:9\")"},{"line_number":1154,"context_line":"        self.assertEqual(u\"First port in a port range must be lower than the \""},{"line_number":1155,"context_line":"                         \"second port.\", result)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_30a44808","line":1152,"updated":"2017-12-15 13:28:49.000000000","message":"This is basically the same as test_range_wrong_way() right above this method.. I don\u0027t understand why we\u0027d be adding this test.","commit_id":"de6c9f28e8befdc0dc593ee56bc45c49e4a57f43"},{"author":{"_account_id":5367,"name":"boden","email":"bodenvmw@gmail.com","username":"boden"},"change_message_id":"f2c69f05957b27f376b894131d5bc634ab0e73a5","unresolved":false,"context_lines":[{"line_number":1149,"context_line":"        self.assertEqual(u\"First port in a port range must be lower than the \""},{"line_number":1150,"context_line":"                         \"second port.\", result)"},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":"    def test_range_compared_as_int(self):"},{"line_number":1153,"context_line":"        result \u003d validators.validate_port_range_or_none(\"1111:9\")"},{"line_number":1154,"context_line":"        self.assertEqual(u\"First port in a port range must be lower than the \""},{"line_number":1155,"context_line":"                         \"second port.\", result)"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_908c3436","line":1152,"in_reply_to":"df87a7cf_30a44808","updated":"2017-12-15 13:39:16.000000000","message":"Disregard my previous comment herein.","commit_id":"de6c9f28e8befdc0dc593ee56bc45c49e4a57f43"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"80142be52dc1ae42aaa5a492c4d75857284899fa","unresolved":false,"context_lines":[{"line_number":1150,"context_line":"                         \"second port.\", result)"},{"line_number":1151,"context_line":""},{"line_number":1152,"context_line":"    def test_range_compared_as_int(self):"},{"line_number":1153,"context_line":"        result \u003d validators.validate_port_range_or_none(\"1111:9\")"},{"line_number":1154,"context_line":"        self.assertEqual(u\"First port in a port range must be lower than the \""},{"line_number":1155,"context_line":"                         \"second port.\", result)"},{"line_number":1156,"context_line":"        result \u003d validators.validate_port_range_or_none(\"9:1111\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"df87a7cf_8178648f","line":1153,"range":{"start_line":1153,"start_character":57,"end_line":1153,"end_character":63},"updated":"2017-12-15 15:17:21.000000000","message":"can\u0027t You just change tested range in L1148 and L1128? Than this test will do the same IMHO.\nWhy You need to add another such test case?","commit_id":"de6c9f28e8befdc0dc593ee56bc45c49e4a57f43"},{"author":{"_account_id":1653,"name":"garyk","email":"gkotton@vmware.com","username":"garyk"},"change_message_id":"35d96d82d1a30d7be3dcd65bc39aa8404958d44b","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"        self.assertIsNone(result)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"    def test_valid_range(self):"},{"line_number":1128,"context_line":"        result \u003d validators.validate_port_range_or_none(\"9:1111\")"},{"line_number":1129,"context_line":"        self.assertIsNone(result)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    def test_port_too_high(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_1c922d58","line":1128,"updated":"2017-12-19 13:06:42.000000000","message":"not clear why you change this\n80 \u003c 8888\n\nwhat is missing is when this is not an int - for example a string","commit_id":"943a333a9efdf133a2fd4a04d55c8316b4ebe3d1"},{"author":{"_account_id":21781,"name":"Hunt Xu","email":"mhuntxu@gmail.com","username":"huntxu"},"change_message_id":"82f59845d87f1d0f983ec9220307b14937e5e749","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"        self.assertIsNone(result)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"    def test_valid_range(self):"},{"line_number":1128,"context_line":"        result \u003d validators.validate_port_range_or_none(\"9:1111\")"},{"line_number":1129,"context_line":"        self.assertIsNone(result)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    def test_port_too_high(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_ea50c9d7","line":1128,"in_reply_to":"df87a7cf_16fc4970","updated":"2017-12-20 02:37:55.000000000","message":"Done","commit_id":"943a333a9efdf133a2fd4a04d55c8316b4ebe3d1"},{"author":{"_account_id":21781,"name":"Hunt Xu","email":"mhuntxu@gmail.com","username":"huntxu"},"change_message_id":"acd6ac6d518ed6b69ecc49df713c399565648620","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"        self.assertIsNone(result)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"    def test_valid_range(self):"},{"line_number":1128,"context_line":"        result \u003d validators.validate_port_range_or_none(\"9:1111\")"},{"line_number":1129,"context_line":"        self.assertIsNone(result)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    def test_port_too_high(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_9c307d58","line":1128,"in_reply_to":"df87a7cf_1c922d58","updated":"2017-12-19 13:21:36.000000000","message":"This updated test would fail when compared as strings since \u00279\u0027 \u003e \u00271111\u0027.\n\nUsing \"80:8000\" obscures the problem that this commit is trying to fix.","commit_id":"943a333a9efdf133a2fd4a04d55c8316b4ebe3d1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d66d9ae8c376c9ffc91cd7089ccc320be476fca","unresolved":false,"context_lines":[{"line_number":1125,"context_line":"        self.assertIsNone(result)"},{"line_number":1126,"context_line":""},{"line_number":1127,"context_line":"    def test_valid_range(self):"},{"line_number":1128,"context_line":"        result \u003d validators.validate_port_range_or_none(\"9:1111\")"},{"line_number":1129,"context_line":"        self.assertIsNone(result)"},{"line_number":1130,"context_line":""},{"line_number":1131,"context_line":"    def test_port_too_high(self):"}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_16fc4970","line":1128,"in_reply_to":"df87a7cf_9c307d58","updated":"2017-12-19 15:23:06.000000000","message":"This is an important information and it is worth having a inline comment.  Could you add it? I think we can approve the updated version soon.","commit_id":"943a333a9efdf133a2fd4a04d55c8316b4ebe3d1"},{"author":{"_account_id":841,"name":"Akihiro Motoki","email":"amotoki@gmail.com","username":"amotoki"},"change_message_id":"0d66d9ae8c376c9ffc91cd7089ccc320be476fca","unresolved":false,"context_lines":[{"line_number":1145,"context_line":"        self.assertEqual(u\"Invalid port: -1.\", result)"},{"line_number":1146,"context_line":""},{"line_number":1147,"context_line":"    def test_range_wrong_way(self):"},{"line_number":1148,"context_line":"        result \u003d validators.validate_port_range_or_none(\"1111:9\")"},{"line_number":1149,"context_line":"        self.assertEqual(u\"First port in a port range must be lower than the \""},{"line_number":1150,"context_line":"                         \"second port.\", result)"},{"line_number":1151,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"df87a7cf_36362d53","line":1148,"updated":"2017-12-19 15:23:06.000000000","message":"ditto","commit_id":"943a333a9efdf133a2fd4a04d55c8316b4ebe3d1"},{"author":{"_account_id":11975,"name":"Slawek Kaplonski","email":"skaplons@redhat.com","username":"slaweq"},"change_message_id":"a181a51f54bcf6d1a3cfbd8108753f59cb00faa5","unresolved":false,"context_lines":[{"line_number":1127,"context_line":"    def test_valid_range(self):"},{"line_number":1128,"context_line":"        # NOTE(huntxu): This case would fail when ports are compared as"},{"line_number":1129,"context_line":"        # strings, since \u00279\u0027 \u003e \u00271111\u0027."},{"line_number":1130,"context_line":"        result \u003d validators.validate_port_range_or_none(\"9:1111\")"},{"line_number":1131,"context_line":"        self.assertIsNone(result)"},{"line_number":1132,"context_line":""},{"line_number":1133,"context_line":"    def test_port_too_high(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"df87a7cf_baa0cef5","line":1130,"updated":"2017-12-20 07:56:12.000000000","message":"Thx. IMHO its better to do it this way rather than add new test with only changed value :)","commit_id":"4c49003bb8aa08bde8d8d760d7435d6c48609709"}]}
