Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

2.23.2: pytest fails in multiple units with unknown command 'eval' error messge #339

Open
kloczek opened this issue May 18, 2024 · 1 comment

Comments

@kloczek
Copy link

kloczek commented May 18, 2024

I'm packaging your module as an rpm package so I'm using the typical PEP517 based build, install and test cycle used on building packages from non-root account.

  • python3 -sBm build -w --no-isolation
  • because I'm calling build with --no-isolation I'm using during all processes only locally installed modules
  • install .whl file in </install/prefix> using installer module
  • run pytest with $PYTHONPATH pointing to sitearch and sitelib inside </install/prefix>
  • build is performed in env which is cut off from access to the public network (pytest is executed with -m "not network")
List of installed modules in build env:
Package            Version
------------------ -----------
async-timeout      4.0.3
attrs              23.2.0
build              1.2.1
exceptiongroup     1.1.3
fastjsonschema     2.19.1
hypothesis         6.100.0
importlib_metadata 7.1.0
iniconfig          2.0.0
installer          0.7.0
invoke             2.2.0
lark               1.1.9
lupa               2.1
packaging          24.0
pluggy             1.4.0
poetry-core        1.9.0
pyproject_hooks    1.0.0
pytest             8.1.1
pytest-asyncio     0.23.6
pytest-mock        3.14.0
python-dateutil    2.9.0.post0
redis              5.0.4
sortedcontainers   2.4.0
tokenize_rt        5.2.0
tomli              2.0.1
typing_extensions  4.11.0
wheel              0.43.0
zipp               3.18.2

Please let me know if you need more details or want me to perform some diagnostics.

@kloczek
Copy link
Author

kloczek commented May 18, 2024

Here is pytest output:
+ PYTHONPATH=/home/tkloczko/rpmbuild/BUILDROOT/python-fakeredis-2.23.2-2.fc37.x86_64/usr/lib64/python3.10/site-packages:/home/tkloczko/rpmbuild/BUILDROOT/python-fakeredis-2.23.2-2.fc37.x86_64/usr/lib/python3.10/site-packages
+ /usr/bin/pytest -ra -m 'not network'
============================= test session starts ==============================
platform linux -- Python 3.10.14, pytest-8.1.1, pluggy-1.4.0
rootdir: /home/tkloczko/rpmbuild/BUILD/fakeredis-py-2.23.2
configfile: pyproject.toml
plugins: hypothesis-6.100.0, asyncio-0.23.6, mock-3.14.0
asyncio: mode=strict
collected 1555 items / 9 skipped

test/test_asyncredis.py .s.s.s.s.s.s.s.s.s.s.s.sFsFsss.ss...s.s......... [  3%]
.                                                                        [  3%]
test/test_connection.py s.s..s.s.s.s.s.................................. [  6%]
..................................................................       [ 10%]
test/test_extract_args.py ......                                         [ 10%]
test/test_general.py .s.                                                 [ 11%]
test/test_hypothesis.py sssssssssss                                      [ 11%]
test/test_init_args.py s..............                                   [ 12%]
test/test_lua_modules.py ssss                                            [ 12%]
test/test_mixins/test_bitmap_commands.py s.s.s.s.s.s.s.s.s.s.sss.s.s.s.s [ 14%]
ss.s.s.s.s.s.s.s.s.s.s.s.s.                                              [ 16%]
test/test_mixins/test_generic_commands.py s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 18%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 23%]
s.s.s.s.s.s.s.s.sssssssss.s.s.s.s.s.s.s.s.s.s.s.s.sss.                   [ 26%]
test/test_mixins/test_geo_commands.py s.s.s.s.s.s.s.s.sssss.....ssss.... [ 28%]
s.s.s.s.                                                                 [ 29%]
test/test_mixins/test_hash_commands.py s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s [ 31%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sss.s.s.s.s.                            [ 34%]
test/test_mixins/test_list_commands.py s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s [ 36%]
.s.s.s.s.s.s.s.sssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssss.s.s.s.s.s.s.s.s.s [ 41%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s..s.ssss                         [ 44%]
test/test_mixins/test_pubsub_commands.py s.s.s.s.s.s.s.s.s.s.s.ss...s.s. [ 46%]
s.sssss.s.ssssssss                                                       [ 47%]
test/test_mixins/test_scripting.py sssFss..sFs.sFsssFsFsFsFsFsFsFsFsFsFs [ 49%]
FsFsFs.s.s.s.s.sFs.s.s.s.sFsFsFsssFs.sFsFs.sFs.sFsFsFsFsFsFsFsFsFsFFs.Fs [ 54%]
.FsFsx                                                                   [ 54%]
test/test_mixins/test_server_commands.py s.s.s.s.s..s.s.s.s.s.           [ 56%]
test/test_mixins/test_set_commands.py s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 58%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sssssssssss.s.s.s.s.s.s.         [ 62%]
test/test_mixins/test_sortedset_commands.py s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 64%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 68%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s. [ 73%]
s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sss.ssss                         [ 76%]
test/test_mixins/test_streams_commands.py .s.sss.s.s.sss.s.s.s.s.s.s.s.s [ 78%]
.s.s.sssss.s.s.s.s.s.sss.s.s.s.s.s.sssss.s.                              [ 81%]
test/test_mixins/test_string_commands.py s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s [ 83%]
.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.sss.sssss.s.s.s.s.s.s.s.s.s.s.s [ 87%]
.s.s.s.sssssssss.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.s.ss                      [ 91%]
test/test_mixins/test_transactions_commands.py s.s.s.s.s.s.s.s.s.sssssss [ 92%]
.s.s.s.s.s.s..s...                                                       [ 94%]
test/test_mock.py .                                                      [ 94%]
test/test_scan.py s.s.s.s.s.s.s.s.s.s.s.s.s.                             [ 95%]
test/test_zadd.py s.s.s.sss.s.ssssss......sss...sss...sss...ssssss...... [ 99%]
ss..ss..s.s.                                                             [100%]

=================================== FAILURES ===================================
____________________ TestScripts.test_no_script_error[fake] ____________________

self = <test.test_asyncredis.TestScripts object at 0x7f10180dba60>
async_redis = FakeRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ba5480>,db=0>>>

    async def test_no_script_error(self, async_redis: redis.asyncio.Redis):
        with pytest.raises(redis.exceptions.NoScriptError):
>           await async_redis.evalsha('0123456789abcdef0123456789abcdef', 0)

test/test_asyncredis.py:171:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/asyncio/client.py:603: in execute_command
    return await conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/asyncio/retry.py:61: in call_with_retry
    return await do()
/usr/lib/python3.10/site-packages/redis/asyncio/client.py:577: in _send_command_parse_response
    return await self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/asyncio/client.py:624: in parse_response
    response = await connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ba5480>,db=0>
kwargs = {}
response = ResponseError('unknown command `evalsha`, with args beginning with: ')
timeout = None, can_read = True

    async def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis_async.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except asyncio.QueueEmpty:
                if kwargs.get("disconnect_on_error", True):
                    await self.disconnect()
                raise redis_async.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            timeout: Optional[float] = kwargs.pop("timeout", None)
            can_read = await self.can_read(timeout)
            response = await self._reader.read(0) if can_read and self._reader else None
        if isinstance(response, redis_async.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with:

fakeredis/aioredis.py:171: ResponseError
_________________ TestScripts.test_failed_script_error6[fake] __________________

self = <test.test_asyncredis.TestScripts object at 0x7f10180dbbe0>
async_redis = FakeRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017959450>,db=0>>>

    @pytest.mark.max_server('6.2.7')
    async def test_failed_script_error6(self, async_redis):
        await async_redis.set('foo', 'bar')
        with pytest.raises(redis.asyncio.ResponseError, match='^Error running script'):
>           await async_redis.eval('return redis.call("ZCOUNT", KEYS[1])', 1, 'foo')

test/test_asyncredis.py:177:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/asyncio/client.py:603: in execute_command
    return await conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/asyncio/retry.py:61: in call_with_retry
    return await do()
/usr/lib/python3.10/site-packages/redis/asyncio/client.py:577: in _send_command_parse_response
    return await self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/asyncio/client.py:624: in parse_response
    response = await connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017959450>,db=0>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')
timeout = None, can_read = True

    async def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis_async.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except asyncio.QueueEmpty:
                if kwargs.get("disconnect_on_error", True):
                    await self.disconnect()
                raise redis_async.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            timeout: Optional[float] = kwargs.pop("timeout", None)
            can_read = await self.can_read(timeout)
            response = await self._reader.read(0) if can_read and self._reader else None
        if isinstance(response, redis_async.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/aioredis.py:171: ResponseError

During handling of the above exception, another exception occurred:

self = <test.test_asyncredis.TestScripts object at 0x7f10180dbbe0>
async_redis = FakeRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017959450>,db=0>>>

    @pytest.mark.max_server('6.2.7')
    async def test_failed_script_error6(self, async_redis):
        await async_redis.set('foo', 'bar')
>       with pytest.raises(redis.asyncio.ResponseError, match='^Error running script'):
E       AssertionError: Regex pattern did not match.
E        Regex: '^Error running script'
E        Input: 'unknown command `eval`, with args beginning with: '

test/test_asyncredis.py:176: AssertionError
__________________ test_script_exists_redis6[FakeStrictRedis] __________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8a00>,db=2>>>

    @pytest.mark.max_server('6.2.7')
    def test_script_exists_redis6(r: redis.Redis):
        # test response for no arguments by bypassing the py-redis command
        # as it requires at least one argument
>       assert raw_command(r, "SCRIPT EXISTS") == []

test/test_mixins/test_scripting.py:43:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/testtools.py:20: in raw_command
    return r.execute_command(*args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8a00>,db=2>
kwargs = {}
response = ResponseError('unknown command `script`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `script`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_script_flush[FakeStrictRedis] ______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101755b820>,db=2>>>

    def test_script_flush(r: redis.Redis):
        # generate/load six unique scripts and store their sha1 hash values
>       sha1_values = [r.script_load("return '%s'" % char) for char in "abcdef"]

test/test_mixins/test_scripting.py:68:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/test_mixins/test_scripting.py:68: in <listcomp>
    sha1_values = [r.script_load("return '%s'" % char) for char in "abcdef"]
/usr/lib/python3.10/site-packages/redis/commands/core.py:5370: in script_load
    return self.execute_command("SCRIPT LOAD", script)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101755b820>,db=2>
kwargs = {}
response = ResponseError('unknown command `script`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `script`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_script_help[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ecc850>,db=2>>>

    @pytest.mark.max_server('7')
    def test_script_help(r: redis.Redis):
>       assert raw_command(r, "SCRIPT HELP") == [
            b'SCRIPT <subcommand> [<arg> [value] [opt] ...]. Subcommands are:',
            b'DEBUG (YES|SYNC|NO)',
            b'    Set the debug mode for subsequent scripts executed.',
            b'EXISTS <sha1> [<sha1> ...]',
            b'    Return information about the existence of the scripts in the script cach'
            b'e.',
            b'FLUSH [ASYNC|SYNC]',
            b'    Flush the Lua scripts cache. Very dangerous on replicas.',
            b'    When called without the optional mode argument, the behavior is determin'
            b'ed by the',
            b'    lazyfree-lazy-user-flush configuration directive. Valid modes are:',
            b'    * ASYNC: Asynchronously flush the scripts cache.',
            b'    * SYNC: Synchronously flush the scripts cache.',
            b'KILL',
            b'    Kill the currently executing Lua script.',
            b'LOAD <script>',
            b'    Load a script into the scripts cache without executing it.',
            b'HELP',
            b'    Prints this help.'
        ]

test/test_mixins/test_scripting.py:87:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
test/testtools.py:20: in raw_command
    return r.execute_command(*args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ecc850>,db=2>
kwargs = {}
response = ResponseError('unknown command `script`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `script`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_blpop[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8b20>,db=2>>>

    @pytest.mark.max_server('7.1')
    def test_eval_blpop(r: redis.Redis):
        r.rpush('foo', 'bar')
        with pytest.raises(redis.ResponseError, match='This Redis command is not allowed from script'):
>           r.eval('return redis.pcall("BLPOP", KEYS[1], 1)', 1, 'foo')

test/test_mixins/test_scripting.py:139:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8b20>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError

During handling of the above exception, another exception occurred:

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8b20>,db=2>>>

    @pytest.mark.max_server('7.1')
    def test_eval_blpop(r: redis.Redis):
        r.rpush('foo', 'bar')
>       with pytest.raises(redis.ResponseError, match='This Redis command is not allowed from script'):
E       AssertionError: Regex pattern did not match.
E        Regex: 'This Redis command is not allowed from script'
E        Input: 'unknown command `eval`, with args beginning with: '

test/test_mixins/test_scripting.py:138: AssertionError
_________________ test_eval_set_value_to_arg[FakeStrictRedis] __________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017326020>,db=2>>>

    def test_eval_set_value_to_arg(r: redis.Redis):
>       r.eval('redis.call("SET", KEYS[1], ARGV[1])', 1, 'foo', 'bar')

test/test_mixins/test_scripting.py:143:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017326020>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
____________________ test_eval_conditional[FakeStrictRedis] ____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017086980>,db=2>>>

    def test_eval_conditional(r: redis.Redis):
        lua = """
        local val = redis.call("GET", KEYS[1])
        if val == ARGV[1] then
            redis.call("SET", KEYS[1], ARGV[2])
        else
            redis.call("SET", KEYS[1], ARGV[1])
        end
        """
>       r.eval(lua, 1, 'foo', 'bar', 'baz')

test/test_mixins/test_scripting.py:157:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017086980>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_table[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f5f9d0>,db=2>>>

    def test_eval_table(r: redis.Redis):
        lua = """
        local a = {}
        a[1] = "foo"
        a[2] = "bar"
        a[17] = "baz"
        return a
        """
>       val = r.eval(lua, 0)

test/test_mixins/test_scripting.py:173:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f5f9d0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
__________________ test_eval_table_with_nil[FakeStrictRedis] ___________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10175aa590>,db=2>>>

    def test_eval_table_with_nil(r: redis.Redis):
        lua = """
        local a = {}
        a[1] = "foo"
        a[2] = nil
        a[3] = "bar"
        return a
        """
>       val = r.eval(lua, 0)

test/test_mixins/test_scripting.py:185:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10175aa590>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
________________ test_eval_table_with_numbers[FakeStrictRedis] _________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017238f40>,db=2>>>

    def test_eval_table_with_numbers(r: redis.Redis):
        lua = """
        local a = {}
        a[1] = 42
        return a
        """
>       val = r.eval(lua, 0)

test/test_mixins/test_scripting.py:195:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017238f40>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
___________________ test_eval_nested_table[FakeStrictRedis] ____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101708bc40>,db=2>>>

    def test_eval_nested_table(r: redis.Redis):
        lua = """
        local a = {}
        a[1] = {}
        a[1][1] = "foo"
        return a
        """
>       val = r.eval(lua, 0)

test/test_mixins/test_scripting.py:206:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101708bc40>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_________________ test_eval_iterate_over_argv[FakeStrictRedis] _________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10171082b0>,db=2>>>

    def test_eval_iterate_over_argv(r: redis.Redis):
        lua = """
        for i, v in ipairs(ARGV) do
        end
        return ARGV
        """
>       val = r.eval(lua, 0, "a", "b", "c")

test/test_mixins/test_scripting.py:216:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10171082b0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_________________ test_eval_iterate_over_keys[FakeStrictRedis] _________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10176c9180>,db=2>>>

    def test_eval_iterate_over_keys(r: redis.Redis):
        lua = """
        for i, v in ipairs(KEYS) do
        end
        return KEYS
        """
>       val = r.eval(lua, 2, "a", "b", "c")

test/test_mixins/test_scripting.py:226:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10176c9180>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_mget[FakeStrictRedis] ________________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ecd030>,db=2>>>

    def test_eval_mget(r: redis.Redis):
        r.set('foo1', 'bar1')
        r.set('foo2', 'bar2')
>       val = r.eval('return redis.call("mget", "foo1", "foo2")', 2, 'foo1', 'foo2')

test/test_mixins/test_scripting.py:233:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ecd030>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
___________________ test_eval_mget_not_set[FakeStrictRedis] ____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015d8cf10>,db=2>>>

    def test_eval_mget_not_set(r: redis.Redis):
>       val = r.eval('return redis.call("mget", "foo1", "foo2")', 2, 'foo1', 'foo2')

test/test_mixins/test_scripting.py:238:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015d8cf10>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_eval_hgetall[FakeStrictRedis] ______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017090be0>,db=2>>>

    def test_eval_hgetall(r: redis.Redis):
        r.hset('foo', 'k1', 'bar')
        r.hset('foo', 'k2', 'baz')
>       val = r.eval('return redis.call("hgetall", "foo")', 1, 'foo')

test/test_mixins/test_scripting.py:245:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017090be0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
__________________ test_eval_hgetall_iterate[FakeStrictRedis] __________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101700ca60>,db=2>>>

    def test_eval_hgetall_iterate(r: redis.Redis):
        r.hset('foo', 'k1', 'bar')
        r.hset('foo', 'k2', 'baz')
        lua = """
        local result = redis.call("hgetall", "foo")
        for i, v in ipairs(result) do
        end
        return result
        """
>       val = r.eval(lua, 1, 'foo')

test/test_mixins/test_scripting.py:259:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101700ca60>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________ test_eval_numkeys_integer_string[FakeStrictRedis] _______________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016161690>,db=2>>>

    def test_eval_numkeys_integer_string(r: redis.Redis):
>       val = r.eval('return KEYS[1]', "1", "foo")

test/test_mixins/test_scripting.py:293:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016161690>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
__________________ test_eval_convert_number[FakeStrictRedis] ___________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f9d1e0>,db=2>>>

    def test_eval_convert_number(r: redis.Redis):
        # Redis forces all Lua numbers to integer
>       val = r.eval('return 3.2', 0)

test/test_mixins/test_scripting.py:327:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f9d1e0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
___________________ test_eval_convert_bool[FakeStrictRedis] ____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015d479d0>,db=2>>>

    def test_eval_convert_bool(r: redis.Redis):
        # Redis converts true to 1 and false to nil (which redis-py converts to None)
>       assert r.eval('return false', 0) is None

test/test_mixins/test_scripting.py:337:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015d479d0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
____________________ test_eval_call_bool6[FakeStrictRedis] _____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017108dc0>,db=2>>>

    @pytest.mark.max_server('6.2.7')
    def test_eval_call_bool6(r: redis.Redis):
        # Redis doesn't allow Lua bools to be passed to [p]call
        with pytest.raises(redis.ResponseError,
                           match=r'Lua redis\(\) command arguments must be strings or integers'):
>           r.eval('return redis.call("SET", KEYS[1], true)', 1, "testkey")

test/test_mixins/test_scripting.py:348:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017108dc0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError

During handling of the above exception, another exception occurred:

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017108dc0>,db=2>>>

    @pytest.mark.max_server('6.2.7')
    def test_eval_call_bool6(r: redis.Redis):
        # Redis doesn't allow Lua bools to be passed to [p]call
>       with pytest.raises(redis.ResponseError,
                           match=r'Lua redis\(\) command arguments must be strings or integers'):
E                          AssertionError: Regex pattern did not match.
E                           Regex: 'Lua redis\\(\\) command arguments must be strings or integers'
E                           Input: 'unknown command `eval`, with args beginning with: '

test/test_mixins/test_scripting.py:346: AssertionError
___________________ test_eval_return_error[FakeStrictRedis] ____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702c2b0>,db=2>>>

    def test_eval_return_error(r: redis.Redis):
        with pytest.raises(redis.ResponseError, match='Testing') as exc_info:
>           r.eval('return {err="Testing"}', 0)

test/test_mixins/test_scripting.py:361:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702c2b0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError

During handling of the above exception, another exception occurred:

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702c2b0>,db=2>>>

    def test_eval_return_error(r: redis.Redis):
>       with pytest.raises(redis.ResponseError, match='Testing') as exc_info:
E       AssertionError: Regex pattern did not match.
E        Regex: 'Testing'
E        Input: 'unknown command `eval`, with args beginning with: '

test/test_mixins/test_scripting.py:360: AssertionError
_____________________ test_eval_return_ok[FakeStrictRedis] _____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f9d150>,db=2>>>

    def test_eval_return_ok(r: redis.Redis):
>       val = r.eval('return {ok="Testing"}', 0)

test/test_mixins/test_scripting.py:375:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f9d150>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_________________ test_eval_return_ok_nested[FakeStrictRedis] __________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10170a8790>,db=2>>>

    def test_eval_return_ok_nested(r: redis.Redis):
>       val = r.eval(
            '''
            local a = {}
            a[1] = {ok="Testing"}
            return a
            ''',
            0
        )

test/test_mixins/test_scripting.py:382:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10170a8790>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_pcall[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e45f60>,db=2>>>

    def test_eval_pcall(r: redis.Redis):
>       val = r.eval(
            '''
            local a = {}
            a[1] = redis.pcall("foo")
            return a
            ''',
            0
        )

test/test_mixins/test_scripting.py:399:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e45f60>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_eval_delete[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101700ce20>,db=2>>>

    def test_eval_delete(r: redis.Redis):
        r.set('foo', 'bar')
        val = r.get('foo')
        assert val == b'bar'
>       val = r.eval('redis.call("DEL", KEYS[1])', 1, 'foo')

test/test_mixins/test_scripting.py:421:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101700ce20>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_eval_exists[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e464d0>,db=2>>>

    def test_eval_exists(r: redis.Redis):
>       val = r.eval('return redis.call("exists", KEYS[1]) == 0', 1, 'foo')

test/test_mixins/test_scripting.py:426:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e464d0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_eval_flushdb[FakeStrictRedis] ______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017089120>,db=2>>>

    def test_eval_flushdb(r: redis.Redis):
        r.set('foo', 'bar')
>       val = r.eval(
            '''
            local value = redis.call("FLUSHDB");
            return type(value) == "table" and value.ok == "OK";
            ''', 0
        )

test/test_mixins/test_scripting.py:432:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017089120>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_____________________ test_eval_flushall[FakeStrictRedis] ______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e8e6e0>,db=2>>>
create_redis = <function _create_redis.<locals>.factory at 0x7f1016de4af0>

    def test_eval_flushall(r, create_redis):
        r1 = create_redis(db=2)
        r2 = create_redis(db=3)

        r1['r1'] = 'r1'
        r2['r2'] = 'r2'

>       val = r.eval(
            '''
            local value = redis.call("FLUSHALL");
            return type(value) == "table" and value.ok == "OK";
            ''', 0
        )

test/test_mixins/test_scripting.py:448:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e8e6e0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
____________________ test_eval_incrbyfloat[FakeStrictRedis] ____________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e3e650>,db=2>>>

    def test_eval_incrbyfloat(r: redis.Redis):
        r.set('foo', 0.5)
>       val = r.eval(
            '''
            local value = redis.call("INCRBYFLOAT", KEYS[1], 2.0);
            return type(value) == "string" and tonumber(value) == 2.5;
            ''', 1, 'foo'
        )

test/test_mixins/test_scripting.py:462:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015e3e650>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
______________________ test_eval_lrange[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015efdd50>,db=2>>>

    def test_eval_lrange(r: redis.Redis):
        r.rpush('foo', 'a', 'b')
>       val = r.eval(
            '''
            local value = redis.call("LRANGE", KEYS[1], 0, -1);
            return type(value) == "table" and value[1] == "a" and value[2] == "b";
            ''', 1, 'foo'
        )

test/test_mixins/test_scripting.py:473:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1015efdd50>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_ltrim[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017256620>,db=2>>>

    def test_eval_ltrim(r: redis.Redis):
        r.rpush('foo', 'a', 'b', 'c', 'd')
>       val = r.eval(
            '''
            local value = redis.call("LTRIM", KEYS[1], 1, 2);
            return type(value) == "table" and value.ok == "OK";
            ''', 1, 'foo'
        )

test/test_mixins/test_scripting.py:484:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017256620>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_lset[FakeStrictRedis] ________________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10170ab7f0>,db=2>>>

    def test_eval_lset(r: redis.Redis):
        r.rpush('foo', 'a', 'b')
>       val = r.eval(
            '''
            local value = redis.call("LSET", KEYS[1], 0, "z");
            return type(value) == "table" and value.ok == "OK";
            ''', 1, 'foo'
        )

test/test_mixins/test_scripting.py:496:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10170ab7f0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_______________________ test_eval_sdiff[FakeStrictRedis] _______________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017257400>,db=2>>>

    def test_eval_sdiff(r: redis.Redis):
        r.sadd('foo', 'a', 'b', 'c', 'f', 'e', 'd')
        r.sadd('bar', 'b')
>       val = r.eval(
            '''
            local value = redis.call("SDIFF", KEYS[1], KEYS[2]);
            if type(value) ~= "table" then
                return redis.error_reply(type(value) .. ", should be table");
            else
                return value;
            end
            ''', 2, 'foo', 'bar')

test/test_mixins/test_scripting.py:509:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017257400>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
_________________________ test_script[FakeStrictRedis] _________________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702dcc0>,db=2>>>

    def test_script(r: redis.Redis):
        script = r.register_script('return ARGV[1]')
>       result = script(args=[42])

test/test_mixins/test_scripting.py:527:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5924: in __call__
    return client.evalsha(self.sha, len(keys), *args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5300: in evalsha
    return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5284: in _evalsha
    return self.execute_command(command, sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702dcc0>,db=2>
kwargs = {}
response = ResponseError('unknown command `evalsha`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with:

fakeredis/_server.py:127: ResponseError
________________________ test_lua_log[FakeStrictRedis] _________________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f5dab0>,db=2>>>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7f1016f5d150>

    @testtools.fake_only
    def test_lua_log(r, caplog):
        logger = fakeredis._server.LOGGER
        script = """
            redis.log(redis.LOG_DEBUG, "debug")
            redis.log(redis.LOG_VERBOSE, "verbose")
            redis.log(redis.LOG_NOTICE, "notice")
            redis.log(redis.LOG_WARNING, "warning")
        """
        script = r.register_script(script)
        with caplog.at_level('DEBUG'):
>           script()

test/test_mixins/test_scripting.py:542:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5924: in __call__
    return client.evalsha(self.sha, len(keys), *args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5300: in evalsha
    return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5284: in _evalsha
    return self.execute_command(command, sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016f5dab0>,db=2>
kwargs = {}
response = ResponseError('unknown command `evalsha`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with:

fakeredis/_server.py:127: ResponseError
________________ test_lua_log_different_types[FakeStrictRedis] _________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8b50>,db=2>>>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7f10174a8310>

    @testtools.fake_only
    def test_lua_log_different_types(r, caplog):
        logger = logging.getLogger('fakeredis')
        script = "redis.log(redis.LOG_DEBUG, 'string', 1, true, 3.14, 'string')"
        script = r.register_script(script)
        with caplog.at_level('DEBUG'):
>           script()

test/test_mixins/test_scripting.py:564:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5924: in __call__
    return client.evalsha(self.sha, len(keys), *args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5300: in evalsha
    return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5284: in _evalsha
    return self.execute_command(command, sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f10174a8b50>,db=2>
kwargs = {}
response = ResponseError('unknown command `evalsha`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with:

fakeredis/_server.py:127: ResponseError
__________________ test_lua_log_defined_vars[FakeStrictRedis] __________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017089780>,db=2>>>
caplog = <_pytest.logging.LogCaptureFixture object at 0x7f101708a0e0>

    @testtools.fake_only
    def test_lua_log_defined_vars(r, caplog):
        logger = fakeredis._server.LOGGER
        script = """
            local var='string'
            redis.log(redis.LOG_DEBUG, var)
        """
        script = r.register_script(script)
        with caplog.at_level('DEBUG'):
>           script()

test/test_mixins/test_scripting.py:586:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5924: in __call__
    return client.evalsha(self.sha, len(keys), *args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5300: in evalsha
    return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5284: in _evalsha
    return self.execute_command(command, sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1017089780>,db=2>
kwargs = {}
response = ResponseError('unknown command `evalsha`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with:

fakeredis/_server.py:127: ResponseError
________________ test_hscan_cursors_are_bytes[FakeStrictRedis] _________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702fee0>,db=2>>>

    def test_hscan_cursors_are_bytes(r: redis.Redis):
        r.hset('hkey', 'foo', 1)

>       result = r.eval(
            """
            local results = redis.call("HSCAN", KEYS[1], "0")
            return results[1]
            """,
            1,
            'hkey'
        )

test/test_mixins/test_scripting.py:593:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5265: in eval
    return self._eval("EVAL", script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5250: in _eval
    return self.execute_command(command, script, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f101702fee0>,db=2>
kwargs = {}
response = ResponseError('unknown command `eval`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `eval`, with args beginning with:

fakeredis/_server.py:127: ResponseError
================================== XFAILURES ===================================
__________________ test_deleting_while_scan[FakeStrictRedis] ___________________

r = FakeStrictRedis<ConnectionPool<FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ffeec0>,db=2>>>

    @pytest.mark.xfail  # TODO
    def test_deleting_while_scan(r: redis.Redis):
        for i in range(100):
            r.set(f'key-{i}', i)

        assert len(r.keys()) == 100

        script = """
            local cursor = 0
            local seen = {}
            repeat
                local result = redis.call('SCAN', cursor)
                for _,key in ipairs(result[2]) do
                    seen[#seen+1] = key
                    redis.call('DEL', key)
                end
                cursor = tonumber(result[1])
            until cursor == 0
            return seen
        """

>       assert len(r.register_script(script)()) == 100

test/test_mixins/test_scripting.py:627:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
/usr/lib/python3.10/site-packages/redis/commands/core.py:5924: in __call__
    return client.evalsha(self.sha, len(keys), *args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5300: in evalsha
    return self._evalsha("EVALSHA", sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/commands/core.py:5284: in _evalsha
    return self.execute_command(command, sha, numkeys, *keys_and_args)
/usr/lib/python3.10/site-packages/redis/client.py:546: in execute_command
    return conn.retry.call_with_retry(
/usr/lib/python3.10/site-packages/redis/retry.py:46: in call_with_retry
    return do()
/usr/lib/python3.10/site-packages/redis/client.py:547: in <lambda>
    lambda: self._send_command_parse_response(
/usr/lib/python3.10/site-packages/redis/client.py:523: in _send_command_parse_response
    return self.parse_response(conn, command_name, **options)
/usr/lib/python3.10/site-packages/redis/client.py:563: in parse_response
    response = connection.read_response()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _

self = FakeConnection<server=<fakeredis._server.FakeServer object at 0x7f1016ffeec0>,db=2>
kwargs = {}
response = ResponseError('unknown command `evalsha`, with args beginning with: ')

    def read_response(self, **kwargs: Any) -> Any:  # type: ignore
        if not self._sock:
            raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        if not self._server.connected:
            try:
                response = self._sock.responses.get_nowait()
            except queue.Empty:
                if kwargs.get("disconnect_on_error", True):
                    self.disconnect()
                raise redis.ConnectionError(msgs.CONNECTION_ERROR_MSG)
        else:
            response = self._sock.responses.get()
        if isinstance(response, redis.ResponseError):
>           raise response
E           redis.exceptions.ResponseError: unknown command `evalsha`, with args beginning with:

fakeredis/_server.py:127: ResponseError
=============================== warnings summary ===============================
test/test_asyncredis.py:73
  test/test_asyncredis.py:73: PytestDeprecationWarning: test_pubsub[fake] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
    async def test_pubsub(async_redis, event_loop):

test/test_asyncredis.py:73
  test/test_asyncredis.py:73: PytestDeprecationWarning: test_pubsub[real] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
    async def test_pubsub(async_redis, event_loop):

test/test_asyncredis.py:141
  test/test_asyncredis.py:141: PytestDeprecationWarning: test_blocking_unblock[fake] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
    @pytest.mark.slow

test/test_asyncredis.py:141
  test/test_asyncredis.py:141: PytestDeprecationWarning: test_blocking_unblock[real] is asynchronous and explicitly requests the "event_loop" fixture. Asynchronous fixtures and test functions should use "asyncio.get_running_loop()" instead.
    @pytest.mark.slow

test/test_lua_modules.py:15
  /home/tkloczko/rpmbuild/BUILD/fakeredis-py-2.23.2/test/test_lua_modules.py:15: PytestUnknownMarkWarning: Unknown pytest.mark.load_lua_modules - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.load_lua_modules('cjson')

test/test_lua_modules.py:45
  /home/tkloczko/rpmbuild/BUILD/fakeredis-py-2.23.2/test/test_lua_modules.py:45: PytestUnknownMarkWarning: Unknown pytest.mark.load_lua_modules - is this a typo?  You can register custom marks to avoid this warning - for details, see https://docs.pytest.org/en/stable/how-to/mark.html
    @pytest.mark.load_lua_modules('cjson')

test/test_connection.py::TestFakeStrictRedisConnectionErrors::test_hmset[FakeStrictRedis]
  /home/tkloczko/rpmbuild/BUILD/fakeredis-py-2.23.2/test/test_connection.py:266: DeprecationWarning: FakeStrictRedis.hmset() is deprecated. Use FakeStrictRedis.hset() instead.
    r.hmset('name', {'key': 1})

test/test_mixins/test_hash_commands.py::test_hmset_empty_raises_error[FakeStrictRedis]
  /home/tkloczko/rpmbuild/BUILD/fakeredis-py-2.23.2/test/test_mixins/test_hash_commands.py:227: DeprecationWarning: FakeStrictRedis.hmset() is deprecated. Use FakeStrictRedis.hset() instead.
    r.hmset('foo', {})

test/test_mixins/test_hash_commands.py::test_hmset_wrong_type[FakeStrictRedis]
  /home/tkloczko/rpmbuild/BUILD/fakeredis-py-2.23.2/test/test_mixins/test_hash_commands.py:239: DeprecationWarning: FakeStrictRedis.hmset() is deprecated. Use FakeStrictRedis.hset() instead.
    r.hmset('foo', {'key': 'value'})

-- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
=========================== short test summary info ============================
SKIPPED [1] test/test_json/test_json.py:15: could not import 'jsonpath_ng': No module named 'jsonpath_ng'
SKIPPED [1] test/test_json/test_json_arr_commands.py:7: could not import 'jsonpath_ng': No module named 'jsonpath_ng'
SKIPPED [1] test/test_json/test_json_commands.py:9: could not import 'jsonpath_ng': No module named 'jsonpath_ng'
SKIPPED [1] test/test_stack/test_bloom_redis_py.py:5: could not import 'probables': No module named 'probables'
SKIPPED [1] test/test_stack/test_bloomfilter.py:6: could not import 'probables': No module named 'probables'
SKIPPED [1] test/test_stack/test_cms.py:6: could not import 'probables': No module named 'probables'
SKIPPED [1] test/test_stack/test_cuckoofilter.py:4: could not import 'probables': No module named 'probables'
SKIPPED [1] test/test_stack/test_tdigest.py:6: could not import 'probables': No module named 'probables'
SKIPPED [1] test/test_stack/test_topk.py:4: could not import 'probables': No module named 'probables'
SKIPPED [1] test/test_asyncredis.py:36: Redis is not running
SKIPPED [1] test/test_asyncredis.py:41: Redis is not running
SKIPPED [1] test/test_asyncredis.py:51: Redis is not running
SKIPPED [1] test/test_asyncredis.py:62: Redis is not running
SKIPPED [1] test/test_asyncredis.py:73: Redis is not running
SKIPPED [1] test/test_asyncredis.py:107: Redis is not running
SKIPPED [1] test/test_asyncredis.py:116: Redis is not running
SKIPPED [1] test/test_asyncredis.py:127: Redis is not running
SKIPPED [1] test/test_asyncredis.py:134: Redis is not running
SKIPPED [1] test/test_asyncredis.py:141: Redis is not running
SKIPPED [1] test/test_asyncredis.py:155: Redis is not running
SKIPPED [1] test/test_asyncredis.py:161: Redis is not running
SKIPPED [1] test/test_asyncredis.py:169: Redis is not running
SKIPPED [1] test/test_asyncredis.py:173: Redis is not running
SKIPPED [1] test/test_asyncredis.py:179: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_asyncredis.py:179: Redis is not running
SKIPPED [2] test/test_asyncredis.py:195: Test is not applicable to redis-py 5.0.4 (gte, 5.1)
SKIPPED [1] test/test_asyncredis.py:220: Redis is not running
SKIPPED [1] test/test_asyncredis.py:235: Redis is not running
SKIPPED [1] test/test_connection.py:11: Redis is not running
SKIPPED [1] test/test_connection.py:18: Redis is not running
SKIPPED [1] test/test_connection.py:36: Redis is not running
SKIPPED [1] test/test_connection.py:40: Redis is not running
SKIPPED [1] test/test_connection.py:44: Redis is not running
SKIPPED [1] test/test_connection.py:48: Redis is not running
SKIPPED [1] test/test_connection.py:52: Redis is not running
SKIPPED [1] test/test_general.py:13: Redis is not running
SKIPPED [11] test/test_hypothesis.py:265: redis is not running
SKIPPED [1] test/test_init_args.py:6: Redis is not running
SKIPPED [1] test/test_lua_modules.py:15: LUA modules not supported by fakeredis
SKIPPED [1] test/test_lua_modules.py:15: Redis is not running
SKIPPED [1] test/test_lua_modules.py:45: Redis is not running
SKIPPED [1] test/test_lua_modules.py:45: LUA modules not supported by fakeredis
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:8: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:18: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:24: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:38: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:49: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:64: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:79: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:85: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:91: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:111: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:122: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:122: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:133: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:139: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:156: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:170: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:184: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:184: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:194: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:202: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:213: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:220: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:232: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:271: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:286: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:303: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:316: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:331: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:348: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:361: Redis is not running
SKIPPED [1] test/test_mixins/test_bitmap_commands.py:375: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:12: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:22: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:32: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:37: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:41: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:47: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:56: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:62: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:71: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:80: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:85: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:94: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:101: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:110: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:119: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:123: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:129: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:139: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:172: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:192: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:199: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:204: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:219: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:225: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:229: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:237: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:245: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:253: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:260: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:267: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:274: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:279: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:287: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:297: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:310: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:316: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:321: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:325: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:335: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:344: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:356: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:366: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:371: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:375: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:387: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:397: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:407: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:412: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:416: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:422: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:427: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:431: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:438: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:445: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:457: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:463: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:469: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:475: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:482: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:488: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:488: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_generic_commands.py:495: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:495: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_generic_commands.py:503: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:503: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_generic_commands.py:512: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:512: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_generic_commands.py:520: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:527: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:532: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:539: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:547: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:554: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:591: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:597: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:603: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:612: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:627: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:631: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:640: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:648: Redis is not running
SKIPPED [1] test/test_mixins/test_generic_commands.py:648: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_generic_commands.py:659: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:9: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:18: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:37: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:50: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:61: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:73: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:80: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:91: Redis is not running
SKIPPED [5] test/test_mixins/test_geo_commands.py:97: Redis is not running
SKIPPED [4] test/test_mixins/test_geo_commands.py:115: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:134: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:153: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:176: Redis is not running
SKIPPED [1] test/test_mixins/test_geo_commands.py:196: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:10: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:17: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:22: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:27: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:32: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:38: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:49: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:53: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:59: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:66: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:72: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:79: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:85: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:91: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:97: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:104: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:110: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:125: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:131: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:146: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:152: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:159: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:165: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:171: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:177: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:184: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:190: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:196: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:202: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:207: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:213: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:219: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:225: Redis is not running
SKIPPED [2] test/test_mixins/test_hash_commands.py:230: Test is not applicable to redis-py 5.0.4 (lte, 4.6)
SKIPPED [1] test/test_mixins/test_hash_commands.py:236: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:242: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:248: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:254: Redis is not running
SKIPPED [1] test/test_mixins/test_hash_commands.py:297: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:25: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:32: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:41: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:47: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:51: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:59: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:65: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:72: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:76: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:82: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:90: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:102: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:110: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:118: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:126: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:133: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:139: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:147: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:153: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:162: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:171: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:176: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:180: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:186: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:192: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:192: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_list_commands.py:203: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:203: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_list_commands.py:209: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:218: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:224: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:230: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:238: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:244: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:256: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:260: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:267: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:273: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:281: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:287: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:295: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:301: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:310: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:316: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:316: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_list_commands.py:327: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:327: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_list_commands.py:333: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:341: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:348: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:353: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:360: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:366: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:382: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:388: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:396: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:402: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:415: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:422: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:439: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:445: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:455: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:465: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:475: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:481: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:490: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:500: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:506: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:512: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:524: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:537: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:545: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:551: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:557: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:565: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:583: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:612: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:625: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:657: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:657: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_list_commands.py:669: Redis is not running
SKIPPED [1] test/test_mixins/test_list_commands.py:669: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:40: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:50: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:69: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:78: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:92: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:121: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:149: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:187: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:218: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:260: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:282: Redis is not running
SKIPPED [2] test/test_mixins/test_pubsub_commands.py:315: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:353: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:360: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:366: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:371: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:371: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:395: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:395: Redis server (7, 1) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:418: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:435: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:450: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:450: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:463: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:463: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:509: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:509: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:529: Redis is not running
SKIPPED [1] test/test_mixins/test_pubsub_commands.py:529: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_scripting.py:17: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:17: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_scripting.py:39: Redis is not running
SKIPPED [2] test/test_mixins/test_scripting.py:60: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:66: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:80: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:85: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:110: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:110: Redis server (7, 1) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_scripting.py:135: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:142: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:148: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:165: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:177: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:189: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:199: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:210: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:220: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:230: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:237: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:242: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:250: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:264: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:272: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:277: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:282: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:287: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:292: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:297: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:302: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:307: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:313: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:325: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:335: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:343: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:351: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:351: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_scripting.py:359: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:368: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:374: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:381: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:393: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:398: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:412: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:417: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:425: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:430: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:441: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:460: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:471: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:482: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:494: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:506: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:525: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:551: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:570: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:590: Redis is not running
SKIPPED [1] test/test_mixins/test_scripting.py:606: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:12: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:27: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:31: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:35: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:43: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:54: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:58: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:68: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:77: Redis is not running
SKIPPED [1] test/test_mixins/test_server_commands.py:84: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:13: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:23: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:28: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:34: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:41: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:47: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:58: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:64: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:68: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:77: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:90: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:99: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:110: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:119: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:132: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:138: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:148: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:160: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:166: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:170: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:177: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:183: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:189: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:196: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:200: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:211: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:218: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:224: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:231: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:245: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:251: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:265: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:271: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:279: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:288: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:302: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:308: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:346: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:346: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_set_commands.py:356: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:356: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_set_commands.py:368: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:368: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_set_commands.py:381: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:381: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_set_commands.py:391: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:391: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_set_commands.py:403: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:409: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:426: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:436: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:445: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:452: Redis is not running
SKIPPED [1] test/test_mixins/test_set_commands.py:461: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:26: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:34: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:41: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:49: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:58: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:67: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:92: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:114: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:137: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:143: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:147: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:153: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:165: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:178: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:184: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:190: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:196: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:203: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:213: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:220: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:226: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:239: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:248: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:252: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:258: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:273: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:277: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:283: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:289: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:294: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:298: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:304: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:324: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:339: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:362: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:371: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:375: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:381: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:389: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:398: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:404: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:417: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:424: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:447: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:457: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:471: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:477: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:486: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:493: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:510: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:520: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:532: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:546: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:552: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:562: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:584: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:590: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:609: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:615: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:634: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:659: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:684: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:692: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:717: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:723: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:731: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:739: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:744: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:750: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:766: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:782: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:796: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:800: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:806: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:820: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:835: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:839: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:845: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:858: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:871: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:884: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:897: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:910: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:919: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:929: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:936: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:950: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:959: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:965: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:975: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:985: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:995: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1001: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1006: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1013: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1018: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1024: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1030: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1037: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1046: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1055: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1077: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1089: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1097: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1104: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1123: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1144: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1144: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1153: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1172: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1172: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1183: Redis is not running
SKIPPED [1] test/test_mixins/test_sortedset_commands.py:1183: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:60: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:83: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:83: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:96: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:113: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:123: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:137: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:137: Redis server (6, 2, 4) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:168: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:187: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:204: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:236: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:246: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:254: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:278: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:285: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:294: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:314: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:325: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:339: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:339: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:356: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:356: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:375: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:391: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:407: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:431: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:489: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:513: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:536: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:536: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:565: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:576: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:602: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:628: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:644: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:664: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:692: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:692: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:720: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:720: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_streams_commands.py:744: Redis is not running
SKIPPED [1] test/test_mixins/test_streams_commands.py:773: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:14: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:20: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:25: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:31: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:37: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:42: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:48: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:57: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:61: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:66: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:72: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:80: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:86: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:92: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:96: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:101: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:106: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:112: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:118: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:127: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:132: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:138: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:143: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:149: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:154: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:160: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:169: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:175: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:183: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:187: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:199: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:204: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:210: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:216: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:221: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:226: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:231: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:231: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:237: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:242: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:242: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:249: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:249: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:258: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:263: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:268: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:273: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:278: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:283: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:288: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:296: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:304: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:312: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:320: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:328: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:336: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:343: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:350: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:356: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:356: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:364: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:364: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:374: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:374: Redis server (6, 2) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:382: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:382: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_string_commands.py:395: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:405: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:411: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:417: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:424: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:430: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:443: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:449: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:454: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:459: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:464: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:469: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:474: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:480: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:486: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:492: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:497: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:532: Redis is not running
SKIPPED [1] test/test_mixins/test_string_commands.py:532: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_transactions_commands.py:11: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:28: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:46: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:70: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:79: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:84: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:90: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:101: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:114: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:126: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:126: Redis server (6, 0) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_transactions_commands.py:141: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:141: Redis server (6, 0, 6) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_transactions_commands.py:149: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:149: Redis server (6, 0, 6) or more required but (6,) found
SKIPPED [1] test/test_mixins/test_transactions_commands.py:162: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:183: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:202: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:211: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:230: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:251: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:271: Redis is not running
SKIPPED [1] test/test_mixins/test_transactions_commands.py:312: Redis is not running
SKIPPED [1] test/test_scan.py:9: Redis is not running
SKIPPED [1] test/test_scan.py:30: Redis is not running
SKIPPED [1] test/test_scan.py:51: Redis is not running
SKIPPED [1] test/test_scan.py:92: Redis is not running
SKIPPED [1] test/test_scan.py:109: Redis is not running
SKIPPED [1] test/test_scan.py:143: Redis is not running
SKIPPED [1] test/test_scan.py:148: Redis is not running
SKIPPED [1] test/test_scan.py:157: Redis is not running
SKIPPED [1] test/test_scan.py:163: Redis is not running
SKIPPED [1] test/test_scan.py:173: Redis is not running
SKIPPED [1] test/test_scan.py:179: Redis is not running
SKIPPED [1] test/test_scan.py:188: Redis is not running
SKIPPED [1] test/test_scan.py:196: Redis is not running
SKIPPED [1] test/test_zadd.py:11: Redis is not running
SKIPPED [1] test/test_zadd.py:23: Redis is not running
SKIPPED [1] test/test_zadd.py:29: Redis is not running
SKIPPED [1] test/test_zadd.py:37: Redis is not running
SKIPPED [1] test/test_zadd.py:37: Redis server (7,) or more required but (6,) found
SKIPPED [1] test/test_zadd.py:44: Redis is not running
SKIPPED [1] test/test_zadd.py:50: Redis is not running
SKIPPED [6] test/test_zadd.py:56: Redis is not running
SKIPPED [3] test/test_zadd.py:71: Redis is not running
SKIPPED [3] test/test_zadd.py:85: Redis is not running
SKIPPED [3] test/test_zadd.py:99: Redis is not running
SKIPPED [6] test/test_zadd.py:113: Redis is not running
SKIPPED [2] test/test_zadd.py:128: Redis is not running
SKIPPED [2] test/test_zadd.py:135: Redis is not running
SKIPPED [1] test/test_zadd.py:145: Redis is not running
SKIPPED [1] test/test_zadd.py:154: Redis is not running
XFAIL test/test_mixins/test_scripting.py::test_deleting_while_scan[FakeStrictRedis]
FAILED test/test_asyncredis.py::TestScripts::test_no_script_error[fake] - red...
FAILED test/test_asyncredis.py::TestScripts::test_failed_script_error6[fake]
FAILED test/test_mixins/test_scripting.py::test_script_exists_redis6[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_script_flush[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_script_help[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_blpop[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_set_value_to_arg[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_conditional[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_table[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_table_with_nil[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_table_with_numbers[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_nested_table[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_iterate_over_argv[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_iterate_over_keys[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_mget[FakeStrictRedis] - ...
FAILED test/test_mixins/test_scripting.py::test_eval_mget_not_set[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_hgetall[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_hgetall_iterate[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_numkeys_integer_string[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_convert_number[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_convert_bool[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_call_bool6[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_return_error[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_return_ok[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_return_ok_nested[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_pcall[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_delete[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_exists[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_flushdb[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_flushall[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_incrbyfloat[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_lrange[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_ltrim[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_eval_lset[FakeStrictRedis] - ...
FAILED test/test_mixins/test_scripting.py::test_eval_sdiff[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_script[FakeStrictRedis] - red...
FAILED test/test_mixins/test_scripting.py::test_lua_log[FakeStrictRedis] - re...
FAILED test/test_mixins/test_scripting.py::test_lua_log_different_types[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_lua_log_defined_vars[FakeStrictRedis]
FAILED test/test_mixins/test_scripting.py::test_hscan_cursors_are_bytes[FakeStrictRedis]
= 40 failed, 749 passed, 774 skipped, 1 xfailed, 9 warnings in 67.24s (0:01:07) =

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant