TheRacetrack / racetrack

An opinionated framework for deploying, managing, and serving application workloads
https://theracetrack.github.io/racetrack/
Apache License 2.0
28 stars 6 forks source link

Fix importing ExceptionGroup #420

Closed iszulcdeepsense closed 7 months ago

iszulcdeepsense commented 7 months ago

For some reason Python unit tests are failing after applying slight changes in requirements.txt:

ImportError while importing test module '/home/ireneusz/src/racetrack/lifecycle/tests/server/test_version.py'.
Hint: make sure your test modules/packages have valid Python names.
Traceback:
../../venv/lib/python3.11/site-packages/_pytest/python.py:618: in _importtestmodule
    mod = import_path(self.path, mode=importmode, root=self.config.rootpath)
../../venv/lib/python3.11/site-packages/_pytest/pathlib.py:533: in import_path
    importlib.import_module(module_name)
/usr/lib/python3.11/importlib/__init__.py:126: in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
<frozen importlib._bootstrap>:1204: in _gcd_import
    ???
<frozen importlib._bootstrap>:1176: in _find_and_load
    ???
<frozen importlib._bootstrap>:1147: in _find_and_load_unlocked
    ???
<frozen importlib._bootstrap>:690: in _load_unlocked
    ???
../../venv/lib/python3.11/site-packages/_pytest/assertion/rewrite.py:168: in exec_module
    exec(co, module.__dict__)
server/test_version.py:9: in <module>
    from lifecycle.server.api import create_fastapi_app
../lifecycle/server/api.py:27: in <module>
    from racetrack_commons.api.asgi.error_handler import register_error_handlers
../../racetrack_commons/racetrack_commons/api/asgi/error_handler.py:3: in <module>
    from exceptiongroup import ExceptionGroup
E   ModuleNotFoundError: No module named 'exceptiongroup'

We should use https://docs.python.org/3/library/exceptions.html#exception-groups from official Python, but that's new in version 3.11