)]}'
{"pbr/tests/base.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"0696cb2f9021af9b35226bbc0835fe8157bf405b","unresolved":true,"context_lines":[{"line_number":132,"context_line":"        return self._run_cmd(\u0027pbr\u0027, args, **kwargs)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def get_setuptools_version(self):"},{"line_number":135,"context_line":"        # we rely on this to determine whether to skip tests, so we can\u0027t"},{"line_number":136,"context_line":"        stdout, _, _ \u003d self._run_cmd("},{"line_number":137,"context_line":"            sys.executable,"},{"line_number":138,"context_line":"            (\u0027-c\u0027, \u0027import setuptools; print(setuptools.__version__)\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"d9de49b5_31103a51","line":135,"updated":"2025-07-02 14:58:45.000000000","message":"Nit: This comment seems like an incomplete thought. So we can\u0027t what?","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"03ca808487e3e24c3c6a98022b9982fdd3ea35cd","unresolved":false,"context_lines":[{"line_number":132,"context_line":"        return self._run_cmd(\u0027pbr\u0027, args, **kwargs)"},{"line_number":133,"context_line":""},{"line_number":134,"context_line":"    def get_setuptools_version(self):"},{"line_number":135,"context_line":"        # we rely on this to determine whether to skip tests, so we can\u0027t"},{"line_number":136,"context_line":"        stdout, _, _ \u003d self._run_cmd("},{"line_number":137,"context_line":"            sys.executable,"},{"line_number":138,"context_line":"            (\u0027-c\u0027, \u0027import setuptools; print(setuptools.__version__)\u0027),"}],"source_content_type":"text/x-python","patch_set":5,"id":"d472fedf_d7a3ef42","line":135,"in_reply_to":"d9de49b5_31103a51","updated":"2025-07-02 18:14:31.000000000","message":"err, I think I was going to say \"can\u0027t allow this to fail\"","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"0696cb2f9021af9b35226bbc0835fe8157bf405b","unresolved":true,"context_lines":[{"line_number":137,"context_line":"            sys.executable,"},{"line_number":138,"context_line":"            (\u0027-c\u0027, \u0027import setuptools; print(setuptools.__version__)\u0027),"},{"line_number":139,"context_line":"            allow_fail\u003dFalse)"},{"line_number":140,"context_line":"        return tuple(int(x) for x in stdout.strip().split(\u0027.\u0027)[:3])"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def run_setup(self, *args, **kwargs):"},{"line_number":143,"context_line":"        return self._run_cmd(sys.executable, (\u0027setup.py\u0027,) + args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"6233255c_4ae98754","line":140,"updated":"2025-07-02 14:58:45.000000000","message":"Hopefully they don\u0027t switch to using a 2-component version string in the future, but I guess we can worry about making this more robust if it ever becomes necessary.","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"03ca808487e3e24c3c6a98022b9982fdd3ea35cd","unresolved":false,"context_lines":[{"line_number":137,"context_line":"            sys.executable,"},{"line_number":138,"context_line":"            (\u0027-c\u0027, \u0027import setuptools; print(setuptools.__version__)\u0027),"},{"line_number":139,"context_line":"            allow_fail\u003dFalse)"},{"line_number":140,"context_line":"        return tuple(int(x) for x in stdout.strip().split(\u0027.\u0027)[:3])"},{"line_number":141,"context_line":""},{"line_number":142,"context_line":"    def run_setup(self, *args, **kwargs):"},{"line_number":143,"context_line":"        return self._run_cmd(sys.executable, (\u0027setup.py\u0027,) + args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":5,"id":"098f5304_c31c8b49","line":140,"in_reply_to":"6233255c_4ae98754","updated":"2025-07-02 18:14:31.000000000","message":"At least it\u0027ll be only our tests that break.","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"}],"pbr/tests/test_core.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"0696cb2f9021af9b35226bbc0835fe8157bf405b","unresolved":true,"context_lines":[{"line_number":102,"context_line":"        stdout, _, return_code \u003d self.run_setup("},{"line_number":103,"context_line":"            \u0027install_scripts\u0027, \u0027--install-dir\u003d%s\u0027 % self.temp_dir)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        self.useFixture(fixtures.EnvironmentVariable(\u0027PYTHONPATH\u0027, \u0027.\u0027))"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        self.check_script_install(stdout)"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"48373c55_a639289f","line":105,"updated":"2025-07-02 14:58:45.000000000","message":"Nit: This formatting change seems unrelated, am I missing something?","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"03ca808487e3e24c3c6a98022b9982fdd3ea35cd","unresolved":false,"context_lines":[{"line_number":102,"context_line":"        stdout, _, return_code \u003d self.run_setup("},{"line_number":103,"context_line":"            \u0027install_scripts\u0027, \u0027--install-dir\u003d%s\u0027 % self.temp_dir)"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"        self.useFixture(fixtures.EnvironmentVariable(\u0027PYTHONPATH\u0027, \u0027.\u0027))"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"        self.check_script_install(stdout)"},{"line_number":108,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"4097061c_37087029","line":105,"in_reply_to":"48373c55_a639289f","updated":"2025-07-02 18:14:31.000000000","message":"Unrelated but slipped in. I was counting on the syntax highlighting on the Gerrit UI to indicate this, but I\u0027m guessing you\u0027re using gertty 😅\n\nI can revert if I need to respin.","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"}],"pbr/tests/test_integration.py":[{"author":{"_account_id":5263,"name":"Jeremy Stanley","display_name":"fungi","email":"fungi@yuggoth.org","username":"fungi","status":"missing, presumed fed"},"change_message_id":"0696cb2f9021af9b35226bbc0835fe8157bf405b","unresolved":true,"context_lines":[{"line_number":120,"context_line":"        python \u003d venv.python"},{"line_number":121,"context_line":"        self.useFixture(base.CapturedSubprocess("},{"line_number":122,"context_line":"            \u0027sdist\u0027, [python, \u0027setup.py\u0027, \u0027sdist\u0027], cwd\u003dpath))"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        venv \u003d self.useFixture("},{"line_number":125,"context_line":"            test_packaging.Venv("},{"line_number":126,"context_line":"                \u0027tarball\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"b60bf035_2d8f6b0f","line":123,"updated":"2025-07-02 14:58:45.000000000","message":"Nit: Empty lines being added here and below for readability?","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"03ca808487e3e24c3c6a98022b9982fdd3ea35cd","unresolved":false,"context_lines":[{"line_number":120,"context_line":"        python \u003d venv.python"},{"line_number":121,"context_line":"        self.useFixture(base.CapturedSubprocess("},{"line_number":122,"context_line":"            \u0027sdist\u0027, [python, \u0027setup.py\u0027, \u0027sdist\u0027], cwd\u003dpath))"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"        venv \u003d self.useFixture("},{"line_number":125,"context_line":"            test_packaging.Venv("},{"line_number":126,"context_line":"                \u0027tarball\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"4d96ed4f_e9b6c0ba","line":123,"in_reply_to":"b60bf035_2d8f6b0f","updated":"2025-07-02 18:14:31.000000000","message":"Yes, in order to emphasise that there are really 4 tests happening here. As discussed on IRC I can\u0027t drag this into an earlier patch as this is the patch fixing the gate.","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"}],"pbr/tests/test_packaging.py":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"1eb3cdd99f6964bf4499d8539b8badd606b5c943","unresolved":true,"context_lines":[{"line_number":185,"context_line":"        \"\"\""},{"line_number":186,"context_line":"        self._reason \u003d reason"},{"line_number":187,"context_line":"        if modules \u003d\u003d ():"},{"line_number":188,"context_line":"            modules \u003d [\u0027pip\u0027, \u0027wheel\u0027, \u0027build\u0027, \u0027setuptools\u003c80\u0027, PBR_ROOT]"},{"line_number":189,"context_line":"        self.modules \u003d modules"},{"line_number":190,"context_line":"        if pip_cmd is None:"},{"line_number":191,"context_line":"            self.pip_cmd \u003d [\u0027-m\u0027, \u0027pip\u0027, \u0027-v\u0027, \u0027install\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"05f17593_a20080b6","line":188,"updated":"2025-07-02 17:20:05.000000000","message":"This change will effectively make every test in the pbr test suite use old setuptools even when we don\u0027t need to use old setuptools right? I think it is probably best if we use the modules parameter to specify setuptools\u003c80 in specific test cases that need it.","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"03ca808487e3e24c3c6a98022b9982fdd3ea35cd","unresolved":false,"context_lines":[{"line_number":185,"context_line":"        \"\"\""},{"line_number":186,"context_line":"        self._reason \u003d reason"},{"line_number":187,"context_line":"        if modules \u003d\u003d ():"},{"line_number":188,"context_line":"            modules \u003d [\u0027pip\u0027, \u0027wheel\u0027, \u0027build\u0027, \u0027setuptools\u003c80\u0027, PBR_ROOT]"},{"line_number":189,"context_line":"        self.modules \u003d modules"},{"line_number":190,"context_line":"        if pip_cmd is None:"},{"line_number":191,"context_line":"            self.pip_cmd \u003d [\u0027-m\u0027, \u0027pip\u0027, \u0027-v\u0027, \u0027install\u0027]"}],"source_content_type":"text/x-python","patch_set":5,"id":"1e525d10_4d5f9974","line":188,"in_reply_to":"05f17593_a20080b6","updated":"2025-07-02 18:14:31.000000000","message":"It\u0027s good point. I\u0027ll tack a change on at the end of the series addressing this.","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"}],"tools/integration.sh":[{"author":{"_account_id":4146,"name":"Clark Boylan","email":"cboylan@sapwetik.org","username":"cboylan"},"change_message_id":"1eb3cdd99f6964bf4499d8539b8badd606b5c943","unresolved":true,"context_lines":[{"line_number":168,"context_line":"    # old for setuptools v80.0.0+"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    # First check develop"},{"line_number":171,"context_line":"    # PBR_VERSION\u003d0.0 $epvenv/bin/pip install -e ./"},{"line_number":172,"context_line":"    # cat $epvenv/bin/test_cmd"},{"line_number":173,"context_line":"    # if [ -f ./pyproject.toml ] ; then"},{"line_number":174,"context_line":"    #     # Pip dev installs with pyproject.toml build from editable wheels"}],"source_content_type":"text/x-sh","patch_set":5,"id":"c4da9d5c_58486450","line":171,"updated":"2025-07-02 17:20:05.000000000","message":"Why do we need to comment out this case if it was already using `pip install -e` and not `setup.py develop` like the case above? The comment here indicates that pip is being used for the develop install case which should work?","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"03ca808487e3e24c3c6a98022b9982fdd3ea35cd","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    # old for setuptools v80.0.0+"},{"line_number":169,"context_line":""},{"line_number":170,"context_line":"    # First check develop"},{"line_number":171,"context_line":"    # PBR_VERSION\u003d0.0 $epvenv/bin/pip install -e ./"},{"line_number":172,"context_line":"    # cat $epvenv/bin/test_cmd"},{"line_number":173,"context_line":"    # if [ -f ./pyproject.toml ] ; then"},{"line_number":174,"context_line":"    #     # Pip dev installs with pyproject.toml build from editable wheels"}],"source_content_type":"text/x-sh","patch_set":5,"id":"a32d3962_a84179b6","line":171,"in_reply_to":"c4da9d5c_58486450","updated":"2025-07-02 18:14:31.000000000","message":"They\u0027re the same thing: this will fallthrough to using setuptools develop command which now calls pip. You can see this by looking at the build results from PS4","commit_id":"3f9c3d44883acc5be86d68a8195c0be2139b58ce"}]}
