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!
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!