You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by da...@apache.org on 2019/12/25 17:45:42 UTC

[couchdb] 39/41: Speedup eunit: mem3_shards

This is an automated email from the ASF dual-hosted git repository.

davisp pushed a commit to branch speedup-test-suite
in repository https://gitbox.apache.org/repos/asf/couchdb.git

commit 940a7e07a3d4bf3c594e21cd7011b2f8274001a5
Author: Paul J. Davis <pa...@gmail.com>
AuthorDate: Wed Dec 25 11:42:34 2019 -0600

    Speedup eunit: mem3_shards
---
 src/mem3/src/mem3_shards.erl | 54 +++++++++++++++++++++++++++++---------------
 1 file changed, 36 insertions(+), 18 deletions(-)

diff --git a/src/mem3/src/mem3_shards.erl b/src/mem3/src/mem3_shards.erl
index dfa40c3..110e227 100644
--- a/src/mem3/src/mem3_shards.erl
+++ b/src/mem3/src/mem3_shards.erl
@@ -525,25 +525,30 @@ filter_shards_by_range(Range, Shards)->
 
 mem3_shards_test_() ->
     {
-        foreach,
-        fun setup/0,
-        fun teardown/1,
-        [
-            t_maybe_spawn_shard_writer_already_exists(),
-            t_maybe_spawn_shard_writer_new(),
-            t_flush_writer_exists_normal(),
-            t_flush_writer_times_out(),
-            t_flush_writer_crashes(),
-            t_writer_deletes_itself_when_done(),
-            t_writer_does_not_delete_other_writers_for_same_shard(),
-            t_spawn_writer_in_load_shards_from_db(),
-            t_cache_insert_takes_new_update(),
-            t_cache_insert_ignores_stale_update_and_kills_worker()
-        ]
+        setup,
+        fun setup_all/0,
+        fun teardown_all/1,
+        {
+            foreach,
+            fun setup/0,
+            fun teardown/1,
+            [
+                t_maybe_spawn_shard_writer_already_exists(),
+                t_maybe_spawn_shard_writer_new(),
+                t_flush_writer_exists_normal(),
+                t_flush_writer_times_out(),
+                t_flush_writer_crashes(),
+                t_writer_deletes_itself_when_done(),
+                t_writer_does_not_delete_other_writers_for_same_shard(),
+                t_spawn_writer_in_load_shards_from_db(),
+                t_cache_insert_takes_new_update(),
+                t_cache_insert_ignores_stale_update_and_kills_worker()
+            ]
+        }
     }.
 
 
-setup() ->
+setup_all() ->
     ets:new(?SHARDS, [bag, public, named_table, {keypos, #shard.dbname}]),
     ets:new(?OPENERS, [bag, public, named_table]),
     ets:new(?DBS, [set, public, named_table]),
@@ -552,7 +557,7 @@ setup() ->
     ok.
 
 
-teardown(_) ->
+teardown_all(_) ->
     meck:unload(),
     ets:delete(?ATIMES),
     ets:delete(?DBS),
@@ -560,6 +565,17 @@ teardown(_) ->
     ets:delete(?SHARDS).
 
 
+setup() ->
+    ets:delete_all_objects(?ATIMES),
+    ets:delete_all_objects(?DBS),
+    ets:delete_all_objects(?OPENERS),
+    ets:delete_all_objects(?SHARDS).
+
+
+teardown(_) ->
+    ok.
+
+
 t_maybe_spawn_shard_writer_already_exists() ->
     ?_test(begin
         ets:insert(?OPENERS, {?DB, self()}),
@@ -653,7 +669,9 @@ t_spawn_writer_in_load_shards_from_db() ->
         ?assertMatch({cache_insert, ?DB, Pid, 1} when is_pid(Pid), Cast),
         {cache_insert, _, WPid, _} = Cast,
         exit(WPid, kill),
-        ?assertEqual([{?DB, WPid}], ets:tab2list(?OPENERS))
+        ?assertEqual([{?DB, WPid}], ets:tab2list(?OPENERS)),
+        meck:unload(couch_db),
+        meck:unload(mem3_util)
     end).