You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by rn...@apache.org on 2020/08/07 09:03:30 UTC
[couchdb] 06/06: add cache test
This is an automated email from the ASF dual-hosted git repository.
rnewson pushed a commit to branch prototype/fdb-layer-ebtree-immutable
in repository https://gitbox.apache.org/repos/asf/couchdb.git
commit 5215aa3ec007d7c83159ba01b943867a2419bc1c
Author: Robert Newson <rn...@apache.org>
AuthorDate: Thu Jul 23 19:16:25 2020 +0100
add cache test
---
src/ebtree/src/ebtree.erl | 19 +++++++++++++++++++
1 file changed, 19 insertions(+)
diff --git a/src/ebtree/src/ebtree.erl b/src/ebtree/src/ebtree.erl
index d058669..5409966 100644
--- a/src/ebtree/src/ebtree.erl
+++ b/src/ebtree/src/ebtree.erl
@@ -1529,4 +1529,23 @@ validate_node_test_() ->
].
+cache_test_() ->
+ {spawn, [fun() ->
+ Db = erlfdb_util:get_test_db([empty]),
+ CacheFun = fun
+ (set, Node) ->
+ erlang:put(Node#node.id, Node);
+ (clear, Node) ->
+ erlang:erase(Node#node.id);
+ (get, Id) ->
+ erlang:get(Id)
+ end,
+ Tree = open(Db, <<1,2,3>>, 4, [{cache_fun, CacheFun}]),
+ [ebtree:insert(Db, Tree, I, I) || I <- lists:seq(1, 16)],
+ ?assertEqual({1, 1}, ebtree:lookup(Db, Tree, 1)),
+ NodeCache = [V || {_K, V} <- erlang:get(), is_record(V, node)],
+ ?assertEqual(3, length(NodeCache))
+ end]}.
+
+
-endif.