diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2019-12-25 11:42:34 -0600 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2019-12-25 13:52:32 -0600 |
commit | 10e9036e4f4c95b83c10a498a60ff58042ff8329 (patch) | |
tree | 0f7d561544124074dea9770a82223524a96d8e6d | |
parent | 47bb9d7cb3c4a8c865d1ad05a42b480bba59e694 (diff) | |
download | couchdb-10e9036e4f4c95b83c10a498a60ff58042ff8329.tar.gz |
Speedup eunit: mem3_shards
-rw-r--r-- | src/mem3/src/mem3_shards.erl | 54 |
1 files changed, 36 insertions, 18 deletions
diff --git a/src/mem3/src/mem3_shards.erl b/src/mem3/src/mem3_shards.erl index dfa40c338..110e227dd 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). |