diff options
author | Nick Vatamaniuc <vatamane@apache.org> | 2020-05-13 16:23:42 -0400 |
---|---|---|
committer | Nick Vatamaniuc <nickva@users.noreply.github.com> | 2020-05-13 16:40:43 -0400 |
commit | f0040c79d5437aefa60791f64abb9eb8cd2a2e54 (patch) | |
tree | 3e66083ec83a4d2851924d3503bd9fa7bb6d7fc5 | |
parent | 112790829472c50b66d1cd50f78e28a1372909ea (diff) | |
download | couchdb-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.erl | 25 | ||||
-rw-r--r-- | src/fabric/test/fabric2_dir_prefix_tests.erl | 4 | ||||
-rw-r--r-- | src/fabric/test/fabric2_index_tests.erl | 6 | ||||
-rw-r--r-- | src/fabric/test/fabric2_tx_options_tests.erl | 4 |
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) ]) }. |