-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Labels
part:testsAffects the unit, integration and performance (benchmarks) testsAffects the unit, integration and performance (benchmarks) testspriority:❓We need to figure out how soon this should be addressedWe need to figure out how soon this should be addressedtype:bugSomething isn't workingSomething isn't working
Milestone
Description
What happened?
We have quite a few warnings when running the tests. Some seem to be indicating real bugs.
Warnings at the time of writing
$ nox -R -s pytest_max
...
==================================================================================================================================================== warnings summary =====================================================================================================================================================
tests/actor/test_resampling.py::test_duplicate_request
tests/actor/test_resampling.py::test_duplicate_request
tests/actor/test_resampling.py::test_duplicate_request
tests/actor/test_resampling.py::test_duplicate_request
tests/actor/test_resampling.py::test_duplicate_request
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:452: RuntimeWarning: coroutine '_Sender.send' was never awaited
async with self._channel._recv_cv:
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/usr/lib/python3.11/inspect.py:3157: RuntimeWarning: coroutine 'LatestValueCache._run' was never awaited
arg_val = kwargs.pop(param_name)
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py:351: RuntimeWarning: coroutine '_Receiver.ready' was never awaited
async for selected in select(
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py:351: RuntimeWarning: coroutine 'Timer.ready' was never awaited
async for selected in select(
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/usr/lib/python3.11/unittest/mock.py:2515: RuntimeWarning: coroutine 'BatteryStatusTracker._run' was never awaited
return tuple.__new__(cls, (name, args, kwargs))
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/usr/lib/python3.11/unittest/mock.py:2515: RuntimeWarning: coroutine 'LatestValueCache._run' was never awaited
return tuple.__new__(cls, (name, args, kwargs))
Enable tracemalloc to get traceback where the object was allocated.
See https://docs.pytest.org/en/stable/how-to/capture-warnings.html#resource-warnings for more info.
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f6223d5e940>
Traceback (most recent call last):
File "/usr/lib/python3.11/unittest/mock.py", line 2515, in __new__
return tuple.__new__(cls, (name, args, kwargs))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: coroutine ignored GeneratorExit
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_missing_bat
tests/timeseries/test_consumer.py::TestConsumer::test_consumer_power_no_grid_meter
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <function BackgroundService.__del__ at 0x7f624dbe59e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/test_frequency_streaming.py::test_grid_frequency_none
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f6222991440>
Traceback (most recent call last):
File "/usr/lib/python3.11/inspect.py", line 2119, in _signature_strip_non_python_syntax
lines = [l.encode('ascii') for l in signature.split('\n') if l]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: coroutine ignored GeneratorExit
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/test_logical_meter.py::TestLogicalMeter::test_chp_power
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object AsyncExitStack.__aexit__ at 0x7f6223779a80>
Traceback (most recent call last):
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 118, in multi_phase_senders
Sample[Quantity], p3_name
~~~~~~^^^^^^^^^^
RuntimeError: coroutine ignored GeneratorExit
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/test_producer.py::TestProducer::test_producer_power
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f6223d5e840>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py", line 115, in _run
await self._update_status()
GeneratorExit
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py", line 110, in _run
async with contextlib.AsyncExitStack() as stack:
File "/usr/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/test_quantities.py::test_to_and_from_string[0-Power]
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object AsyncExitStack.__aexit__ at 0x7f622377a840>
Traceback (most recent call last):
File "/usr/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
By enabling some Python debug features, more information can be obtained, but it is usually much much slower to run.
Example
$ PYTHONTRACEMALLOC=40 noxl -R -s pytest_max -- tests/timeseries/_formula_engine/test_formula_composition.py
nox > Running session pytest_max
nox > pytest -W=all -vv tests/timeseries/_formula_engine/test_formula_composition.py
=================================================================================================================================================== test session starts ===================================================================================================================================================
platform linux -- Python 3.11.9, pytest-8.2.0, pluggy-1.5.0 -- /home/luca/devel/sdk/.direnv/python-3.11/bin/python3
cachedir: .pytest_cache
hypothesis profile 'default' -> database=DirectoryBasedExampleDatabase(PosixPath('/home/luca/devel/sdk/.hypothesis/examples'))
rootdir: /home/luca/devel/sdk
configfile: pyproject.toml
plugins: anyio-4.4.0, asyncio-0.23.6, mock-3.14.0, time-machine-2.12.0, hypothesis-6.100.2
asyncio: mode=Mode.AUTO
collected 7 items
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition PASSED [ 14%]
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_missing_pv PASSED [ 28%]
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_missing_bat PASSED [ 42%]
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_min_max PASSED [ 57%]
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_min_max_const PASSED [ 71%]
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_constant PASSED [ 85%]
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_3_phase_formulas PASSED [100%]
==================================================================================================================================================== warnings summary =====================================================================================================================================================
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_constant
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f6b17b4c740>
Traceback (most recent call last):
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py", line 391, in __init__
self._name: str = name if name is not None else f"{id(self):_}"
^^^^^^^^^^^^^^^
RuntimeError: coroutine ignored GeneratorExit
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
============================================================================================================================================== 7 passed, 1 warning in 48.60s ==============================================================================================================================================
Task was destroyed but it is pending!
task: <Task pending name='#47' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#37' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#7' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#17' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#57' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='Task-13' coro=<Actor._run_loop() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py:91> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='LatestValueCache«PVManager«0x7f6b17b49150»:inverter«48»»' coro=<LatestValueCache._run() running at /home/luca/devel/sdk/src/frequenz/sdk/_internal/_channels.py:92> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='LatestValueCache«PVManager«0x7f6b17b49150»:inverter«58»»' coro=<LatestValueCache._run() running at /home/luca/devel/sdk/src/frequenz/sdk/_internal/_channels.py:92> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756121018577' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='8756121018557' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='8756121018613' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='8756126486997' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='8756116085697' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='0' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='1' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#27' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#18' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#38' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#28' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#48' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='#58' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Actor PowerDistributingActor[140097935939856]: Raised a BaseException.
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py", line 91, in _run_loop
await self._run()
GeneratorExit
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-12' coro=<ComponentPoolStatusTracker._run() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py:115> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f6b17b4de40>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py", line 110, in _run
async with contextlib.AsyncExitStack() as stack:
File "/usr/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
Task was destroyed but it is pending!
task: <Task pending name='Task-14' coro=<Actor._run_loop() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py:91> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task cancelling name='Task-33' coro=<PVInverterStatusTracker._run_forever() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_status/_pv_inverter_status_tracker.py:93> wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task cancelling name='Task-34' coro=<PVInverterStatusTracker._run_forever() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_status/_pv_inverter_status_tracker.py:93> wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task pending name='1' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='0' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Actor PowerManagingActor[140097936297744]: Raised a BaseException.
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py", line 91, in _run_loop
await self._run()
GeneratorExit
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='8756121018417' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756121018505' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756126487309' coro=<Timer.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/timer.py:667> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756116084969' coro=<Timer.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/timer.py:667> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756116084925' coro=<Timer.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/timer.py:667> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Exception ignored in: <coroutine object AsyncExitStack.__aexit__ at 0x7f6b1cfbafc0>
Traceback (most recent call last):
File "/usr/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
Task was destroyed but it is pending!
task: <Task pending name='#4' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='grid-power' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='grid-power' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='grid-power' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='grid-power' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='grid-power' coro=<MetricFetcher.fetch_next() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_steps.py:393> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='Task-412' coro=<FormulaEngine._run() running at /home/luca/devel/sdk/src/frequenz/sdk/timeseries/formula_engine/_formula_engine.py:379> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task pending name='Task-422' coro=<ComponentPoolStatusTracker._run() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py:115> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task cancelling name='Task-423' coro=<Actor._run_loop() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py:91> wait_for=<Future cancelled>>
Exception ignored in: <function BackgroundService.__del__ at 0x7f6b3b4e19e0>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
Task was destroyed but it is pending!
task: <Task cancelling name='Task-424' coro=<Actor._run_loop() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py:91> wait_for=<Future cancelled>>
Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f6b17b4ce40>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py", line 110, in _run
async with contextlib.AsyncExitStack() as stack:
File "/usr/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
Actor PowerDistributingActor[140097935796560]: Raised a BaseException.
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py", line 91, in _run_loop
await self._run()
GeneratorExit
Actor PowerManagingActor[140097935797200]: Raised a BaseException.
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py", line 91, in _run_loop
await self._run()
GeneratorExit
Task was destroyed but it is pending!
task: <Task cancelling name='Task-435' coro=<EVChargerStatusTracker._run_forever() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_status/_ev_charger_status_tracker.py:107> wait_for=<Future cancelled>>
Task was destroyed but it is pending!
task: <Task pending name='Task-436' coro=<EVChargerManager._run_forever() running at /home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_managers/_ev_charger_manager/_ev_charger_manager.py:217> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756120987169' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756120987625' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756120987361' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756126506645' coro=<Timer.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/timer.py:667> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756126506873' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756120987569' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756126506185' coro=<Timer.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/timer.py:667> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='0' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]> cb=[_wait.<locals>._on_completion() at /usr/lib/python3.11/asyncio/tasks.py:519]>
Task was destroyed but it is pending!
task: <Task pending name='8756126506561' coro=<Merger.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_merge.py:160> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='8756126506317' coro=<_Receiver.ready() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py:453> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='0' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]>>
Task was destroyed but it is pending!
task: <Task pending name='0' coro=<Receiver.__anext__() running at /home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_receiver.py:159> wait_for=<Future pending cb=[Task.task_wakeup()]>>
An incomplete run of all the tests with `PYTHONMALLOC=debug PYTHONTRACEMALLOC=30`
$ PYTHONMALLOC=debug PYTHONTRACEMALLOC=30 pytes
...
==================================================================================================================================================== warnings summary =====================================================================================================================================================
tests/actor/test_resampling.py::test_duplicate_request
/usr/lib/python3.11/asyncio/base_events.py:437: RuntimeWarning: coroutine '_Sender.send' was never awaited
task = tasks.Task(coro, loop=self, name=name, context=context)
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/main.py", line 285
session.exitstatus = doit(config, session) or 0
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/main.py", line 339
config.hook.pytest_runtestloop(session=session)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/main.py", line 364
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 116
runtestprotocol(item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 135
reports.append(call_and_report(item, "call", log))
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 240
call = CallInfo.from_call(
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 341
result: Optional[TResult] = func()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 241
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 173
item.runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 436
super().runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1627
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 162
result = testfunction(**testargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 897
_loop.run_until_complete(task)
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_data_sourcing/microgrid_api_source.py", line 406
awaitables.append(sender.send(sample))
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/usr/lib/python3.11/inspect.py:2481: RuntimeWarning: coroutine 'LatestValueCache._run' was never awaited
sig = obj.__signature__
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/main.py", line 364
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 116
runtestprotocol(item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 135
reports.append(call_and_report(item, "call", log))
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 240
call = CallInfo.from_call(
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 341
result: Optional[TResult] = func()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 241
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 173
item.runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 436
super().runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1627
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 162
result = testfunction(**testargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 897
_loop.run_until_complete(task)
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py", line 91
await self._run()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/power_distributing.py", line 127
await self._component_manager.start()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_managers/_battery_manager.py", line 191
await self._create_channels()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_managers/_battery_manager.py", line 328
self._inverter_caches[inverter_id] = LatestValueCache(
File "/home/luca/devel/sdk/src/frequenz/sdk/_internal/_channels.py", line 58
self._run(), name=f"LatestValueCache«{self._unique_id}»"
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py:351: RuntimeWarning: coroutine 'Timer.ready' was never awaited
async for selected in select(
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 159
item.session._setupstate.setup(item)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 512
col.setup()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1630
self._request._fillfixtures()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 683
item.funcargs[argname] = self.getfixturevalue(argname)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 518
fixturedef = self._get_active_fixturedef(argname)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 603
fixturedef.execute(request=subrequest)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 1073
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 1122
result = call_fixture_func(fixturefunc, request, kwargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 884
fixture_result = fixturefunc(**kwargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 344
result = event_loop.run_until_complete(setup())
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 326
res = await gen_obj.__anext__()
File "/home/luca/devel/sdk/tests/timeseries/_battery_pool/test_battery_pool_control_methods.py", line 53
await mockgrid.start(mocker)
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 196
self.mock_resampler = MockResampler(
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 180
self._meter_voltage_senders = voltage_senders(meter_ids)
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 153
return multi_phase_senders(
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 111
self._channel_registry.get_or_create(
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_channel_registry.py", line 102
message_type, Broadcast(name=f"{self._name}-{key}")
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py", line 205
self._recv_cv: Condition = Condition()
File "/usr/lib/python3.11/asyncio/locks.py", line 239
self._waiters = collections.deque()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py", line 351
async for selected in select(
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py:351: RuntimeWarning: coroutine '_Receiver.ready' was never awaited
async for selected in select(
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 159
item.session._setupstate.setup(item)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 512
col.setup()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1630
self._request._fillfixtures()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 683
item.funcargs[argname] = self.getfixturevalue(argname)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 518
fixturedef = self._get_active_fixturedef(argname)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 603
fixturedef.execute(request=subrequest)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 1073
result = ihook.pytest_fixture_setup(fixturedef=self, request=request)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 1122
result = call_fixture_func(fixturefunc, request, kwargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/fixtures.py", line 884
fixture_result = fixturefunc(**kwargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 344
result = event_loop.run_until_complete(setup())
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 326
res = await gen_obj.__anext__()
File "/home/luca/devel/sdk/tests/timeseries/_battery_pool/test_battery_pool_control_methods.py", line 53
await mockgrid.start(mocker)
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 196
self.mock_resampler = MockResampler(
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 180
self._meter_voltage_senders = voltage_senders(meter_ids)
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 153
return multi_phase_senders(
File "/home/luca/devel/sdk/tests/timeseries/mock_resampler.py", line 111
self._channel_registry.get_or_create(
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_channel_registry.py", line 102
message_type, Broadcast(name=f"{self._name}-{key}")
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py", line 205
self._recv_cv: Condition = Condition()
File "/usr/lib/python3.11/asyncio/locks.py", line 239
self._waiters = collections.deque()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py", line 351
async for selected in select(
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/usr/lib/python3.11/asyncio/locks.py:239: RuntimeWarning: coroutine 'BatteryStatusTracker._run' was never awaited
self._waiters = collections.deque()
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/main.py", line 364
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 116
runtestprotocol(item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 135
reports.append(call_and_report(item, "call", log))
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 240
call = CallInfo.from_call(
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 341
result: Optional[TResult] = func()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 241
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 173
item.runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 436
super().runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1627
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 162
result = testfunction(**testargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 897
_loop.run_until_complete(task)
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_pool_status_tracker.py", line 112
await stack.enter_async_context(tracker)
File "/usr/lib/python3.11/contextlib.py", line 650
result = await _enter(cm)
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 167
self.start()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_status/_battery_status_tracker.py", line 159
self._run(self._status_sender, self._set_power_result_receiver)
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/usr/lib/python3.11/asyncio/locks.py:239: RuntimeWarning: coroutine 'LatestValueCache._run' was never awaited
self._waiters = collections.deque()
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/main.py", line 364
item.config.hook.pytest_runtest_protocol(item=item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 116
runtestprotocol(item, nextitem=nextitem)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 135
reports.append(call_and_report(item, "call", log))
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 240
call = CallInfo.from_call(
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 341
result: Optional[TResult] = func()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 241
lambda: runtest_hook(item=item, **kwds), when=when, reraise=reraise
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 173
item.runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 436
super().runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1627
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 162
result = testfunction(**testargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 897
_loop.run_until_complete(task)
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_actor.py", line 91
await self._run()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/power_distributing.py", line 127
await self._component_manager.start()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_managers/_battery_manager.py", line 191
await self._create_channels()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/power_distributing/_component_managers/_battery_manager.py", line 328
self._inverter_caches[inverter_id] = LatestValueCache(
File "/home/luca/devel/sdk/src/frequenz/sdk/_internal/_channels.py", line 58
self._run(), name=f"LatestValueCache«{self._unique_id}»"
tests/timeseries/_battery_pool/test_battery_pool_control_methods.py::TestBatteryPoolControl::test_case_1
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f2c5857fce0>
Traceback (most recent call last):
File "/usr/lib/python3.11/asyncio/locks.py", line 239, in __init__
self._waiters = collections.deque()
^^^^^^^^^^^^^^^^^^^
RuntimeError: coroutine ignored GeneratorExit
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition
/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py:351: RuntimeWarning: coroutine '_Receiver.ready' was never awaited
async for selected in select(
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 173
item.runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 436
super().runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1627
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 162
result = testfunction(**testargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 897
_loop.run_until_complete(task)
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/tests/timeseries/_formula_engine/test_formula_composition.py", line 34
async with mockgrid, AsyncExitStack() as stack:
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 605
await self.start()
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 195
self.init_mock_client(lambda mock_client: mock_client.initialize(local_mocker))
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 211
self.mock_client = MockMicrogridClient(self._components, self._connections)
File "/home/luca/devel/sdk/tests/utils/mock_microgrid_client.py", line 71
mock_api = self._create_mock_api(
File "/home/luca/devel/sdk/tests/utils/mock_microgrid_client.py", line 265
api.battery_data = AsyncMock(
File "/usr/lib/python3.11/unittest/mock.py", line 2212
code_mock = NonCallableMock(spec_set=CodeType)
File "/usr/lib/python3.11/unittest/mock.py", line 457
self._mock_add_spec(spec, spec_set, _spec_as_instance, _eat_self)
File "/usr/lib/python3.11/unittest/mock.py", line 523
res = _get_signature_object(spec,
File "/usr/lib/python3.11/unittest/mock.py", line 119
return func, inspect.signature(sig_func)
File "/usr/lib/python3.11/inspect.py", line 3263
return Signature.from_callable(obj, follow_wrapped=follow_wrapped,
File "/usr/lib/python3.11/inspect.py", line 3011
return _signature_from_callable(obj, sigcls=cls,
File "/usr/lib/python3.11/inspect.py", line 2532
wrapped_sig = _get_signature_of(obj.func)
File "/usr/lib/python3.11/inspect.py", line 2528
return _signature_from_builtin(sigcls, obj,
File "/usr/lib/python3.11/inspect.py", line 2328
return _signature_fromstr(cls, func, s, skip_bound_arg)
File "/usr/lib/python3.11/inspect.py", line 2276
p(name, default)
File "/usr/lib/python3.11/inspect.py", line 2265
parameters.append(Parameter(name, kind, default=default, annotation=empty))
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_power_managing/_power_managing_actor.py", line 351
async for selected in select(
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition
/home/luca/devel/sdk/src/frequenz/sdk/timeseries/ev_charger_pool/_system_bounds_tracker.py:130: RuntimeWarning: coroutine 'Merger.ready' was never awaited
async for selected in select(status_rx, ev_data_rx):
Object allocated at:
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/runner.py", line 173
item.runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 436
super().runtest()
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 1627
self.ihook.pytest_pyfunc_call(pyfuncitem=self)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_hooks.py", line 513
return self._hookexec(self.name, self._hookimpls.copy(), kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_manager.py", line 120
return self._inner_hookexec(hook_name, methods, kwargs, firstresult)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pluggy/_callers.py", line 103
res = hook_impl.function(*args)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/python.py", line 162
result = testfunction(**testargs)
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/pytest_asyncio/plugin.py", line 897
_loop.run_until_complete(task)
File "/usr/lib/python3.11/asyncio/base_events.py", line 641
self.run_forever()
File "/usr/lib/python3.11/asyncio/base_events.py", line 608
self._run_once()
File "/usr/lib/python3.11/asyncio/base_events.py", line 1936
handle._run()
File "/usr/lib/python3.11/asyncio/events.py", line 84
self._context.run(self._callback, *self._args)
File "/home/luca/devel/sdk/tests/timeseries/_formula_engine/test_formula_composition.py", line 34
async with mockgrid, AsyncExitStack() as stack:
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 605
await self.start()
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 195
self.init_mock_client(lambda mock_client: mock_client.initialize(local_mocker))
File "/home/luca/devel/sdk/tests/timeseries/mock_microgrid.py", line 211
self.mock_client = MockMicrogridClient(self._components, self._connections)
File "/home/luca/devel/sdk/tests/utils/mock_microgrid_client.py", line 71
mock_api = self._create_mock_api(
File "/home/luca/devel/sdk/tests/utils/mock_microgrid_client.py", line 265
api.battery_data = AsyncMock(
File "/usr/lib/python3.11/unittest/mock.py", line 2212
code_mock = NonCallableMock(spec_set=CodeType)
File "/usr/lib/python3.11/unittest/mock.py", line 457
self._mock_add_spec(spec, spec_set, _spec_as_instance, _eat_self)
File "/usr/lib/python3.11/unittest/mock.py", line 523
res = _get_signature_object(spec,
File "/usr/lib/python3.11/unittest/mock.py", line 119
return func, inspect.signature(sig_func)
File "/usr/lib/python3.11/inspect.py", line 3263
return Signature.from_callable(obj, follow_wrapped=follow_wrapped,
File "/usr/lib/python3.11/inspect.py", line 3011
return _signature_from_callable(obj, sigcls=cls,
File "/usr/lib/python3.11/inspect.py", line 2532
wrapped_sig = _get_signature_of(obj.func)
File "/usr/lib/python3.11/inspect.py", line 2528
return _signature_from_builtin(sigcls, obj,
File "/usr/lib/python3.11/inspect.py", line 2328
return _signature_fromstr(cls, func, s, skip_bound_arg)
File "/usr/lib/python3.11/inspect.py", line 2276
p(name, default)
File "/usr/lib/python3.11/inspect.py", line 2265
parameters.append(Parameter(name, kind, default=default, annotation=empty))
File "/home/luca/devel/sdk/src/frequenz/sdk/timeseries/ev_charger_pool/_system_bounds_tracker.py", line 130
async for selected in select(status_rx, ev_data_rx):
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition
tests/timeseries/_formula_engine/test_formula_composition.py::TestFormulaComposition::test_formula_composition_missing_bat
tests/timeseries/test_consumer.py::TestConsumer::test_consumer_power_no_grid_meter
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <function BackgroundService.__del__ at 0x7f2c846f8940>
Traceback (most recent call last):
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 235, in __del__
self.cancel("{self!r} was deleted")
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 130, in cancel
task.cancel(msg)
File "/usr/lib/python3.11/asyncio/base_events.py", line 762, in call_soon
self._check_closed()
File "/usr/lib/python3.11/asyncio/base_events.py", line 520, in _check_closed
raise RuntimeError('Event loop is closed')
RuntimeError: Event loop is closed
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/test_periodic_feature_extractor.py::test_feature_extractor
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object ComponentPoolStatusTracker._run at 0x7f2c59d1bf00>
Traceback (most recent call last):
File "/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/frequenz/channels/_broadcast.py", line 344, in send
for _hash, recv_ref in self._channel._receivers.items():
RuntimeError: coroutine ignored GeneratorExit
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
tests/timeseries/test_quantities.py::test_quantity_multiplied_with_float[from_kilohertz]
/home/luca/devel/sdk/.direnv/python-3.11/lib/python3.11/site-packages/_pytest/unraisableexception.py:80: PytestUnraisableExceptionWarning: Exception ignored in: <coroutine object AsyncExitStack.__aexit__ at 0x7f2c5b4f9550>
Traceback (most recent call last):
File "/usr/lib/python3.11/contextlib.py", line 745, in __aexit__
raise exc_details[1]
File "/usr/lib/python3.11/contextlib.py", line 728, in __aexit__
cb_suppress = await cb(*exc_details)
^^^^^^^^^^^^^^^^^^^^^^
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 185, in __aexit__
await self.stop()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 149, in stop
await self.wait()
File "/home/luca/devel/sdk/src/frequenz/sdk/actor/_background_service.py", line 200, in wait
done, pending = await asyncio.wait(self._tasks)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.11/asyncio/tasks.py", line 427, in wait
loop = events.get_running_loop()
^^^^^^^^^^^^^^^^^^^^^^^^^
RuntimeError: no running event loop
warnings.warn(pytest.PytestUnraisableExceptionWarning(msg))
-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
What did you expect instead?
No warnings.
Affected version(s)
v1.0.0rc700
Affected part(s)
Unit, integration and performance tests (part:tests)
Extra information
We could try to find out if there is a way to make warnings errors in tests, so we don't end up in this situation again where a lot of warnings accumulated and it is hard to remove them all at once.
Metadata
Metadata
Assignees
Labels
part:testsAffects the unit, integration and performance (benchmarks) testsAffects the unit, integration and performance (benchmarks) testspriority:❓We need to figure out how soon this should be addressedWe need to figure out how soon this should be addressedtype:bugSomething isn't workingSomething isn't working
Type
Projects
Status
In progress