aboutsummaryrefslogtreecommitdiffstats
path: root/tests
diff options
context:
space:
mode:
authorKim Alvefur <zash@zash.se>2016-07-14 13:41:02 +0200
committerKim Alvefur <zash@zash.se>2016-07-14 13:41:02 +0200
commit7a96aa1a3cd45cbba3efb233174aeef5f1152324 (patch)
tree7f1c0c36f5c9dadc79cbec11d668ba0bdef0d36f /tests
parent50bd70e55fef42f6ec053a0662d39471c59dbde0 (diff)
parent4f147a612741c20c8eb2783030dabbbf3b30ebc5 (diff)
downloadprosody-7a96aa1a3cd45cbba3efb233174aeef5f1152324.tar.gz
prosody-7a96aa1a3cd45cbba3efb233174aeef5f1152324.zip
Merge 0.10->trunk
Diffstat (limited to 'tests')
-rwxr-xr-xtests/run_tests.sh2
-rw-r--r--tests/test_util_cache.lua257
-rw-r--r--tests/test_util_stanza.lua122
3 files changed, 201 insertions, 180 deletions
diff --git a/tests/run_tests.sh b/tests/run_tests.sh
index bfb13d00..7f1ee700 100755
--- a/tests/run_tests.sh
+++ b/tests/run_tests.sh
@@ -1,3 +1,3 @@
#!/bin/sh
rm reports/*.report
-exec lua test.lua $*
+exec lua test.lua "$@"
diff --git a/tests/test_util_cache.lua b/tests/test_util_cache.lua
index cbc60bc7..a5e25e75 100644
--- a/tests/test_util_cache.lua
+++ b/tests/test_util_cache.lua
@@ -117,143 +117,154 @@ function new(new)
assert_equal(c:get("eight"), 8);
assert_equal(c:get("nine"), 9);
- local keys = { "nine", "four", "eight", "seven", "six" };
- local values = { 9, 4, 8, 7, 6 };
- local i = 0;
- for k, v in c:items() do
- i = i + 1;
- assert_equal(k, keys[i]);
- assert_equal(v, values[i]);
- end
- assert_equal(i, 5);
-
- c:set("four", "2+2");
- assert_equal(c:count(), 5);
+ do
+ local keys = { "nine", "four", "eight", "seven", "six" };
+ local values = { 9, 4, 8, 7, 6 };
+ local i = 0;
+ for k, v in c:items() do
+ i = i + 1;
+ assert_equal(k, keys[i]);
+ assert_equal(v, values[i]);
+ end
+ assert_equal(i, 5);
- assert_equal(c:get("one"), nil);
- assert_equal(c:get("two"), nil);
- assert_equal(c:get("three"), nil);
- assert_equal(c:get("four"), "2+2");
- assert_equal(c:get("five"), nil);
- assert_equal(c:get("six"), 6);
- assert_equal(c:get("seven"), 7);
- assert_equal(c:get("eight"), 8);
- assert_equal(c:get("nine"), 9);
+ c:set("four", "2+2");
+ assert_equal(c:count(), 5);
- local keys = { "four", "nine", "eight", "seven", "six" };
- local values = { "2+2", 9, 8, 7, 6 };
- local i = 0;
- for k, v in c:items() do
- i = i + 1;
- assert_equal(k, keys[i]);
- assert_equal(v, values[i]);
+ assert_equal(c:get("one"), nil);
+ assert_equal(c:get("two"), nil);
+ assert_equal(c:get("three"), nil);
+ assert_equal(c:get("four"), "2+2");
+ assert_equal(c:get("five"), nil);
+ assert_equal(c:get("six"), 6);
+ assert_equal(c:get("seven"), 7);
+ assert_equal(c:get("eight"), 8);
+ assert_equal(c:get("nine"), 9);
end
- assert_equal(i, 5);
-
- c:set("foo", nil);
- assert_equal(c:count(), 5);
- assert_equal(c:get("one"), nil);
- assert_equal(c:get("two"), nil);
- assert_equal(c:get("three"), nil);
- assert_equal(c:get("four"), "2+2");
- assert_equal(c:get("five"), nil);
- assert_equal(c:get("six"), 6);
- assert_equal(c:get("seven"), 7);
- assert_equal(c:get("eight"), 8);
- assert_equal(c:get("nine"), 9);
+ do
+ local keys = { "four", "nine", "eight", "seven", "six" };
+ local values = { "2+2", 9, 8, 7, 6 };
+ local i = 0;
+ for k, v in c:items() do
+ i = i + 1;
+ assert_equal(k, keys[i]);
+ assert_equal(v, values[i]);
+ end
+ assert_equal(i, 5);
- local keys = { "four", "nine", "eight", "seven", "six" };
- local values = { "2+2", 9, 8, 7, 6 };
- local i = 0;
- for k, v in c:items() do
- i = i + 1;
- assert_equal(k, keys[i]);
- assert_equal(v, values[i]);
- end
- assert_equal(i, 5);
-
- c:set("four", nil);
-
- assert_equal(c:get("one"), nil);
- assert_equal(c:get("two"), nil);
- assert_equal(c:get("three"), nil);
- assert_equal(c:get("four"), nil);
- assert_equal(c:get("five"), nil);
- assert_equal(c:get("six"), 6);
- assert_equal(c:get("seven"), 7);
- assert_equal(c:get("eight"), 8);
- assert_equal(c:get("nine"), 9);
+ c:set("foo", nil);
+ assert_equal(c:count(), 5);
- local keys = { "nine", "eight", "seven", "six" };
- local values = { 9, 8, 7, 6 };
- local i = 0;
- for k, v in c:items() do
- i = i + 1;
- assert_equal(k, keys[i]);
- assert_equal(v, values[i]);
+ assert_equal(c:get("one"), nil);
+ assert_equal(c:get("two"), nil);
+ assert_equal(c:get("three"), nil);
+ assert_equal(c:get("four"), "2+2");
+ assert_equal(c:get("five"), nil);
+ assert_equal(c:get("six"), 6);
+ assert_equal(c:get("seven"), 7);
+ assert_equal(c:get("eight"), 8);
+ assert_equal(c:get("nine"), 9);
end
- assert_equal(i, 4);
-
- local evicted_key, evicted_value;
- local c2 = new(3, function (_key, _value)
- evicted_key, evicted_value = _key, _value;
- end);
- local function set(k, v, should_evict_key, should_evict_value)
- evicted_key, evicted_value = nil, nil;
- c2:set(k, v);
- assert_equal(evicted_key, should_evict_key);
- assert_equal(evicted_value, should_evict_value);
+
+ do
+ local keys = { "four", "nine", "eight", "seven", "six" };
+ local values = { "2+2", 9, 8, 7, 6 };
+ local i = 0;
+ for k, v in c:items() do
+ i = i + 1;
+ assert_equal(k, keys[i]);
+ assert_equal(v, values[i]);
+ end
+ assert_equal(i, 5);
+
+ c:set("four", nil);
+
+ assert_equal(c:get("one"), nil);
+ assert_equal(c:get("two"), nil);
+ assert_equal(c:get("three"), nil);
+ assert_equal(c:get("four"), nil);
+ assert_equal(c:get("five"), nil);
+ assert_equal(c:get("six"), 6);
+ assert_equal(c:get("seven"), 7);
+ assert_equal(c:get("eight"), 8);
+ assert_equal(c:get("nine"), 9);
end
- set("a", 1)
- set("a", 1)
- set("a", 1)
- set("a", 1)
- set("a", 1)
- set("b", 2)
- set("c", 3)
- set("b", 2)
- set("d", 4, "a", 1)
- set("e", 5, "c", 3)
-
+ do
+ local keys = { "nine", "eight", "seven", "six" };
+ local values = { 9, 8, 7, 6 };
+ local i = 0;
+ for k, v in c:items() do
+ i = i + 1;
+ assert_equal(k, keys[i]);
+ assert_equal(v, values[i]);
+ end
+ assert_equal(i, 4);
+ end
- local evicted_key, evicted_value;
- local c3 = new(1, function (_key, _value)
- evicted_key, evicted_value = _key, _value;
- if _key == "a" then
- -- Sanity check for what we're evicting
- assert_equal(_key, "a");
- assert_equal(_value, 1);
- -- We're going to block eviction of this key/value, so set to nil...
+ do
+ local evicted_key, evicted_value;
+ local c2 = new(3, function (_key, _value)
+ evicted_key, evicted_value = _key, _value;
+ end);
+ local function set(k, v, should_evict_key, should_evict_value)
evicted_key, evicted_value = nil, nil;
- -- Returning false to block eviction
- return false
+ c2:set(k, v);
+ assert_equal(evicted_key, should_evict_key);
+ assert_equal(evicted_value, should_evict_value);
end
- end);
- local function set(k, v, should_evict_key, should_evict_value)
- evicted_key, evicted_value = nil, nil;
- local ret = c3:set(k, v);
- assert_equal(evicted_key, should_evict_key);
- assert_equal(evicted_value, should_evict_value);
- return ret;
+ set("a", 1)
+ set("a", 1)
+ set("a", 1)
+ set("a", 1)
+ set("a", 1)
+
+ set("b", 2)
+ set("c", 3)
+ set("b", 2)
+ set("d", 4, "a", 1)
+ set("e", 5, "c", 3)
end
- set("a", 1)
- set("a", 1)
- set("a", 1)
- set("a", 1)
- set("a", 1)
- -- Our on_evict prevents "a" from being evicted, causing this to fail...
- assert_equal(set("b", 2), false, "Failed to prevent eviction, or signal result");
-
- expect_kv("a", 1, c3:head());
- expect_kv("a", 1, c3:tail());
-
- -- Check the final state is what we expect
- assert_equal(c3:get("a"), 1);
- assert_equal(c3:get("b"), nil);
- assert_equal(c3:count(), 1);
+ do
+ local evicted_key, evicted_value;
+ local c3 = new(1, function (_key, _value)
+ evicted_key, evicted_value = _key, _value;
+ if _key == "a" then
+ -- Sanity check for what we're evicting
+ assert_equal(_key, "a");
+ assert_equal(_value, 1);
+ -- We're going to block eviction of this key/value, so set to nil...
+ evicted_key, evicted_value = nil, nil;
+ -- Returning false to block eviction
+ return false
+ end
+ end);
+ local function set(k, v, should_evict_key, should_evict_value)
+ evicted_key, evicted_value = nil, nil;
+ local ret = c3:set(k, v);
+ assert_equal(evicted_key, should_evict_key);
+ assert_equal(evicted_value, should_evict_value);
+ return ret;
+ end
+ set("a", 1)
+ set("a", 1)
+ set("a", 1)
+ set("a", 1)
+ set("a", 1)
+
+ -- Our on_evict prevents "a" from being evicted, causing this to fail...
+ assert_equal(set("b", 2), false, "Failed to prevent eviction, or signal result");
+
+ expect_kv("a", 1, c3:head());
+ expect_kv("a", 1, c3:tail());
+
+ -- Check the final state is what we expect
+ assert_equal(c3:get("a"), 1);
+ assert_equal(c3:get("b"), nil);
+ assert_equal(c3:count(), 1);
+ end
local c4 = new(3, false);
diff --git a/tests/test_util_stanza.lua b/tests/test_util_stanza.lua
index e5c96425..bc0ac64a 100644
--- a/tests/test_util_stanza.lua
+++ b/tests/test_util_stanza.lua
@@ -80,63 +80,73 @@ function presence(presence)
end
function reply(reply, _M)
- -- Test stanza
- local s = _M.stanza("s", { to = "touser", from = "fromuser", id = "123" })
- :tag("child1");
- -- Make reply stanza
- local r = reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
-
- -- Test stanza
- local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "get" })
- :tag("child1");
- -- Make reply stanza
- local r = reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(r.attr.type, "result");
- assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
-
- -- Test stanza
- local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "set" })
- :tag("child1");
- -- Make reply stanza
- local r = reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(r.attr.type, "result");
- assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
+ do
+ -- Test stanza
+ local s = _M.stanza("s", { to = "touser", from = "fromuser", id = "123" })
+ :tag("child1");
+ -- Make reply stanza
+ local r = reply(s);
+ assert_equal(r.name, s.name);
+ assert_equal(r.id, s.id);
+ assert_equal(r.attr.to, s.attr.from);
+ assert_equal(r.attr.from, s.attr.to);
+ assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
+ end
+
+ do
+ -- Test stanza
+ local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "get" })
+ :tag("child1");
+ -- Make reply stanza
+ local r = reply(s);
+ assert_equal(r.name, s.name);
+ assert_equal(r.id, s.id);
+ assert_equal(r.attr.to, s.attr.from);
+ assert_equal(r.attr.from, s.attr.to);
+ assert_equal(r.attr.type, "result");
+ assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
+ end
+
+ do
+ -- Test stanza
+ local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "set" })
+ :tag("child1");
+ -- Make reply stanza
+ local r = reply(s);
+ assert_equal(r.name, s.name);
+ assert_equal(r.id, s.id);
+ assert_equal(r.attr.to, s.attr.from);
+ assert_equal(r.attr.from, s.attr.to);
+ assert_equal(r.attr.type, "result");
+ assert_equal(#r.tags, 0, "A reply should not include children of the original stanza");
+ end
end
function error_reply(error_reply, _M)
- -- Test stanza
- local s = _M.stanza("s", { to = "touser", from = "fromuser", id = "123" })
- :tag("child1");
- -- Make reply stanza
- local r = error_reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(#r.tags, 1);
-
- -- Test stanza
- local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "get" })
- :tag("child1");
- -- Make reply stanza
- local r = error_reply(s);
- assert_equal(r.name, s.name);
- assert_equal(r.id, s.id);
- assert_equal(r.attr.to, s.attr.from);
- assert_equal(r.attr.from, s.attr.to);
- assert_equal(r.attr.type, "error");
- assert_equal(#r.tags, 1);
+ do
+ -- Test stanza
+ local s = _M.stanza("s", { to = "touser", from = "fromuser", id = "123" })
+ :tag("child1");
+ -- Make reply stanza
+ local r = error_reply(s);
+ assert_equal(r.name, s.name);
+ assert_equal(r.id, s.id);
+ assert_equal(r.attr.to, s.attr.from);
+ assert_equal(r.attr.from, s.attr.to);
+ assert_equal(#r.tags, 1);
+ end
+
+ do
+ -- Test stanza
+ local s = _M.stanza("iq", { to = "touser", from = "fromuser", id = "123", type = "get" })
+ :tag("child1");
+ -- Make reply stanza
+ local r = error_reply(s);
+ assert_equal(r.name, s.name);
+ assert_equal(r.id, s.id);
+ assert_equal(r.attr.to, s.attr.from);
+ assert_equal(r.attr.from, s.attr.to);
+ assert_equal(r.attr.type, "error");
+ assert_equal(#r.tags, 1);
+ end
end