123456789101112131415161718192021222324252627282930313233343536373839404142 |
- """Test misc utilities."""
- import asyncio
- import time
- import pytest
- from reflex.utils.misc import run_in_thread
- async def test_run_in_thread():
- """Test that run_in_thread runs a function in a separate thread."""
- def simple_function():
- return 42
- result = await run_in_thread(simple_function)
- assert result == 42
- def slow_function():
- time.sleep(0.1)
- return "completed"
- result = await run_in_thread(slow_function, timeout=0.5)
- assert result == "completed"
- async def async_function():
- return 42
- with pytest.raises(ValueError):
- await run_in_thread(async_function)
- async def test_run_in_thread_timeout():
- """Test that run_in_thread raises TimeoutError when timeout is exceeded."""
- def very_slow_function():
- time.sleep(0.5)
- return "should not reach here"
- with pytest.raises(asyncio.TimeoutError):
- await run_in_thread(very_slow_function, timeout=0.1)
|