)]}'
{"ironic_inspector/pxe_filter/dnsmasq.py":[{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"665da6e1be0e99aa55c2f04e2ff2ddd48cb4421f","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                # Go ahead and flush the data now instead of waiting until"},{"line_number":169,"context_line":"                # after the automatic flush with the file close after the"},{"line_number":170,"context_line":"                # file lock is released."},{"line_number":171,"context_line":"                f.flush()"},{"line_number":172,"context_line":"                return True"},{"line_number":173,"context_line":"            except IOError as e:"},{"line_number":174,"context_line":"                if e.errno \u003d\u003d os.errno.EWOULDBLOCK:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_a74e28bf","line":171,"range":{"start_line":171,"start_character":0,"end_line":171,"end_character":25},"updated":"2018-01-10 17:45:47.000000000","message":"nit: this might not be 100% necessary as the file descriptor is being opened in line-buffering mode","commit_id":"dd7086d0d58cd49f4e9fbc3b25944fb99ad12dc4"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"845eb7bfcda2cd4c83bb13cb4619ff372826fd9c","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                # Go ahead and flush the data now instead of waiting until"},{"line_number":169,"context_line":"                # after the automatic flush with the file close after the"},{"line_number":170,"context_line":"                # file lock is released."},{"line_number":171,"context_line":"                f.flush()"},{"line_number":172,"context_line":"                return True"},{"line_number":173,"context_line":"            except IOError as e:"},{"line_number":174,"context_line":"                if e.errno \u003d\u003d os.errno.EWOULDBLOCK:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_d231b4ee","line":171,"range":{"start_line":171,"start_character":0,"end_line":171,"end_character":25},"in_reply_to":"7f96bb07_a74e28bf","updated":"2018-01-10 17:54:56.000000000","message":"Personally, I don\u0027t trust python IO buffering, but that is just me, happy to remove it, but I don\u0027t think it is hurting anything.","commit_id":"dd7086d0d58cd49f4e9fbc3b25944fb99ad12dc4"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"5eb616d3d09f1b78723a6a6a9da5e075bd78b7bc","unresolved":false,"context_lines":[{"line_number":168,"context_line":"                # Go ahead and flush the data now instead of waiting until"},{"line_number":169,"context_line":"                # after the automatic flush with the file close after the"},{"line_number":170,"context_line":"                # file lock is released."},{"line_number":171,"context_line":"                f.flush()"},{"line_number":172,"context_line":"                return True"},{"line_number":173,"context_line":"            except IOError as e:"},{"line_number":174,"context_line":"                if e.errno \u003d\u003d os.errno.EWOULDBLOCK:"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_13739ee9","line":171,"range":{"start_line":171,"start_character":0,"end_line":171,"end_character":25},"in_reply_to":"7f96bb07_d231b4ee","updated":"2018-01-10 20:51:30.000000000","message":"definitely can\u0027t be hurting anything, one just can\u0027t trust a platform where fd.write() doesn\u0027t return bytes count ;)","commit_id":"dd7086d0d58cd49f4e9fbc3b25944fb99ad12dc4"}],"ironic_inspector/test/unit/test_dnsmasq_pxe_filter.py":[{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b7db82c157d4ea8dfca16af1beea3aad43fb5917","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def test_write(self):"},{"line_number":108,"context_line":"        wrote \u003d dnsmasq._exclusive_write_or_pass(self.path, self.buf)"},{"line_number":109,"context_line":"        self.assertIs(bool(self.mock_fd.write.return_value), wrote)"},{"line_number":110,"context_line":"        self.mock_open.assert_called_once_with(self.path, \u0027w\u0027, 1)"},{"line_number":111,"context_line":"        self.mock_fcntl.assert_has_calls("},{"line_number":112,"context_line":"            [self.fcntl_lock_call, self.fcntl_unlock_call])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_e81ddcbd","side":"PARENT","line":109,"updated":"2018-01-10 22:02:45.000000000","message":"Bad Julia! Bad! This should be changed to True...","commit_id":"6cfe607eaabb83849529fd7917c7f16f52fe3a94"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"832c8384d29ee71f6f432a0e1ce97cb1a2a730fa","unresolved":false,"context_lines":[{"line_number":106,"context_line":""},{"line_number":107,"context_line":"    def test_write(self):"},{"line_number":108,"context_line":"        wrote \u003d dnsmasq._exclusive_write_or_pass(self.path, self.buf)"},{"line_number":109,"context_line":"        self.assertIs(bool(self.mock_fd.write.return_value), wrote)"},{"line_number":110,"context_line":"        self.mock_open.assert_called_once_with(self.path, \u0027w\u0027, 1)"},{"line_number":111,"context_line":"        self.mock_fcntl.assert_has_calls("},{"line_number":112,"context_line":"            [self.fcntl_lock_call, self.fcntl_unlock_call])"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_a0192089","side":"PARENT","line":109,"in_reply_to":"7f96bb07_e81ddcbd","updated":"2018-01-11 08:33:47.000000000","message":"I never even set mock_fd.return_value in first place so it always was None ~\u003e False and the assertion passed all the time :-/","commit_id":"6cfe607eaabb83849529fd7917c7f16f52fe3a94"},{"author":{"_account_id":11655,"name":"Julia Kreger","email":"juliaashleykreger@gmail.com","username":"jkreger","status":"Flying to the moon with a Jetpack!"},"change_message_id":"b7db82c157d4ea8dfca16af1beea3aad43fb5917","unresolved":false,"context_lines":[{"line_number":124,"context_line":"            None, None]"},{"line_number":125,"context_line":"        wrote \u003d dnsmasq._exclusive_write_or_pass(self.path, self.buf)"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"        self.assertIs(bool(self.mock_fd.write.return_value), wrote)"},{"line_number":128,"context_line":"        self.mock_open.assert_called_once_with(self.path, \u0027w\u0027, 1)"},{"line_number":129,"context_line":"        self.mock_fcntl.assert_has_calls("},{"line_number":130,"context_line":"            [self.fcntl_lock_call, self.fcntl_unlock_call],"}],"source_content_type":"text/x-python","patch_set":1,"id":"7f96bb07_08da88e8","side":"PARENT","line":127,"updated":"2018-01-10 22:02:45.000000000","message":"ditto... *hangs head in shame*","commit_id":"6cfe607eaabb83849529fd7917c7f16f52fe3a94"},{"author":{"_account_id":18653,"name":"Milan Kováčik","email":"mkovacik@redhat.com","username":"dparalen"},"change_message_id":"832c8384d29ee71f6f432a0e1ce97cb1a2a730fa","unresolved":false,"context_lines":[{"line_number":144,"context_line":"        self.mock_fcntl.side_effect \u003d [err, None]"},{"line_number":145,"context_line":""},{"line_number":146,"context_line":"        wrote \u003d dnsmasq._exclusive_write_or_pass(self.path, self.buf)"},{"line_number":147,"context_line":"        self.assertEqual(0, wrote)"},{"line_number":148,"context_line":"        self.mock_open.assert_called_once_with(self.path, \u0027w\u0027, 1)"},{"line_number":149,"context_line":"        self.mock_fcntl.assert_has_calls("},{"line_number":150,"context_line":"            [self.fcntl_lock_call, self.fcntl_unlock_call])"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f96bb07_a0efe085","line":147,"range":{"start_line":147,"start_character":25,"end_line":147,"end_character":26},"updated":"2018-01-11 08:33:47.000000000","message":"Nit: this might be better changed to False to match the code","commit_id":"a192b893e486703c1e0465a722e91be570370584"}]}
