(self)
| 1147 | self.assertIn("Total tokens:", error_message) |
| 1148 | |
| 1149 | def test_keyboard_interrupt_handling(self): |
| 1150 | with GitTemporaryDirectory(): |
| 1151 | io = InputOutput(yes=True) |
| 1152 | coder = Coder.create(self.GPT35, "diff", io=io) |
| 1153 | |
| 1154 | # Simulate keyboard interrupt during message processing |
| 1155 | def mock_send(*args, **kwargs): |
| 1156 | coder.partial_response_content = "Partial response" |
| 1157 | coder.partial_response_function_call = dict() |
| 1158 | raise KeyboardInterrupt() |
| 1159 | |
| 1160 | coder.send = mock_send |
| 1161 | |
| 1162 | # Initial valid state |
| 1163 | sanity_check_messages(coder.cur_messages) |
| 1164 | |
| 1165 | # Process message that will trigger interrupt |
| 1166 | list(coder.send_message("Test message")) |
| 1167 | |
| 1168 | # Verify messages are still in valid state |
| 1169 | sanity_check_messages(coder.cur_messages) |
| 1170 | self.assertEqual(coder.cur_messages[-1]["role"], "assistant") |
| 1171 | |
| 1172 | def test_token_limit_error_handling(self): |
| 1173 | with GitTemporaryDirectory(): |
nothing calls this directly
no test coverage detected