{
  "_class" : "hudson.tasks.junit.CaseResult",
  "testActions" : [
    
  ],
  "age" : 1,
  "className" : "OmeroPy.test.integration.gatewaytest.test_image.TestImage",
  "duration" : 130.764,
  "errorDetails" : "failed on setup with \"urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>\"",
  "errorStackTrace" : "self = <urllib.request.HTTPSHandler object at 0x7f69aeb43d60>\u000ahttp_class = <class 'http.client.HTTPSConnection'>\u000areq = <urllib.request.Request object at 0x7f6a45ba82e0>\u000ahttp_conn_args = {'check_hostname': None, 'context': None}\u000ahost = 'downloads.openmicroscopy.org'\u000ah = <http.client.HTTPSConnection object at 0x7f6a45ba8070>\u000a\u000a    def do_open(self, http_class, req, **http_conn_args):\u000a        \"\"\"Return an HTTPResponse object for the request, using http_class.\u000a    \u000a        http_class must implement the HTTPConnection API from http.client.\u000a        \"\"\"\u000a        host = req.host\u000a        if not host:\u000a            raise URLError('no host given')\u000a    \u000a        # will parse host:port\u000a        h = http_class(host, timeout=req.timeout, **http_conn_args)\u000a        h.set_debuglevel(self._debuglevel)\u000a    \u000a        headers = dict(req.unredirected_hdrs)\u000a        headers.update({k: v for k, v in req.headers.items()\u000a                        if k not in headers})\u000a    \u000a        # TODO(jhylton): Should this be redesigned to handle\u000a        # persistent connections?\u000a    \u000a        # We want to make an HTTP/1.1 request, but the addinfourl\u000a        # class isn't prepared to deal with a persistent connection.\u000a        # It will try to read all remaining data from the socket,\u000a        # which will block while the server waits for the next request.\u000a        # So make sure the connection gets closed after the (only)\u000a        # request.\u000a        headers[\"Connection\"] = \"close\"\u000a        headers = {name.title(): val for name, val in headers.items()}\u000a    \u000a        if req._tunnel_host:\u000a            tunnel_headers = {}\u000a            proxy_auth_hdr = \"Proxy-Authorization\"\u000a            if proxy_auth_hdr in headers:\u000a                tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr]\u000a                # Proxy-Authorization should not be sent to origin\u000a                # server.\u000a                del headers[proxy_auth_hdr]\u000a            h.set_tunnel(req._tunnel_host, headers=tunnel_headers)\u000a    \u000a        try:\u000a            try:\u000a>               h.request(req.get_method(), req.selector, req.data, headers,\u000a                          encode_chunked=req.has_header('Transfer-encoding'))\u000a\u000a/usr/lib64/python3.9/urllib/request.py:1346: \u000a_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \u000a/usr/lib64/python3.9/http/client.py:1285: in request\u000a    self._send_request(method, url, body, headers, encode_chunked)\u000a/usr/lib64/python3.9/http/client.py:1331: in _send_request\u000a    self.endheaders(body, encode_chunked=encode_chunked)\u000a/usr/lib64/python3.9/http/client.py:1280: in endheaders\u000a    self._send_output(message_body, encode_chunked=encode_chunked)\u000a/usr/lib64/python3.9/http/client.py:1040: in _send_output\u000a    self.send(msg)\u000a/usr/lib64/python3.9/http/client.py:980: in send\u000a    self.connect()\u000a/usr/lib64/python3.9/http/client.py:1447: in connect\u000a    super().connect()\u000a/usr/lib64/python3.9/http/client.py:946: in connect\u000a    self.sock = self._create_connection(\u000a/usr/lib64/python3.9/socket.py:844: in create_connection\u000a    raise err\u000a_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \u000a\u000aaddress = ('downloads.openmicroscopy.org', 443)\u000atimeout = <object object at 0x7f6a96faeb40>, source_address = None\u000a\u000a    def create_connection(address, timeout=_GLOBAL_DEFAULT_TIMEOUT,\u000a                          source_address=None):\u000a        \"\"\"Connect to *address* and return the socket object.\u000a    \u000a        Convenience function.  Connect to *address* (a 2-tuple ``(host,\u000a        port)``) and return the socket object.  Passing the optional\u000a        *timeout* parameter will set the timeout on the socket instance\u000a        before attempting to connect.  If no *timeout* is supplied, the\u000a        global default timeout setting returned by :func:`getdefaulttimeout`\u000a        is used.  If *source_address* is set it must be a tuple of (host, port)\u000a        for the socket to bind as a source address before making the connection.\u000a        A host of '' or port 0 tells the OS to use the default.\u000a        \"\"\"\u000a    \u000a        host, port = address\u000a        err = None\u000a        for res in getaddrinfo(host, port, 0, SOCK_STREAM):\u000a            af, socktype, proto, canonname, sa = res\u000a            sock = None\u000a            try:\u000a                sock = socket(af, socktype, proto)\u000a                if timeout is not _GLOBAL_DEFAULT_TIMEOUT:\u000a                    sock.settimeout(timeout)\u000a                if source_address:\u000a                    sock.bind(source_address)\u000a>               sock.connect(sa)\u000aE               TimeoutError: [Errno 110] Connection timed out\u000a\u000a/usr/lib64/python3.9/socket.py:832: TimeoutError\u000a\u000aDuring handling of the above exception, another exception occurred:\u000a\u000arequest = <SubRequest 'author_testimg' for <Function testSimpleMarshal>>\u000agatewaywrapper = <omero.gateway.pytest_fixtures.GatewayWrapper object at 0x7f69ae3fedc0>\u000a\u000a    @pytest.fixture(scope='function')\u000a    def author_testimg(request, gatewaywrapper):\u000a        \"\"\"\u000a        logs in as Author and returns the test image, creating it first if needed.\u000a        \"\"\"\u000a        gatewaywrapper.loginAsAuthor()\u000a>       rv = gatewaywrapper.getTestImage(autocreate=True)\u000a\u000a../../../../.venv3/lib64/python3.9/site-packages/omero/gateway/pytest_fixtures.py:81: \u000a_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \u000a../../../../.venv3/lib64/python3.9/site-packages/omero/gateway/scripts/testdb_create.py:150: in getTestImage\u000a    return dbhelpers.getImage(self.gateway, 'testimg1', forceds=dataset,\u000a../../../../.venv3/lib64/python3.9/site-packages/omero/gateway/scripts/dbhelpers.py:501: in getImage\u000a    i = IMAGES[alias].create()\u000a../../../../.venv3/lib64/python3.9/site-packages/omero/gateway/scripts/dbhelpers.py:419: in create\u000a    fin = urllib.request.urlopen(TESTIMG_URL + self.filename)\u000a/usr/lib64/python3.9/urllib/request.py:214: in urlopen\u000a    return opener.open(url, data, timeout)\u000a/usr/lib64/python3.9/urllib/request.py:517: in open\u000a    response = self._open(req, data)\u000a/usr/lib64/python3.9/urllib/request.py:534: in _open\u000a    result = self._call_chain(self.handle_open, protocol, protocol +\u000a/usr/lib64/python3.9/urllib/request.py:494: in _call_chain\u000a    result = func(*args)\u000a/usr/lib64/python3.9/urllib/request.py:1389: in https_open\u000a    return self.do_open(http.client.HTTPSConnection, req,\u000a_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ \u000a\u000aself = <urllib.request.HTTPSHandler object at 0x7f69aeb43d60>\u000ahttp_class = <class 'http.client.HTTPSConnection'>\u000areq = <urllib.request.Request object at 0x7f6a45ba82e0>\u000ahttp_conn_args = {'check_hostname': None, 'context': None}\u000ahost = 'downloads.openmicroscopy.org'\u000ah = <http.client.HTTPSConnection object at 0x7f6a45ba8070>\u000a\u000a    def do_open(self, http_class, req, **http_conn_args):\u000a        \"\"\"Return an HTTPResponse object for the request, using http_class.\u000a    \u000a        http_class must implement the HTTPConnection API from http.client.\u000a        \"\"\"\u000a        host = req.host\u000a        if not host:\u000a            raise URLError('no host given')\u000a    \u000a        # will parse host:port\u000a        h = http_class(host, timeout=req.timeout, **http_conn_args)\u000a        h.set_debuglevel(self._debuglevel)\u000a    \u000a        headers = dict(req.unredirected_hdrs)\u000a        headers.update({k: v for k, v in req.headers.items()\u000a                        if k not in headers})\u000a    \u000a        # TODO(jhylton): Should this be redesigned to handle\u000a        # persistent connections?\u000a    \u000a        # We want to make an HTTP/1.1 request, but the addinfourl\u000a        # class isn't prepared to deal with a persistent connection.\u000a        # It will try to read all remaining data from the socket,\u000a        # which will block while the server waits for the next request.\u000a        # So make sure the connection gets closed after the (only)\u000a        # request.\u000a        headers[\"Connection\"] = \"close\"\u000a        headers = {name.title(): val for name, val in headers.items()}\u000a    \u000a        if req._tunnel_host:\u000a            tunnel_headers = {}\u000a            proxy_auth_hdr = \"Proxy-Authorization\"\u000a            if proxy_auth_hdr in headers:\u000a                tunnel_headers[proxy_auth_hdr] = headers[proxy_auth_hdr]\u000a                # Proxy-Authorization should not be sent to origin\u000a                # server.\u000a                del headers[proxy_auth_hdr]\u000a            h.set_tunnel(req._tunnel_host, headers=tunnel_headers)\u000a    \u000a        try:\u000a            try:\u000a                h.request(req.get_method(), req.selector, req.data, headers,\u000a                          encode_chunked=req.has_header('Transfer-encoding'))\u000a            except OSError as err: # timeout error\u000a>               raise URLError(err)\u000aE               urllib.error.URLError: <urlopen error [Errno 110] Connection timed out>\u000a\u000a/usr/lib64/python3.9/urllib/request.py:1349: URLError",
  "failedSince" : 205,
  "name" : "testSimpleMarshal",
  "properties" : {
    
  },
  "skipped" : False,
  "skippedMessage" : None,
  "status" : "REGRESSION",
  "stderr" : None,
  "stdout" : None
}