<?xml version="1.0" encoding="utf-8"?><testsuites name="pytest tests"><testsuite name="pytest" errors="0" failures="1" skipped="0" tests="17" time="140.345" timestamp="2026-04-27T00:47:39.766588+00:00" hostname="agent-env-21053e92-2dc9-4496-92af-9cf28baf01f2"><testcase classname="backend.tests.backend_test" name="test_root" time="15.393" /><testcase classname="backend.tests.backend_test" name="test_markets" time="30.109"><failure message="requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='smart-portfolio-ai-28.preview.emergentagent.com', port=443): Read timed out. (read timeout=30)">/root/.venv/lib/python3.11/site-packages/urllib3/connectionpool.py:534: in _make_request
    response = conn.getresponse()
               ^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/urllib3/connection.py:571: in getresponse
    httplib_response = super().getresponse()
                       ^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.11/http/client.py:1415: in getresponse
    response.begin()
/usr/local/lib/python3.11/http/client.py:330: in begin
    version, status, reason = self._read_status()
                              ^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.11/http/client.py:291: in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.11/socket.py:718: in readinto
    return self._sock.recv_into(b)
           ^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.11/ssl.py:1314: in recv_into
    return self.read(nbytes, buffer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
/usr/local/lib/python3.11/ssl.py:1166: in read
    return self._sslobj.read(len, buffer)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
E   TimeoutError: The read operation timed out

The above exception was the direct cause of the following exception:
/root/.venv/lib/python3.11/site-packages/requests/adapters.py:645: in send
    resp = conn.urlopen(
/root/.venv/lib/python3.11/site-packages/urllib3/connectionpool.py:841: in urlopen
    retries = retries.increment(
/root/.venv/lib/python3.11/site-packages/urllib3/util/retry.py:490: in increment
    raise reraise(type(error), error, _stacktrace)
          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/urllib3/util/util.py:39: in reraise
    raise value
/root/.venv/lib/python3.11/site-packages/urllib3/connectionpool.py:787: in urlopen
    response = self._make_request(
/root/.venv/lib/python3.11/site-packages/urllib3/connectionpool.py:536: in _make_request
    self._raise_timeout(err=e, url=url, timeout_value=read_timeout)
/root/.venv/lib/python3.11/site-packages/urllib3/connectionpool.py:367: in _raise_timeout
    raise ReadTimeoutError(
E   urllib3.exceptions.ReadTimeoutError: HTTPSConnectionPool(host='smart-portfolio-ai-28.preview.emergentagent.com', port=443): Read timed out. (read timeout=30)

During handling of the above exception, another exception occurred:
backend/tests/backend_test.py:21: in test_markets
    r = requests.get(f"{BASE_URL}/api/crypto/markets", timeout=30)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/requests/api.py:73: in get
    return request("get", url, params=params, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/requests/api.py:59: in request
    return session.request(method=method, url=url, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/requests/sessions.py:592: in request
    resp = self.send(prep, **send_kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/requests/sessions.py:706: in send
    r = adapter.send(request, **kwargs)
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
/root/.venv/lib/python3.11/site-packages/requests/adapters.py:691: in send
    raise ReadTimeout(e, request=request)
E   requests.exceptions.ReadTimeout: HTTPSConnectionPool(host='smart-portfolio-ai-28.preview.emergentagent.com', port=443): Read timed out. (read timeout=30)</failure></testcase><testcase classname="backend.tests.backend_test" name="test_markets_cached_fast" time="18.750" /><testcase classname="backend.tests.backend_test" name="test_global" time="0.164" /><testcase classname="backend.tests.backend_test" name="test_me_no_auth" time="0.125" /><testcase classname="backend.tests.backend_test" name="test_me_with_auth" time="0.153" /><testcase classname="backend.tests.backend_test" name="test_session_invalid" time="0.191" /><testcase classname="backend.tests.backend_test" name="test_watchlist_crud" time="0.556" /><testcase classname="backend.tests.backend_test" name="test_chat_create_session" time="0.225" /><testcase classname="backend.tests.backend_test" name="test_chat_list_sessions" time="0.146" /><testcase classname="backend.tests.backend_test" name="test_chat_message_french" time="3.705" /><testcase classname="backend.tests.backend_test" name="test_suggestions" time="8.485" /><testcase classname="backend.tests.backend_test" name="test_investments_no_auth" time="0.255" /><testcase classname="backend.tests.backend_test" name="test_investments_validation_amount" time="0.113" /><testcase classname="backend.tests.backend_test" name="test_investments_validation_buy_price" time="0.115" /><testcase classname="backend.tests.backend_test" name="test_investments_crud_and_enrichment" time="37.034" /><testcase classname="backend.tests.backend_test" name="test_investments_empty_returns_zero_totals" time="24.515" /></testsuite></testsuites>