You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
Floating point timeouts are unsupported in fakeredis, they are reported as negative values and error out. They are supported in real Redis.
From the Redis docs, e.g.: https://redis.io/commands/blpop/ The timeout argument is interpreted as a double value specifying the maximum number of seconds to block
To Reproduce
>>> import fakeredis
>>> r = fakeredis.FakeRedis()
>>> r.blpop("mylist1", 1.1)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/local/lib/python3.10/dist-packages/redis/commands/core.py", line 2594, in blpop
return self.execute_command("BLPOP", *keys)
File "/usr/local/lib/python3.10/dist-packages/redis/client.py", line 536, in execute_command
return conn.retry.call_with_retry(
File "/usr/local/lib/python3.10/dist-packages/redis/retry.py", line 46, in call_with_retry
return do()
File "/usr/local/lib/python3.10/dist-packages/redis/client.py", line 537, in <lambda>
lambda: self._send_command_parse_response(
File "/usr/local/lib/python3.10/dist-packages/redis/client.py", line 513, in _send_command_parse_response
return self.parse_response(conn, command_name, **options)
File "/usr/local/lib/python3.10/dist-packages/redis/client.py", line 553, in parse_response
response = connection.read_response()
File "/home/ubuntu/.local/lib/python3.10/site-packages/fakeredis/_server.py", line 120, in read_response
raise response
redis.exceptions.ResponseError: timeout is negative
>>> r.blpop("mylist1", 1)
>>>
Expected behavior
Floating point timeouts should work.
Additional context
Thanks for making this great tool, super useful for tests!
The text was updated successfully, but these errors were encountered:
Describe the bug
Floating point timeouts are unsupported in fakeredis, they are reported as negative values and error out. They are supported in real Redis.
From the Redis docs, e.g.: https://redis.io/commands/blpop/
The timeout argument is interpreted as a double value specifying the maximum number of seconds to block
To Reproduce
Expected behavior
Floating point timeouts should work.
Additional context
Thanks for making this great tool, super useful for tests!
The text was updated successfully, but these errors were encountered: