)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"2754b07a19d8784178802680d86ffb13f7d2bb06","unresolved":true,"context_lines":[{"line_number":11,"context_line":"the simpler assertRaises() call instead of explicitly dealing with"},{"line_number":12,"context_line":"exceptions."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Note that this is just a temporary workaround, we should really move"},{"line_number":15,"context_line":"away for using pkg_resources completely, see [0] and [1]."},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"[0] https://setuptools.pypa.io/en/latest/pkg_resources.html"},{"line_number":18,"context_line":"[1] https://importlib-resources.readthedocs.io/en/latest/migration.html"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"76ddc33c_62d4d747","line":15,"range":{"start_line":14,"start_character":0,"end_line":15,"end_character":57},"updated":"2024-06-19 02:25:15.000000000","message":"Yup especially as in this case we\u0027re just using pkg_resources to access the *vendored* packaing library that we already use.","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"6d41042e9ab4152fef96ef81ec3f2136810a8084","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"63aa40d2_57952546","updated":"2024-06-18 06:39:12.000000000","message":"this doesn\u0027t work yet, guess I gotta test on py3.12 directly instead of just looking at the logs","commit_id":"1102e48fec121cfbbf314f2c01869c9513a09111"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"2754b07a19d8784178802680d86ffb13f7d2bb06","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5f77c073_a234e8bf","updated":"2024-06-19 02:25:15.000000000","message":"I\u0027m fine with this in general but I\u0027m also confused as can\u0027t reproduce the failure","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"39a51f84ce800fc61e2d21e86b2613ee66460d57","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a77e80ca_cb00105d","in_reply_to":"5f77c073_a234e8bf","updated":"2024-06-19 12:02:24.000000000","message":"Hmm, how did you try to reproduce? For me the error showed 1:1 as in the CI on a local Noble node","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"dbbceb6955dda9e7938376c741724d7732a72432","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"487d4288_74b647f2","in_reply_to":"9acfbcf4_c5e5f5dd","updated":"2024-06-20 03:20:12.000000000","message":"So yes I can reproduce this on Ubuntu-Noble but not Fedora-40 so I guess #shrug Go for it.","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"40b8afd1684c0057eaa0835689d2a159a5797f46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9acfbcf4_c5e5f5dd","in_reply_to":"a77e80ca_cb00105d","updated":"2024-06-20 00:20:21.000000000","message":"I ran tox (4) on my laptop with both 3.12.3 (Fedora default) and 3.12.4 (pyenv to match what I saw in thew logs)  I can try a noble vm/container.  I verified that setuptools is the same version.  So #confused.","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"a88bb8c872bfda68444d03ff7f408b6a3c6b0b65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f995ff93_c3d01bdd","updated":"2024-06-20 10:22:07.000000000","message":"Approving as the ultimate aim is to create (non-voting) testing for py3.12  It\u0027s low rick and is the combined efforfs of 2 trusted developers","commit_id":"c7d98564d0bf64e6fde26192c550f5200f267560"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"f689452fb99b4b84f24a51e4d9d8a8c58144a49c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"172e1b51_2179f78f","updated":"2024-06-20 12:23:53.000000000","message":"recheck failure in parent","commit_id":"c7d98564d0bf64e6fde26192c550f5200f267560"}],"openstack_requirements/tests/test_requirement.py":[{"author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"change_message_id":"73e1a83eed78d94ef4efa65838a4c87a23a8af00","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        (\u0027-e\u0027, dict(line\u003d\u0027-e git+https://foo.com#egg\u003dfoo\u0027)),"},{"line_number":105,"context_line":"        (\u0027-f\u0027, dict(line\u003d\u0027-f http://tarballs.openstack.org/\u0027))]"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def test_does_not_parse(self):"},{"line_number":108,"context_line":"        self.assertRaises(ValueError, requirement.parse_line, self.line)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"4dd9523d_9ed0f883","line":107,"updated":"2024-06-18 14:08:48.000000000","message":"should we just remove this test if it\u0027s not actually doing anyting?  (before it\u0027d at least try requirement.parse_line)","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":12898,"name":"Tony Breeds","email":"tony@bakeyournoodle.com","username":"tonyb"},"change_message_id":"2754b07a19d8784178802680d86ffb13f7d2bb06","unresolved":false,"context_lines":[{"line_number":104,"context_line":"        (\u0027-e\u0027, dict(line\u003d\u0027-e git+https://foo.com#egg\u003dfoo\u0027)),"},{"line_number":105,"context_line":"        (\u0027-f\u0027, dict(line\u003d\u0027-f http://tarballs.openstack.org/\u0027))]"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def test_does_not_parse(self):"},{"line_number":108,"context_line":"        self.assertRaises(ValueError, requirement.parse_line, self.line)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"518c5adc_97dbdd17","line":107,"in_reply_to":"4dd9523d_9ed0f883","updated":"2024-06-19 02:25:15.000000000","message":"It still does doesn\u0027t it?","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":13252,"name":"Dr. Jens Harbott","display_name":"Jens Harbott (frickler)","email":"frickler@offenerstapel.de","username":"jrosenboom"},"change_message_id":"b8721b01ff75d69cbc4d6984791076ef25e3b910","unresolved":true,"context_lines":[{"line_number":105,"context_line":"        (\u0027-f\u0027, dict(line\u003d\u0027-f http://tarballs.openstack.org/\u0027))]"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def test_does_not_parse(self):"},{"line_number":108,"context_line":"        self.assertRaises(ValueError, requirement.parse_line, self.line)"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"class TestToContent(testtools.TestCase):"}],"source_content_type":"text/x-python","patch_set":2,"id":"934fce54_704ad792","line":108,"updated":"2024-06-19 11:02:55.000000000","message":"This test still does the same thing, call `requirement.parse_line(self.line)` and verify that an Exception is raised, just in a more modern form. Sadly the testtools library doesn\u0027t support the nicer variant like unittest, otherwise this could look like:\n\n```\nwith self.assertRaises(ValueError):\n    requirement.parse_line(self.line)\n```\nwhich is more easily understandable. The only functional change is using the more generic ValueError class instead of the specific classes defined within pkg_resources, which vary depending on the python version.","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"},{"author":{"_account_id":14288,"name":"Matthew Thode","display_name":"prometheanfire","email":"mthode@mthode.org","username":"prometheanfire"},"change_message_id":"73e1a83eed78d94ef4efa65838a4c87a23a8af00","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        req \u003d requirement.Requirement(\u0027foo\u0027, \u0027file:///foo\u0027, \u0027\u0027, \u0027\u0027, \u0027\u0027)"},{"line_number":145,"context_line":"        self.assertEqual(reqs, [(req, line)])"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    def test_not_urls(self):"},{"line_number":148,"context_line":"        self.assertRaises("},{"line_number":149,"context_line":"            ValueError, list, requirement.to_reqs(\u0027file:///foo#egg\u003dfoo\u0027))"},{"line_number":150,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"d3fe4c6c_38cc6156","line":147,"updated":"2024-06-18 14:08:48.000000000","message":"same here, removal of the try means that this test could be removed","commit_id":"8de1725c37f1a258b5b1b4e1d2c128f8bf57058c"}]}
