self = <test_populate.TestPopulateMetadata object at 0x7f616813fd10>
fixture = <test_populate.Dataset2Images object at 0x7f616809fd50>
batch_size = 1
@mark.parametrize("fixture", METADATA_FIXTURES, ids=METADATA_IDS)
@mark.parametrize("batch_size", (None, 1, 10))
def testPopulateMetadata(self, fixture, batch_size):
"""
We should really test each of the parsing contexts in separate tests
but in practice each one uses data created by the others, so for
now just run them all together
"""
fixture.init(self)
t = self._test_parsing_context(fixture, batch_size)
self._assert_parsing_context_values(t, fixture)
self._test_bulk_to_map_annotation_context(fixture, batch_size)
> self._test_delete_map_annotation_context(fixture, batch_size)
test/integration/metadata/test_populate.py:1027:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/integration/metadata/test_populate.py:973: in _test_delete_map_annotation_context
ctx.write_to_omero(batch_size=batch_size)
../../../../.venv3/lib64/python3.11/site-packages/omero/util/populate_metadata.py:1659: in write_to_omero
self._write_to_omero_batch(
../../../../.venv3/lib64/python3.11/site-packages/omero/util/populate_metadata.py:1668: in _write_to_omero_batch
callback = self.client.submit(
../../../../.venv3/lib64/python3.11/site-packages/omero/clients.py:966: in submit
return self.waitOnCmd(
../../../../.venv3/lib64/python3.11/site-packages/omero/clients.py:989: in waitOnCmd
callback.loop(loops, ms) # Throw LockTimeout
^^^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = object #0 (::omero::cmd::CmdCallback)
{
}, loops = 10, ms = 500
def loop(self, loops, ms):
"""
Calls block(long) "loops" number of times with the "ms"
argument. This means the total wait time for the delete to occur
is: loops X ms. Sensible values might be 10 loops for 500 ms, or
5 seconds.
@param loops Number of times to call block(long)
@param ms Number of milliseconds to pass to block(long
@throws omero.LockTimeout if block(long) does not return
a non-null value after loops calls.
"""
count = 0
found = False
while count < loops:
count += 1
found = self.block(ms)
if found:
break
if found:
return self.getResponse()
else:
waited = (ms / 1000.0) * loops
> raise omero.LockTimeout(
None, None, "Command unfinished after %s seconds" % waited,
5000, int(waited))
E omero.LockTimeout: exception ::omero::LockTimeout
E {
E serverStackTrace = None
E serverExceptionClass = None
E message = Command unfinished after 5.0 seconds
E backOff = 5000
E seconds = 5
E }
../../../../.venv3/lib64/python3.11/site-packages/omero/callbacks.py:258: LockTimeout