Regression
OmeroPy.test.integration.gatewaytest.test_wrapper.TestWrapper.testAllObjectsWrapped (from pytest)
Error Message
failed on setup with "ValueError: invalid literal for int() with base 10: b''"
Stacktrace
request = <SubRequest 'author_testimg' for <Function testAllObjectsWrapped>>
gatewaywrapper = <omero.gateway.pytest_fixtures.GatewayWrapper object at 0x7f49b7397f90>
@pytest.fixture(scope='function')
def author_testimg(request, gatewaywrapper):
"""
logs in as Author and returns the test image, creating it first if needed.
"""
gatewaywrapper.loginAsAuthor()
> rv = gatewaywrapper.getTestImage(autocreate=True)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/pytest_fixtures.py:81:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/scripts/testdb_create.py:148: in getTestImage
return dbhelpers.getImage(self.gateway, 'testimg1', forceds=dataset,
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/scripts/dbhelpers.py:489: in getImage
i = IMAGES[alias].create()
^^^^^^^^^^^^^^^^^^^^^^
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
self = <omero.gateway.scripts.dbhelpers.ImageEntry object at 0x7f49a053a2d0>
def create(self):
if isinstance(self.dataset, str):
dataset = DATASETS[self.dataset]
project = PROJECTS[dataset.project]
client = USERS[project.owner].login()
dataset = dataset.get(client)
else:
dataset = self.dataset
client = dataset._conn
i = self.get(client, dataset)
if i is not None:
# print ".. -> image already exists: %s" % self.name
return i
# print ".. -> create new image: %s" % self.name
sys.stderr.write('I')
if self.filename is False:
UserEntry.setGroupForSession(
client, dataset.getDetails().getGroup().getName())
self._createWithoutPixels(client, dataset)
return self.get(client, dataset)
fpath = os.path.join(BASEPATH, self.filename)
if not os.path.exists(fpath):
if not os.path.exists(os.path.dirname(fpath)):
os.makedirs(os.path.dirname(fpath))
if self.filename.endswith('.fake'):
# If it's a .fake file, simply create it
os.close(os.open(fpath, os.O_CREAT | os.O_EXCL))
else:
raise IOError('No such file %s' % fpath)
host = dataset._conn.c.ic.getProperties().getProperty(
'omero.host') or 'localhost'
port = dataset._conn.c.ic.getProperties().getProperty(
'omero.port') or '4063'
exe = "omero"
newconn = dataset._conn.clone()
newconn.connect()
try:
UserEntry.setGroupForSession(
newconn, dataset.getDetails().getGroup().getName())
session = newconn._sessionUuid
# print session
exe += ' -s %s -k %s -p %s import -d %i --output legacy -n' % (
host, session, port, dataset.getId())
exe = exe.split() + [self.name, fpath]
print(' '.join(exe))
try:
p = subprocess.Popen(
exe, shell=False, stdout=subprocess.PIPE,
stderr=subprocess.PIPE)
except OSError:
print("!!Please make sure the 'omero' executable is in PATH")
return None
pid = p.communicate()
try:
img = omero.gateway.ImageWrapper(
dataset._conn,
dataset._conn.getQueryService().find(
> 'Pixels', int(pid[0].split(b'\n')[0].strip())).image)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E ValueError: invalid literal for int() with base 10: b''
../../../../.venv3/lib64/python3.11/site-packages/omero/gateway/scripts/dbhelpers.py:442: ValueError