History log of /redis-3.2.3/tests/unit/scripting.tcl (Results 1 – 25 of 49)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: 8.0-m02, 6.2.16, 7.2.6, 7.4.1, 8.0-m01, 7.4.0, 7.4-rc2, 7.4-rc1, 7.2.5, 7.2.4, 7.0.15, 7.2.3, 7.2.2, 7.0.14, 6.2.14, 6.2.15, 7.2.1, 7.0.13, 7.2.0, 7.2-rc3, 7.0.12, 6.2.13, 6.0.20, 7.2-rc2, 6.0.19, 6.2.12, 7.0.11, 7.2-rc1, 7.0.10, 7.0.9, 6.2.11, 6.0.18, 6.2.10, 6.0.17, 6.2.9, 7.0.8, 7.0.7, 7.0.6, 6.2.8, 7.0.5, 7.0.4, 7.0.3, 7.0.2, 7.0.1, 7.0.0, 6.2.7, 7.0-rc3, 7.0-rc2, 7.0-rc1, 6.2.6, 6.0.16, 5.0.14, 5.0.13, 6.0.15, 6.2.5, 6.0.14, 6.2.4, 6.2.3, 6.0.13, 6.2.2, 6.2.1, 6.0.12, 5.0.12, 6.0.11, 6.2.0, 5.0.11, 6.2-rc3, 6.0.10, 6.2-rc2, 6.2-rc1, 6.0.9, 5.0.10, 6.0.8, 6.0.7, 6.0.6, 6.0.5, 6.0.4, 6.0.3, 6.0.2, 6.0.1, 6.0.0, 5.0.9, 6.0-rc4, 6.0-rc3, 5.0.8, 6.0-rc2, 6.0-rc1, 5.0.7, 5.0.6, 5.0.5, 3.2.13, 4.0.14, 5.0.4, 4.0.13, 5.0.3, 4.0.12, 5.0.2, 5.0.1, 5.0.0, 5.0-rc6, 5.0-rc5, 4.0.11, 5.0-rc4, 5.0-rc3, 5.0-rc2, 4.0.10, 3.2.12, 5.0-rc1, 4.0.9, 4.0.8, 4.0.7, 4.0.6, 4.0.5, 4.0.4, 4.0.3, 3.2.11, 4.0.2, 3.2.10, 4.0.1, 4.0.0, 3.2.9, 4.0-rc3, 3.2.8, 3.2.7, 3.2.6, 4.0-rc2, 4.0-rc1, 3.2.5, 3.2.4, 3.2.3, 3.2.2, 3.2.1
# b4e5e2ec 31-May-2016 antirez <[email protected]>

Now that SPOP can be called by scripts use BLPOP on 's' flag test.


Revision tags: 3.2.0
# cfc08b65 25-Apr-2016 Oran Agra <[email protected]>

various cleanups and minor fixes


Revision tags: 3.2.0-rc3, 3.0.7, 3.2.0-rc2
# 5fd61c95 08-Jan-2016 antirez <[email protected]>

Scripting: handle trailing comments.

This fix, provided by Paul Kulchenko (@pkulchenko), allows the Lua
scripting engine to evaluate statements with a trailing comment like the
following one:

E

Scripting: handle trailing comments.

This fix, provided by Paul Kulchenko (@pkulchenko), allows the Lua
scripting engine to evaluate statements with a trailing comment like the
following one:

EVAL "print() --comment" 0

Lua can't parse the above if the string does not end with a newline, so
now a final newline is always added automatically. This does not change
the SHA1 of scripts since the SHA1 is computed on the body we pass to
EVAL, without the other code we add to register the function.

Close #2951.

show more ...


Revision tags: 3.2-rc1, 3.0.6, 2.8.24
# e20542eb 30-Oct-2015 antirez <[email protected]>

Scripting: commands replication tests.


# fdc8e0bd 30-Oct-2015 antirez <[email protected]>

Scripting: execute tests with command replication as well.


# f0434cae 30-Oct-2015 antirez <[email protected]>

Scripting: test Redis provided Lua functions error reporting.


Revision tags: 3.0.5, 2.8.23, 2.8.22, 3.0.4, 3.0.3, 3.0.2, 2.8.21, 2.8.20, 3.0.1, 3.0.0, 3.0.0-rc6, 3.0.0-rc5, 3.0.0-rc4, 3.0.0-rc3, 3.0.0-rc2, 2.8.19, 2.8.18, 3.0.0-rc1, 2.8.17, 2.8.16, 2.8.15, 2.8.14, 3.0.0-beta8, 2.8.13, 3.0.0-beta7, 2.8.12, 2.8.11, 3.0.0-beta6, 2.8.10, 3.0.0-beta5, 3.0.0-beta4, 3.0.0-beta3, 2.8.9, 2.8.8, 3.0.0-beta2
# 28802887 11-Mar-2014 Alon Diamant <[email protected]>

Added <count> parameter to SPOP:
spopCommand() now runs spopWithCountCommand() in case the <count> param is found.
Added intsetRandomMembers() to Intset: Copies N random members from the set into inp

Added <count> parameter to SPOP:
spopCommand() now runs spopWithCountCommand() in case the <count> param is found.
Added intsetRandomMembers() to Intset: Copies N random members from the set into inputted 'values' array. Uses either the Knuth or Floyd sample algos depending on ratio count/size.
Added setTypeRandomElements() to SET type: Returns a number of random elements from a non empty set. This is a version of setTypeRandomElement() that is modified in order to return multiple entries, using dictGetRandomKeys() and intsetRandomMembers().
Added tests for SPOP with <count>: unit/type/set, unit/scripting, integration/aof
--
Cleaned up code a bit to match with required Redis coding style

show more ...


# ace628c7 04-Apr-2014 Matt Stancliff <[email protected]>

Lua: add cmsgpack scripting tests

Basically: test to make sure we can load cmsgpack
and do some sanity checks to make sure pack/unpack works
properly. We also have a bonus test for circular encodin

Lua: add cmsgpack scripting tests

Basically: test to make sure we can load cmsgpack
and do some sanity checks to make sure pack/unpack works
properly. We also have a bonus test for circular encoding
and decoding because I was curious how it worked.

show more ...


# e327c8ed 04-Apr-2014 Matt Stancliff <[email protected]>

Lua: add cjson scripting test

Two simple decode tests added mainly to check that
the 'cjson' global gets registered and is usable.


# 3fecb961 04-Apr-2014 Matt Stancliff <[email protected]>

Lua: Add bitop

A few people have written custom C commands because bit
manipulation isn't exposed through Lua. Let's give
them Mike Pall's bitop.

This adds bitop 1.0.2 (2012-05-08) from http://bit

Lua: Add bitop

A few people have written custom C commands because bit
manipulation isn't exposed through Lua. Let's give
them Mike Pall's bitop.

This adds bitop 1.0.2 (2012-05-08) from http://bitop.luajit.org/

bitop is imported as "bit" into the global namespace.

New Lua commands: bit.tobit, bit.tohex, bit.bnot, bit.band, bit.bor, bit.bxor,
bit.lshift, bit.rshift, bit.arshift, bit.rol, bit.ror, bit.bswap

Verification of working (the asserts would abort on error, so (nil) is correct):
127.0.0.1:6379> eval "assert(bit.tobit(1) == 1); assert(bit.band(1) == 1); assert(bit.bxor(1,2) == 3); assert(bit.bor(1,2,4,8,16,32,64,128) == 255)" 0
(nil)
127.0.0.1:6379> eval 'assert(0x7fffffff == 2147483647, "broken hex literals"); assert(0xffffffff == -1 or 0xffffffff == 2^32-1, "broken hex literals"); assert(tostring(-1) == "-1", "broken tostring()"); assert(tostring(0xffffffff) == "-1" or tostring(0xffffffff) == "4294967295", "broken tostring()")' 0
(nil)

Tests also integrated into the scripting tests and can be run with:
./runtest --single unit/scripting

Tests are excerpted from `bittest.lua` included in the bitop distribution.

show more ...


# a23502e5 17-Aug-2014 Paddy Byers <[email protected]>

Add regression test for issue #1939


# f17f8521 29-Jun-2014 Matt Stancliff <[email protected]>

scripting: no eval with negative key count

Negative key count causes segfault in Lua functions.

Fixes #1842
Closes #1843


# aa19fd61 12-Jun-2014 antirez <[email protected]>

Scripting: regression test for issue #1811.


# 96e0fe62 12-Jun-2014 antirez <[email protected]>

Fix semantics of Lua calls to SELECT.

Lua scripts are executed in the context of the currently selected
database (as selected by the caller of the script).

However Lua scripts are also free to use

Fix semantics of Lua calls to SELECT.

Lua scripts are executed in the context of the currently selected
database (as selected by the caller of the script).

However Lua scripts are also free to use the SELECT command in order to
affect other DBs. When SELECT is called frm Lua, the old behavior, before
this commit, was to automatically set the Lua caller selected DB to the
last DB selected by Lua. See for example the following sequence of
commands:

SELECT 0
SET x 10
EVAL "redis.call('select','1')" 0
SET x 20

Before this commit after the execution of this sequence of commands,
we'll have x=10 in DB 0, and x=20 in DB 1.

Because of the problem above, there was a bug affecting replication of
Lua scripts, because of the actual implementation of replication. It was
possible to fix the implementation of Lua scripts in order to fix the
issue, but looking closely, the bug is the consequence of the behavior
of Lua ability to set the caller's DB.

Under the old semantics, a script selecting a different DB, has no simple
ways to restore the state and select back the previously selected DB.
Moreover the script auhtor must remember that the restore is needed,
otherwise the new commands executed by the caller, will be executed in
the context of a different DB.

So this commit fixes both the replication issue, and this hard-to-use
semantics, by removing the ability of Lua, after the script execution,
to force the caller to switch to the DB selected by the Lua script.

The new behavior of the previous sequence of commadns is to just set
X=20 in DB 0. However Lua scripts are still capable of writing / reading
from different DBs if needed.

WARNING: This is a semantical change that will break programs that are
conceived to select the client selected DB via Lua scripts.

This fixes issue #1811.

show more ...


# 76efe122 10-Jun-2014 Matt Stancliff <[email protected]>

Scripting: Fix regression from #1118

The new check-for-number behavior of Lua arguments broke
users who use large strings of just integers.

The Lua number check would convert the string to a number

Scripting: Fix regression from #1118

The new check-for-number behavior of Lua arguments broke
users who use large strings of just integers.

The Lua number check would convert the string to a number, but
that breaks user data because
Lua numbers have limited precision compared to an arbitrarily
precise number wrapped in a string.

Regression fixed and new test added.

Fixes #1118 again.

show more ...


# 3307db49 04-Jun-2014 antirez <[email protected]>

Regression test for issue #1118.


# 7f772355 20-May-2014 antirez <[email protected]>

Regression test for issue #1764.


# 76c31d42 07-May-2014 antirez <[email protected]>

Scripting test: check that Lua can call commands rewirting argv.

SPOP, tested in the new test, is among the commands rewritng the
client->argv argument vector (it gets rewritten as SREM) for command

Scripting test: check that Lua can call commands rewirting argv.

SPOP, tested in the new test, is among the commands rewritng the
client->argv argument vector (it gets rewritten as SREM) for command
replication purposes.

Because of recent optimizations to client->argv caching in the context
of the Lua internal Redis client, it is important to test for SPOP to be
callable from Lua without bad effects to the other commands.

show more ...


# 93e7a130 24-Apr-2014 antirez <[email protected]>

Test: fixed scripting.tcl test false positive.


# 4930d903 06-Apr-2014 yoav <[email protected]>

Fix eval usage in tests to conform with eval semantics


Revision tags: 2.8.7, 2.8.6
# f2bdf601 13-Feb-2014 antirez <[email protected]>

Test: regression for issue #1549.

It was verified that reverting the commit that fixes the bug, the test
no longer passes.


Revision tags: 3.0.0-beta1, 2.8.5, 2.8.4, 2.6.17, 2.8.3, 2.8.2, 2.8.1, 2.8.0, 2.8.0-rc6, 2.8.0-rc5, 2.8.0-rc4
# e9d97b45 30-Aug-2013 antirez <[email protected]>

Test: Lua stack leak regression test added.


Revision tags: 2.6.16, 2.6.15, 2.8.0-rc3, 2.8.0-rc2, 2.8.0-rc1, 2.6.14-2, 2.6.14-1, 2.6.14
# b02bb47e 19-Jun-2013 antirez <[email protected]>

Test: regression test for #1163.


Revision tags: 2.6.13, 2.6.12, 2.6.10-3, 2.6.10-2, 2.6.11, 2.6.10-1, 2.6.10, 2.6.9-1, 2.6.9
# 9d09ce39 16-Jan-2013 guiquanz <[email protected]>

Fixed many typos.


Revision tags: 2.6.8-1, 2.6.8
# a5cc063c 10-Jan-2013 antirez <[email protected]>

Test: added regression for issue #872.


12