)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"765d534c824e850798d6fe9addc03b0bb9c3914c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"3c3cc928_729bec7c","updated":"2022-07-12 08:52:10.000000000","message":"I would be tempted to pull this out of this series and just base it on master to merge separately","commit_id":"93bbd671018ee72668215af5d8bb3e54192da54e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9f3d20d5650d5c5b9ca066078d80f9f849e9f7a1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"dc0eccf9_425ee78b","in_reply_to":"3c3cc928_729bec7c","updated":"2022-07-25 13:19:09.000000000","message":"it turned out that this actually intermittently broke one of my new functional tests in the main series[1]. So I\u0027m moving this to the beginning of the series.\n\n[1] https://review.opendev.org/c/openstack/nova/+/846466/9#message-45b5eecdf57b9194db7dbe53edeb1fd18bdbfa05","commit_id":"93bbd671018ee72668215af5d8bb3e54192da54e"}],"nova/tests/fixtures/nova.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"765d534c824e850798d6fe9addc03b0bb9c3914c","unresolved":true,"context_lines":[{"line_number":1747,"context_line":""},{"line_number":1748,"context_line":"        def toxic_wrapper(*args, **kwargs):"},{"line_number":1749,"context_line":"            path \u003d args[0]"},{"line_number":1750,"context_line":"            if isinstance(path, bytes):"},{"line_number":1751,"context_line":"                pattern \u003d b\u0027/sys\u0027"},{"line_number":1752,"context_line":"            elif isinstance(path, str):"},{"line_number":1753,"context_line":"                pattern \u003d \u0027/sys\u0027"},{"line_number":1754,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"4b25e17c_6b6ba18f","line":1751,"range":{"start_line":1750,"start_character":12,"end_line":1751,"end_character":33},"updated":"2022-07-12 08:52:10.000000000","message":"do we can cases of byte strings\nit dose not hurt to handle both but just wondering if this is being defensive or if it was needed","commit_id":"93bbd671018ee72668215af5d8bb3e54192da54e"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"9f3d20d5650d5c5b9ca066078d80f9f849e9f7a1","unresolved":false,"context_lines":[{"line_number":1747,"context_line":""},{"line_number":1748,"context_line":"        def toxic_wrapper(*args, **kwargs):"},{"line_number":1749,"context_line":"            path \u003d args[0]"},{"line_number":1750,"context_line":"            if isinstance(path, bytes):"},{"line_number":1751,"context_line":"                pattern \u003d b\u0027/sys\u0027"},{"line_number":1752,"context_line":"            elif isinstance(path, str):"},{"line_number":1753,"context_line":"                pattern \u003d \u0027/sys\u0027"},{"line_number":1754,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":7,"id":"d47f8b5e_ec6abacf","line":1751,"range":{"start_line":1750,"start_character":12,"end_line":1751,"end_character":33},"in_reply_to":"4b25e17c_6b6ba18f","updated":"2022-07-25 13:19:09.000000000","message":"I could swear I added it because some test failed at \n  path.startswith(pattern) \n  \nwhen the pattern was str but the path was bytes. So I would like to keep it here.","commit_id":"93bbd671018ee72668215af5d8bb3e54192da54e"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"fc56a011b25a0b84ec77632c76659b08fb9e5dcb","unresolved":true,"context_lines":[{"line_number":1752,"context_line":"            # issue with @test.patch_open and isinstance in a simple python"},{"line_number":1753,"context_line":"            # interpreter. So to make progress I\u0027m checking the class name"},{"line_number":1754,"context_line":"            # here instead as that works."},{"line_number":1755,"context_line":"            orig_f.__class__.__name__ \u003d\u003d \"MagicMock\""},{"line_number":1756,"context_line":"        ):"},{"line_number":1757,"context_line":"            # the target is already mocked, probably via a decorator run at"},{"line_number":1758,"context_line":"            # import time, so we don\u0027t need to inject our poison"}],"source_content_type":"text/x-python","patch_set":11,"id":"2ef75182_11d184a1","line":1755,"updated":"2022-08-09 16:23:27.000000000","message":"Nope, this is because we monkeypatch mock in oslo.test [1]. See [2] where I noted the same behavior [2]\n\n[1] https://github.com/openstack/oslotest/blob/master/oslotest/mock_fixture.py#L42\n[2] https://github.com/openstack/nova/blob/de830f87b0f/nova/tests/fixtures/nova.py#L1611-L1616","commit_id":"5b3e6c11467ae4d861b921969ded1f6b6603e5a0"}]}
