summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNick Vatamaniuc <vatamane@apache.org>2020-05-13 16:23:42 -0400
committerNick Vatamaniuc <nickva@users.noreply.github.com>2020-05-13 16:40:43 -0400
commitf0040c79d5437aefa60791f64abb9eb8cd2a2e54 (patch)
tree3e66083ec83a4d2851924d3503bd9fa7bb6d7fc5
parent112790829472c50b66d1cd50f78e28a1372909ea (diff)
downloadcouchdb-f0040c79d5437aefa60791f64abb9eb8cd2a2e54.tar.gz
Fix a few flaky tests in fabric2_db
Add some longer timeouts and fix a race condition in db cleanup tests (Thanks to @jdoane for the patch)
-rw-r--r--src/fabric/test/fabric2_db_crud_tests.erl25
-rw-r--r--src/fabric/test/fabric2_dir_prefix_tests.erl4
-rw-r--r--src/fabric/test/fabric2_index_tests.erl6
-rw-r--r--src/fabric/test/fabric2_tx_options_tests.erl4
4 files changed, 22 insertions, 17 deletions
diff --git a/src/fabric/test/fabric2_db_crud_tests.erl b/src/fabric/test/fabric2_db_crud_tests.erl
index b1e15aa2e..b529935be 100644
--- a/src/fabric/test/fabric2_db_crud_tests.erl
+++ b/src/fabric/test/fabric2_db_crud_tests.erl
@@ -40,8 +40,8 @@ crud_test_() ->
?TDEF_FE(recreate_db),
?TDEF_FE(undelete_db),
?TDEF_FE(remove_deleted_db),
- ?TDEF_FE(scheduled_remove_deleted_db),
- ?TDEF_FE(scheduled_remove_deleted_dbs),
+ ?TDEF_FE(scheduled_remove_deleted_db, 15),
+ ?TDEF_FE(scheduled_remove_deleted_dbs, 15),
?TDEF_FE(old_db_handle),
?TDEF_FE(list_dbs),
?TDEF_FE(list_dbs_user_fun),
@@ -95,9 +95,7 @@ setup_all() ->
teardown_all(Ctx) ->
- meck:unload(erlfdb),
- meck:unload(config),
- meck:unload(fabric2_db_expiration),
+ meck:unload(),
test_util:stop_couch(Ctx).
@@ -251,11 +249,17 @@ scheduled_remove_deleted_db(_) ->
?assertEqual(ok, fabric2_db:delete(DbName, [])),
?assertEqual(false, ets:member(fabric2_server, DbName)),
- meck:wait(fabric2_db_expiration, process_expirations, '_', 5000),
+ meck:reset(fabric2_db_expiration),
+ meck:wait(fabric2_db_expiration, process_expirations, '_', 7000),
- {ok, Infos} = fabric2_db:list_deleted_dbs_info(),
- DeletedDbs = [proplists:get_value(db_name, Info) || Info <- Infos],
- ?assert(not lists:member(DbName, DeletedDbs)).
+ ?assertEqual(ok, test_util:wait(fun() ->
+ {ok, Infos} = fabric2_db:list_deleted_dbs_info(),
+ DeletedDbs = [proplists:get_value(db_name, Info) || Info <- Infos],
+ case lists:member(DbName, DeletedDbs) of
+ true -> wait;
+ false -> ok
+ end
+ end)).
scheduled_remove_deleted_dbs(_) ->
@@ -263,7 +267,8 @@ scheduled_remove_deleted_dbs(_) ->
ok = config:set("couchdb", "db_expiration_batch", "2", false),
ok = config:set("couchdb", "enable_database_recovery", "true", false),
DbNameList = [create_and_delete_db() || _I <- lists:seq(1, 5)],
- meck:wait(fabric2_db_expiration, process_expirations, '_', 5000),
+ meck:reset(fabric2_db_expiration),
+ meck:wait(fabric2_db_expiration, process_expirations, '_', 7000),
{ok, Infos} = fabric2_db:list_deleted_dbs_info(),
DeletedDbs = [proplists:get_value(db_name, Info) || Info <- Infos],
diff --git a/src/fabric/test/fabric2_dir_prefix_tests.erl b/src/fabric/test/fabric2_dir_prefix_tests.erl
index 75d68a80f..2943d6533 100644
--- a/src/fabric/test/fabric2_dir_prefix_tests.erl
+++ b/src/fabric/test/fabric2_dir_prefix_tests.erl
@@ -33,8 +33,8 @@ dir_prefix_test_() ->
test_util:stop_couch(Ctx)
end,
with([
- ?TDEF(default_prefix),
- ?TDEF(custom_prefix)
+ ?TDEF(default_prefix, 15),
+ ?TDEF(custom_prefix, 15)
])
}.
diff --git a/src/fabric/test/fabric2_index_tests.erl b/src/fabric/test/fabric2_index_tests.erl
index fa3a14d61..8a4acb77d 100644
--- a/src/fabric/test/fabric2_index_tests.erl
+++ b/src/fabric/test/fabric2_index_tests.erl
@@ -50,8 +50,8 @@ index_process_cleanup_test_() ->
fun setup/0,
fun cleanup/1,
[
- ?TDEF_FE(updater_processes_start),
- ?TDEF_FE(updater_processes_stop),
+ ?TDEF_FE(updater_processes_start, 15),
+ ?TDEF_FE(updater_processes_stop, 15),
?TDEF_FE(indexing_can_be_disabled),
?TDEF_FE(handle_indexer_blowing_up)
]
@@ -206,7 +206,7 @@ updater_processes_stop(#{}) ->
lists:foreach(fun(Ref) ->
receive
{'DOWN', Ref, _, _, _} -> ok
- after 3000 ->
+ after 5000 ->
?assert(false)
end
end, Refs).
diff --git a/src/fabric/test/fabric2_tx_options_tests.erl b/src/fabric/test/fabric2_tx_options_tests.erl
index 34cb6e180..b93cc3d69 100644
--- a/src/fabric/test/fabric2_tx_options_tests.erl
+++ b/src/fabric/test/fabric2_tx_options_tests.erl
@@ -42,8 +42,8 @@ fdb_tx_options_test_() ->
test_util:stop_couch(Ctx)
end,
with([
- ?TDEF(options_take_effect),
- ?TDEF(can_configure_options_at_runtime)
+ ?TDEF(options_take_effect, 15),
+ ?TDEF(can_configure_options_at_runtime, 15)
])
}.