Fixing timeouts in label detection, maybe.
This commit is contained in:
1 parent
9925362352
commit
c58bbc3672
2 files changed
+34
-5
No files matched your search
@@ -69,10 +69,25 @@ class LabelTimeoutTests(unittest.TestCase):
|
||||
self.assertEqual(self.client.models.generate_content.call_count, 2)
|
||||
for call in self.client.models.generate_content.call_args_list:
|
||||
options = call.kwargs["config"].http_options
|
||||
self.assertEqual(options.timeout, 120_000)
|
||||
self.assertEqual(options.timeout, 80_000)
|
||||
self.assertEqual(options.retry_options.attempts, 1)
|
||||
self.assertTrue((self.workspace.copies_dir / "Copie01_01.json").exists())
|
||||
|
||||
def test_retries_use_low_thinking_and_next_image_restores_configured_level(self):
|
||||
self.client.models.generate_content.side_effect = [
|
||||
TimeoutError(), TimeoutError(), self.response, self.response,
|
||||
]
|
||||
with patch.object(labels.config, "THINKING_LEVEL_FOR_LABEL", "medium"):
|
||||
self.assertEqual(self.group(self.images[:2]), 2)
|
||||
self.assertEqual(labels.config.THINKING_LEVEL_FOR_LABEL, "medium")
|
||||
configs = [call.kwargs["config"]
|
||||
for call in self.client.models.generate_content.call_args_list]
|
||||
self.assertEqual(
|
||||
[cfg.thinking_config.thinking_level.value for cfg in configs],
|
||||
["MEDIUM", "LOW", "LOW", "MEDIUM"],
|
||||
)
|
||||
self.assertTrue(all(cfg.http_options.timeout == 80_000 for cfg in configs))
|
||||
|
||||
def test_exhaustion_defers_dependent_pages_but_other_copies_finish_and_resume(self):
|
||||
self.client.models.generate_content.side_effect = [
|
||||
TimeoutError(), TimeoutError(), TimeoutError(), self.response,
|
||||
@@ -99,9 +114,15 @@ class LabelTimeoutTests(unittest.TestCase):
|
||||
self.client.models.generate_content.side_effect = [Mock(text=(
|
||||
'{"name":"Student","list":[{"box_2d":[1,2,3,4],"label":"bad%d"}]}' % index
|
||||
)) for index in range(3)]
|
||||
with self.assertRaises(labels.IncompleteCopyError):
|
||||
with patch.object(labels.config, "THINKING_LEVEL_FOR_LABEL", "medium"), \
|
||||
self.assertRaises(labels.IncompleteCopyError):
|
||||
self.group(self.images[:1])
|
||||
self.assertEqual(self.client.models.generate_content.call_count, 3)
|
||||
self.assertEqual(
|
||||
[call.kwargs["config"].thinking_config.thinking_level.value
|
||||
for call in self.client.models.generate_content.call_args_list],
|
||||
["MEDIUM", "LOW", "LOW"],
|
||||
)
|
||||
|
||||
def test_progress_reports_waiting_image_and_elapsed_time(self):
|
||||
entered, release = Event(), Event()
|
||||
|
||||
Reference in new issue
Block a user