michaelhly / solana-py

Solana Python SDK
https://michaelhly.github.io/solana-py
MIT License
977 stars 252 forks source link

Integration Tests Hanging Due to Deprecated Event Loop Handling #438

Open circansm opened 2 months ago

circansm commented 2 months ago

The issue I'm encountering may be due to my lack of knowledge regarding how tests are constructed and asyncio event loops are handled within the pytest-asyncio plugin. However, I thought it couldn't hurt to alert you to the issue in case it's something that should be addressed:

While running integration tests in the solana-py project to ensure my recent pull request modifications passed CI, I encountered an issue where tests would hang indefinitely. Upon further investigation, the tests appear to hang due to the deprecated handling of the asyncio event loop within the pytest-asyncio fixtures.

The specific warning encountered is related to DeprecationWarning: There is no current event loop, suggesting that the way event loops are managed and retrieved is outdated according to the latest asyncio and pytest-asyncio standards.

This issue affects all integration tests that rely on async functionality and needs a review to ensure compatibility with current best practices in asyncio event loop management. Addressing this may involve updating fixture setups and potentially reevaluating how asynchronous operations are handled within test configurations.

Unfortunately, this is a bit outside my scope of understanding, so I'm simply submitting this as an issue.

michaelhly commented 2 months ago

Do you have docker running?

The integration tests first send health checks to your local solana node: https://github.com/michaelhly/solana-py/blob/27a3468c04ed7a1ebd64be7f6d7fcd69d9dde2cc/tests/conftest.py#L139-L140

If it can't reach it, it'll hang for 15 seconds and then fail ...

circansm commented 2 months ago

I did have docker running, yes.

I didn't, however, configure any address for a Solana node. Is there some config I missed?