summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul J. Davis <paul.joseph.davis@gmail.com>2019-12-04 13:13:26 -0600
committerPaul J. Davis <paul.joseph.davis@gmail.com>2019-12-05 08:49:20 -0600
commit788538d6edd26aad99f6004ca0f9b1d935e8ceaa (patch)
tree26a113629a548eecd7cb9c315149b788e4cd647a
parent2247c80397205cdaee46d4ae059690673d8696b9 (diff)
downloadcouchdb-788538d6edd26aad99f6004ca0f9b1d935e8ceaa.tar.gz
Normalize fabric2 test suite
This change ensures that all test names are visible and follows a single unified pattern for each test module.
-rw-r--r--src/fabric/test/fabric2_changes_fold_tests.erl17
-rw-r--r--src/fabric/test/fabric2_db_crud_tests.erl16
-rw-r--r--src/fabric/test/fabric2_db_misc_tests.erl24
-rw-r--r--src/fabric/test/fabric2_db_security_tests.erl33
-rw-r--r--src/fabric/test/fabric2_dir_prefix_tests.erl24
-rw-r--r--src/fabric/test/fabric2_doc_count_tests.erl13
-rw-r--r--src/fabric/test/fabric2_doc_crud_tests.erl85
-rw-r--r--src/fabric/test/fabric2_doc_fold_tests.erl29
-rw-r--r--src/fabric/test/fabric2_fdb_tx_retry_tests.erl48
-rw-r--r--src/fabric/test/fabric2_local_doc_fold_tests.erl29
-rw-r--r--src/fabric/test/fabric2_node_types_tests.erl21
-rw-r--r--src/fabric/test/fabric2_rev_stemming.erl23
-rw-r--r--src/fabric/test/fabric2_test.hrl25
-rw-r--r--src/fabric/test/fabric2_trace_db_create_tests.erl9
-rw-r--r--src/fabric/test/fabric2_trace_db_delete_tests.erl7
-rw-r--r--src/fabric/test/fabric2_trace_db_open_tests.erl7
-rw-r--r--src/fabric/test/fabric2_trace_doc_create_tests.erl13
17 files changed, 214 insertions, 209 deletions
diff --git a/src/fabric/test/fabric2_changes_fold_tests.erl b/src/fabric/test/fabric2_changes_fold_tests.erl
index 892b448b4..8a29bcb00 100644
--- a/src/fabric/test/fabric2_changes_fold_tests.erl
+++ b/src/fabric/test/fabric2_changes_fold_tests.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
-define(DOC_COUNT, 25).
@@ -28,14 +29,14 @@ changes_fold_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun fold_changes_basic/1,
- fun fold_changes_since_now/1,
- fun fold_changes_since_seq/1,
- fun fold_changes_basic_rev/1,
- fun fold_changes_since_now_rev/1,
- fun fold_changes_since_seq_rev/1
- ]}
+ with([
+ ?TDEF(fold_changes_basic),
+ ?TDEF(fold_changes_since_now),
+ ?TDEF(fold_changes_since_seq),
+ ?TDEF(fold_changes_basic_rev),
+ ?TDEF(fold_changes_since_now_rev),
+ ?TDEF(fold_changes_since_seq_rev)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_db_crud_tests.erl b/src/fabric/test/fabric2_db_crud_tests.erl
index 24deeb2dc..cc44f7d6b 100644
--- a/src/fabric/test/fabric2_db_crud_tests.erl
+++ b/src/fabric/test/fabric2_db_crud_tests.erl
@@ -15,9 +15,7 @@
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
-
-
--define(TDEF(A), {atom_to_list(A), fun A/0}).
+-include("fabric2_test.hrl").
crud_test_() ->
@@ -27,24 +25,24 @@ crud_test_() ->
setup,
fun() -> test_util:start_couch([fabric]) end,
fun test_util:stop_couch/1,
- [
+ with([
?TDEF(create_db),
?TDEF(open_db),
?TDEF(delete_db),
?TDEF(list_dbs)
- ]
+ ])
}
}.
-create_db() ->
+create_db(_) ->
DbName = ?tempdb(),
?assertMatch({ok, _}, fabric2_db:create(DbName, [])),
?assertEqual(true, ets:member(fabric2_server, DbName)),
?assertEqual({error, file_exists}, fabric2_db:create(DbName, [])).
-open_db() ->
+open_db(_) ->
DbName = ?tempdb(),
?assertError(database_does_not_exist, fabric2_db:open(DbName, [])),
@@ -59,7 +57,7 @@ open_db() ->
?assertMatch({ok, _}, fabric2_db:open(DbName, [])).
-delete_db() ->
+delete_db(_) ->
DbName = ?tempdb(),
?assertError(database_does_not_exist, fabric2_db:delete(DbName, [])),
@@ -72,7 +70,7 @@ delete_db() ->
?assertError(database_does_not_exist, fabric2_db:open(DbName, [])).
-list_dbs() ->
+list_dbs(_) ->
DbName = ?tempdb(),
AllDbs1 = fabric2_db:list_dbs(),
diff --git a/src/fabric/test/fabric2_db_misc_tests.erl b/src/fabric/test/fabric2_db_misc_tests.erl
index 913b6aa98..12fc3e50b 100644
--- a/src/fabric/test/fabric2_db_misc_tests.erl
+++ b/src/fabric/test/fabric2_db_misc_tests.erl
@@ -17,9 +17,7 @@
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
-include("fabric2.hrl").
-
-
--define(TDEF(A), {atom_to_list(A), fun A/1}).
+-include("fabric2_test.hrl").
misc_test_() ->
@@ -29,16 +27,16 @@ misc_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun empty_db_info/1,
- fun accessors/1,
- fun set_revs_limit/1,
- fun set_security/1,
- fun is_system_db/1,
- fun ensure_full_commit/1,
- fun metadata_bump/1,
- fun db_version_bump/1
- ]}
+ with([
+ ?TDEF(empty_db_info),
+ ?TDEF(accessors),
+ ?TDEF(set_revs_limit),
+ ?TDEF(set_security),
+ ?TDEF(is_system_db),
+ ?TDEF(ensure_full_commit),
+ ?TDEF(metadata_bump),
+ ?TDEF(db_version_bump)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_db_security_tests.erl b/src/fabric/test/fabric2_db_security_tests.erl
index 501545484..063979a3f 100644
--- a/src/fabric/test/fabric2_db_security_tests.erl
+++ b/src/fabric/test/fabric2_db_security_tests.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
security_test_() ->
@@ -25,22 +26,22 @@ security_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun check_is_admin/1,
- fun check_is_not_admin/1,
- fun check_is_admin_role/1,
- fun check_is_not_admin_role/1,
- fun check_is_member_name/1,
- fun check_is_not_member_name/1,
- fun check_is_member_role/1,
- fun check_is_not_member_role/1,
- fun check_admin_is_member/1,
- fun check_is_member_of_public_db/1,
- fun check_set_user_ctx/1,
- fun check_forbidden/1,
- fun check_fail_no_opts/1,
- fun check_fail_name_null/1
- ]}
+ with([
+ ?TDEF(check_is_admin),
+ ?TDEF(check_is_not_admin),
+ ?TDEF(check_is_admin_role),
+ ?TDEF(check_is_not_admin_role),
+ ?TDEF(check_is_member_name),
+ ?TDEF(check_is_not_member_name),
+ ?TDEF(check_is_member_role),
+ ?TDEF(check_is_not_member_role),
+ ?TDEF(check_admin_is_member),
+ ?TDEF(check_is_member_of_public_db),
+ ?TDEF(check_set_user_ctx),
+ ?TDEF(check_forbidden),
+ ?TDEF(check_fail_no_opts),
+ ?TDEF(check_fail_name_null)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_dir_prefix_tests.erl b/src/fabric/test/fabric2_dir_prefix_tests.erl
index e4e78a338..75d68a80f 100644
--- a/src/fabric/test/fabric2_dir_prefix_tests.erl
+++ b/src/fabric/test/fabric2_dir_prefix_tests.erl
@@ -15,34 +15,34 @@
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
-
-
--define(TDEF(A), {atom_to_list(A), fun A/0}).
+-include("fabric2_test.hrl").
dir_prefix_test_() ->
{
"Test couchdb fdb directory prefix",
- foreach,
+ setup,
fun() ->
% erlfdb, rexi and mem3 are all dependent apps for fabric. We make
% sure to start them so when fabric is started during the test it
% already has its dependencies
- test_util:start_couch([erlfdb, rexi, mem3, ctrace])
+ test_util:start_couch([erlfdb, rexi, mem3, ctrace, fabric])
end,
fun(Ctx) ->
config:delete("fabric", "fdb_directory"),
- ok = application:stop(fabric),
test_util:stop_couch(Ctx)
end,
- [
+ with([
?TDEF(default_prefix),
?TDEF(custom_prefix)
- ]
+ ])
}.
-default_prefix() ->
+default_prefix(_) ->
+ erase(fdb_directory),
+ ok = config:delete("fabric", "fdb_directory", false),
+ ok = application:stop(fabric),
ok = application:start(fabric),
?assertEqual([<<"couchdb">>], fabric2_server:fdb_directory()),
@@ -55,8 +55,10 @@ default_prefix() ->
?assertMatch({ok, _}, fabric2_db:create(DbName, [])).
-custom_prefix() ->
- ok = config:set("fabric", "fdb_directory", "couchdb_foo"),
+custom_prefix(_) ->
+ erase(fdb_directory),
+ ok = config:set("fabric", "fdb_directory", "couchdb_foo", false),
+ ok = application:stop(fabric),
ok = application:start(fabric),
?assertEqual([<<"couchdb_foo">>], fabric2_server:fdb_directory()),
diff --git a/src/fabric/test/fabric2_doc_count_tests.erl b/src/fabric/test/fabric2_doc_count_tests.erl
index 743ae7665..7aaf288f4 100644
--- a/src/fabric/test/fabric2_doc_count_tests.erl
+++ b/src/fabric/test/fabric2_doc_count_tests.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
-define(DOC_COUNT, 10).
@@ -28,12 +29,12 @@ doc_count_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun normal_docs/1,
- fun replicated_docs/1,
- fun design_docs/1,
- fun local_docs/1
- ]}
+ with([
+ ?TDEF(normal_docs),
+ ?TDEF(replicated_docs),
+ ?TDEF(design_docs),
+ ?TDEF(local_docs)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_doc_crud_tests.erl b/src/fabric/test/fabric2_doc_crud_tests.erl
index a9085be77..184eb4a66 100644
--- a/src/fabric/test/fabric2_doc_crud_tests.erl
+++ b/src/fabric/test/fabric2_doc_crud_tests.erl
@@ -17,6 +17,7 @@
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
-include("fabric2.hrl").
+-include("fabric2_test.hrl").
doc_crud_test_() ->
@@ -26,48 +27,48 @@ doc_crud_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun open_missing_doc/1,
- fun create_new_doc/1,
- fun create_ddoc_basic/1,
- fun create_ddoc_requires_admin/1,
- fun create_ddoc_requires_validation/1,
- fun create_ddoc_requires_compilation/1,
- fun can_create_a_partitioned_ddoc/1,
- fun update_doc_basic/1,
- fun update_ddoc_basic/1,
- fun update_doc_replicated/1,
- fun update_doc_replicated_add_conflict/1,
- fun update_doc_replicated_changes_winner/1,
- fun update_doc_replicated_extension/1,
- fun update_doc_replicate_existing_rev/1,
- fun update_winning_conflict_branch/1,
- fun update_non_winning_conflict_branch/1,
- fun delete_doc_basic/1,
- fun delete_changes_winner/1,
- fun recreate_doc_basic/1,
- fun conflict_on_create_new_with_rev/1,
- fun conflict_on_update_with_no_rev/1,
- fun conflict_on_create_as_deleted/1,
- fun conflict_on_recreate_as_deleted/1,
- fun conflict_on_extend_deleted/1,
- fun open_doc_revs_basic/1,
- fun open_doc_revs_all/1,
- fun open_doc_revs_latest/1,
- fun get_missing_revs_basic/1,
- fun get_missing_revs_on_missing_doc/1,
- fun open_missing_local_doc/1,
- fun create_local_doc_basic/1,
- fun update_local_doc_basic/1,
- fun delete_local_doc_basic/1,
- fun recreate_local_doc/1,
- fun create_local_doc_bad_rev/1,
- fun create_local_doc_random_rev/1,
- fun create_a_large_local_doc/1,
- fun create_2_large_local_docs/1,
- fun local_doc_with_previous_encoding/1,
- fun before_doc_update_skips_local_docs/1
- ]}
+ with([
+ ?TDEF(open_missing_doc),
+ ?TDEF(create_new_doc),
+ ?TDEF(create_ddoc_basic),
+ ?TDEF(create_ddoc_requires_admin),
+ ?TDEF(create_ddoc_requires_validation),
+ ?TDEF(create_ddoc_requires_compilation),
+ ?TDEF(can_create_a_partitioned_ddoc),
+ ?TDEF(update_doc_basic),
+ ?TDEF(update_ddoc_basic),
+ ?TDEF(update_doc_replicated),
+ ?TDEF(update_doc_replicated_add_conflict),
+ ?TDEF(update_doc_replicated_changes_winner),
+ ?TDEF(update_doc_replicated_extension),
+ ?TDEF(update_doc_replicate_existing_rev),
+ ?TDEF(update_winning_conflict_branch),
+ ?TDEF(update_non_winning_conflict_branch),
+ ?TDEF(delete_doc_basic),
+ ?TDEF(delete_changes_winner),
+ ?TDEF(recreate_doc_basic),
+ ?TDEF(conflict_on_create_new_with_rev),
+ ?TDEF(conflict_on_update_with_no_rev),
+ ?TDEF(conflict_on_create_as_deleted),
+ ?TDEF(conflict_on_recreate_as_deleted),
+ ?TDEF(conflict_on_extend_deleted),
+ ?TDEF(open_doc_revs_basic),
+ ?TDEF(open_doc_revs_all),
+ ?TDEF(open_doc_revs_latest),
+ ?TDEF(get_missing_revs_basic),
+ ?TDEF(get_missing_revs_on_missing_doc),
+ ?TDEF(open_missing_local_doc),
+ ?TDEF(create_local_doc_basic),
+ ?TDEF(update_local_doc_basic),
+ ?TDEF(delete_local_doc_basic),
+ ?TDEF(recreate_local_doc),
+ ?TDEF(create_local_doc_bad_rev),
+ ?TDEF(create_local_doc_random_rev),
+ ?TDEF(create_a_large_local_doc),
+ ?TDEF(create_2_large_local_docs),
+ ?TDEF(local_doc_with_previous_encoding),
+ ?TDEF(before_doc_update_skips_local_docs)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_doc_fold_tests.erl b/src/fabric/test/fabric2_doc_fold_tests.erl
index 3cb68bdac..6262a10fe 100644
--- a/src/fabric/test/fabric2_doc_fold_tests.erl
+++ b/src/fabric/test/fabric2_doc_fold_tests.erl
@@ -16,20 +16,11 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
-define(DOC_COUNT, 50).
-%% eunit implementation of {with, Tests} doesn't detect test name correctly
-with(Tests) ->
- fun(ArgsTuple) ->
- [{Name, ?_test(Fun(ArgsTuple))} || {Name, Fun} <- Tests]
- ++
- [{Name, {timeout, Timeout, ?_test(Fun(ArgsTuple))}} || {Name, Timeout, Fun} <- Tests]
- end.
-
--define(NAMED(A), {atom_to_list(A), fun A/1}).
--define(WITH_TIMEOUT(Timeout, A), {atom_to_list(A), Timeout, fun A/1}).
doc_fold_test_() ->
{
@@ -39,15 +30,15 @@ doc_fold_test_() ->
fun setup/0,
fun cleanup/1,
with([
- ?NAMED(fold_docs_basic),
- ?NAMED(fold_docs_rev),
- ?NAMED(fold_docs_with_start_key),
- ?NAMED(fold_docs_with_end_key),
- ?NAMED(fold_docs_with_both_keys_the_same),
- ?WITH_TIMEOUT(10000, fold_docs_with_different_keys),
- ?NAMED(fold_docs_with_limit),
- ?NAMED(fold_docs_with_skip),
- ?NAMED(fold_docs_with_skip_and_limit)
+ ?TDEF(fold_docs_basic),
+ ?TDEF(fold_docs_rev),
+ ?TDEF(fold_docs_with_start_key),
+ ?TDEF(fold_docs_with_end_key),
+ ?TDEF(fold_docs_with_both_keys_the_same),
+ ?TDEF(fold_docs_with_different_keys, 10000),
+ ?TDEF(fold_docs_with_limit),
+ ?TDEF(fold_docs_with_skip),
+ ?TDEF(fold_docs_with_skip_and_limit)
])
}
}.
diff --git a/src/fabric/test/fabric2_fdb_tx_retry_tests.erl b/src/fabric/test/fabric2_fdb_tx_retry_tests.erl
index c924ce52a..7fb0f21d0 100644
--- a/src/fabric/test/fabric2_fdb_tx_retry_tests.erl
+++ b/src/fabric/test/fabric2_fdb_tx_retry_tests.erl
@@ -14,12 +14,26 @@
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
--define(TDEF(A), {atom_to_list(A), fun A/0}).
+retry_test_() ->
+ {
+ setup,
+ fun setup/0,
+ fun cleanup/1,
+ with([
+ ?TDEF(read_only_no_retry),
+ ?TDEF(read_only_commit_unknown_result),
+ ?TDEF(run_on_first_try),
+ ?TDEF(retry_when_commit_conflict),
+ ?TDEF(retry_when_txid_not_found),
+ ?TDEF(no_retry_when_txid_found)
+ ])
+ }.
-meck_setup() ->
+setup() ->
meck:new(erlfdb),
meck:new(fabric2_txids),
EnvSt = case application:get_env(fabric, db) of
@@ -30,7 +44,7 @@ meck_setup() ->
EnvSt.
-meck_cleanup(EnvSt) ->
+cleanup(EnvSt) ->
case EnvSt of
{ok, Db} -> application:set_env(fabric, db, Db);
undefined -> application:unset_env(fabric, db)
@@ -38,23 +52,7 @@ meck_cleanup(EnvSt) ->
meck:unload().
-retry_test_() ->
- {
- foreach,
- fun meck_setup/0,
- fun meck_cleanup/1,
- [
- ?TDEF(read_only_no_retry),
- ?TDEF(read_only_commit_unknown_result),
- ?TDEF(run_on_first_try),
- ?TDEF(retry_when_commit_conflict),
- ?TDEF(retry_when_txid_not_found),
- ?TDEF(no_retry_when_txid_found)
- ]
- }.
-
-
-read_only_no_retry() ->
+read_only_no_retry(_) ->
meck:expect(erlfdb, transactional, fun(_Db, UserFun) ->
UserFun(not_a_real_transaction)
end),
@@ -72,7 +70,7 @@ read_only_no_retry() ->
?assert(meck:validate([erlfdb, fabric2_txids])).
-read_only_commit_unknown_result() ->
+read_only_commit_unknown_result(_) ->
% Not 100% certain that this would ever actually
% happen in the wild but might as well test that
% we don't blow up if it does.
@@ -93,7 +91,7 @@ read_only_commit_unknown_result() ->
?assert(meck:validate([erlfdb, fabric2_txids])).
-run_on_first_try() ->
+run_on_first_try(_) ->
meck:expect(erlfdb, transactional, fun(_Db, UserFun) ->
UserFun(not_a_real_transaction)
end),
@@ -113,7 +111,7 @@ run_on_first_try() ->
?assert(meck:validate([erlfdb, fabric2_txids])).
-retry_when_commit_conflict() ->
+retry_when_commit_conflict(_) ->
meck:expect(erlfdb, transactional, fun(_Db, UserFun) ->
UserFun(not_a_real_transaction)
end),
@@ -133,7 +131,7 @@ retry_when_commit_conflict() ->
?assert(meck:validate([erlfdb, fabric2_txids])).
-retry_when_txid_not_found() ->
+retry_when_txid_not_found(_) ->
meck:expect(erlfdb, transactional, fun(_Db, UserFun) ->
UserFun(not_a_real_transaction)
end),
@@ -157,7 +155,7 @@ retry_when_txid_not_found() ->
?assert(meck:validate([erlfdb, fabric2_txids])).
-no_retry_when_txid_found() ->
+no_retry_when_txid_found(_) ->
meck:expect(erlfdb, transactional, fun(_Db, UserFun) ->
UserFun(not_a_real_transaction)
end),
diff --git a/src/fabric/test/fabric2_local_doc_fold_tests.erl b/src/fabric/test/fabric2_local_doc_fold_tests.erl
index 82203b433..e3ff0eb21 100644
--- a/src/fabric/test/fabric2_local_doc_fold_tests.erl
+++ b/src/fabric/test/fabric2_local_doc_fold_tests.erl
@@ -16,20 +16,11 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
-define(DOC_COUNT, 50).
-%% eunit implementation of {with, Tests} doesn't detect test name correctly
-with(Tests) ->
- fun(ArgsTuple) ->
- [{Name, ?_test(Fun(ArgsTuple))} || {Name, Fun} <- Tests]
- ++
- [{Name, {timeout, Timeout, ?_test(Fun(ArgsTuple))}} || {Name, Timeout, Fun} <- Tests]
- end.
-
--define(NAMED(A), {atom_to_list(A), fun A/1}).
--define(WITH_TIMEOUT(Timeout, A), {atom_to_list(A), Timeout, fun A/1}).
doc_fold_test_() ->
{
@@ -39,15 +30,15 @@ doc_fold_test_() ->
fun setup/0,
fun cleanup/1,
with([
- ?NAMED(fold_local_docs_basic),
- ?NAMED(fold_local_docs_rev),
- ?NAMED(fold_local_docs_with_start_key),
- ?NAMED(fold_local_docs_with_end_key),
- ?NAMED(fold_local_docs_with_both_keys_the_same),
- ?WITH_TIMEOUT(15000, fold_local_docs_with_different_keys),
- ?NAMED(fold_local_docs_with_limit),
- ?NAMED(fold_local_docs_with_skip),
- ?NAMED(fold_local_docs_with_skip_and_limit)
+ ?TDEF(fold_local_docs_basic),
+ ?TDEF(fold_local_docs_rev),
+ ?TDEF(fold_local_docs_with_start_key),
+ ?TDEF(fold_local_docs_with_end_key),
+ ?TDEF(fold_local_docs_with_both_keys_the_same),
+ ?TDEF(fold_local_docs_with_different_keys, 15000),
+ ?TDEF(fold_local_docs_with_limit),
+ ?TDEF(fold_local_docs_with_skip),
+ ?TDEF(fold_local_docs_with_skip_and_limit)
])
}
}.
diff --git a/src/fabric/test/fabric2_node_types_tests.erl b/src/fabric/test/fabric2_node_types_tests.erl
index ad400f98f..074afe86b 100644
--- a/src/fabric/test/fabric2_node_types_tests.erl
+++ b/src/fabric/test/fabric2_node_types_tests.erl
@@ -14,15 +14,13 @@
-include_lib("eunit/include/eunit.hrl").
-
-
--define(TDEF(A), {atom_to_list(A), fun A/0}).
+-include("fabric2_test.hrl").
node_types_test_() ->
{
"Test node types",
- foreach,
+ setup,
fun() ->
os:putenv("COUCHDB_NODE_TYPE_FOO", "false"),
os:putenv("COUCHDB_NODE_TYPE_BAZ", "true"),
@@ -30,26 +28,23 @@ node_types_test_() ->
% erlfdb, rexi and mem3 are all dependent apps for fabric. We make
% sure to start them so when fabric is started during the test it
% already has its dependencies
- test_util:start_couch([erlfdb, rexi, mem3, ctrace])
+ test_util:start_couch([erlfdb, rexi, mem3, ctrace, fabric])
end,
fun(Ctx) ->
- ok = application:stop(fabric),
test_util:stop_couch(Ctx),
application:unset_env(fabric, node_types),
os:unsetenv("COUCHDB_NODE_TYPE_FOO"),
os:unsetenv("COUCHDB_NODE_TYPE_BAZ"),
os:unsetenv("COUCHDB_NODE_TYPE_ZIG")
end,
- [
+ with([
?TDEF(basics),
?TDEF(os_env_priority)
- ]
+ ])
}.
-basics() ->
- ok = application:start(fabric),
-
+basics(_) ->
% default is true for new types
?assert(fabric2_node_types:is_type(some_new_node_type)),
@@ -64,9 +59,7 @@ basics() ->
?assert(not fabric2_node_types:is_type(bam)).
-os_env_priority() ->
- ok = application:start(fabric),
-
+os_env_priority(_) ->
% os env takes precedence
application:set_env(fabric, node_types, [{foo, true}, {baz, false}]),
?assert(not fabric2_node_types:is_type(foo)),
diff --git a/src/fabric/test/fabric2_rev_stemming.erl b/src/fabric/test/fabric2_rev_stemming.erl
index 99e086e2a..62ce6901a 100644
--- a/src/fabric/test/fabric2_rev_stemming.erl
+++ b/src/fabric/test/fabric2_rev_stemming.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
doc_crud_test_() ->
@@ -25,16 +26,16 @@ doc_crud_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun update_doc/1,
- fun update_doc_replicated_no_stemming/1,
- fun update_doc_replicated_with_stemming/1,
- fun update_doc_replicate_existing_rev/1,
- fun update_winning_conflict_branch/1,
- fun update_non_winning_conflict_branch/1,
- fun delete_doc_basic/1,
- fun recreate_doc_basic/1
- ]}
+ with([
+ ?TDEF(update_doc),
+ ?TDEF(update_doc_replicated_no_stemming),
+ ?TDEF(update_doc_replicated_with_stemming),
+ ?TDEF(update_doc_replicate_existing_rev),
+ ?TDEF(update_winning_conflict_branch),
+ ?TDEF(update_non_winning_conflict_branch),
+ ?TDEF(delete_doc_basic),
+ ?TDEF(recreate_doc_basic)
+ ])
}
}.
@@ -192,7 +193,7 @@ recreate_doc_basic({Db, _}) ->
deleted = true,
body = {[{<<"state">>, 2}]}
},
- {ok, {2, Rev2}} = fabric2_db:update_doc(Db, Doc2),
+ {ok, {2, _Rev2}} = fabric2_db:update_doc(Db, Doc2),
Doc3 = Doc1#doc{
revs = {0, []},
deleted = false,
diff --git a/src/fabric/test/fabric2_test.hrl b/src/fabric/test/fabric2_test.hrl
new file mode 100644
index 000000000..a0532b360
--- /dev/null
+++ b/src/fabric/test/fabric2_test.hrl
@@ -0,0 +1,25 @@
+% Licensed under the Apache License, Version 2.0 (the "License"); you may not
+% use this file except in compliance with the License. You may obtain a copy of
+% the License at
+%
+% http://www.apache.org/licenses/LICENSE-2.0
+%
+% Unless required by applicable law or agreed to in writing, software
+% distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
+% WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
+% License for the specific language governing permissions and limitations under
+% the License.
+
+-define(TDEF(Name), {atom_to_list(Name), fun Name/1}).
+-define(TDEF(Name, Timeout), {atom_to_list(Name), Timeout, fun Name/1}).
+
+
+with(Tests) ->
+ fun(ArgsTuple) ->
+ lists:map(fun
+ ({Name, Fun}) ->
+ {Name, ?_test(Fun(ArgsTuple))};
+ ({Name, Timeout, Fun}) ->
+ {Name, {timeout, Timeout, ?_test(Fun(ArgsTuple))}}
+ end, Tests)
+ end.
diff --git a/src/fabric/test/fabric2_trace_db_create_tests.erl b/src/fabric/test/fabric2_trace_db_create_tests.erl
index 09cc86375..926219f6a 100644
--- a/src/fabric/test/fabric2_trace_db_create_tests.erl
+++ b/src/fabric/test/fabric2_trace_db_create_tests.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
trace_test_() ->
@@ -25,9 +26,9 @@ trace_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- [
- fun create_db/0
- ]
+ with([
+ ?TDEF(create_db)
+ ])
}
}.
@@ -41,6 +42,6 @@ cleanup(Ctx) ->
test_util:stop_couch(Ctx).
-create_db() ->
+create_db(_) ->
put(erlfdb_trace, <<"create db">>),
{ok, _Db} = fabric2_db:create(?tempdb(), [{user_ctx, ?ADMIN_USER}]).
diff --git a/src/fabric/test/fabric2_trace_db_delete_tests.erl b/src/fabric/test/fabric2_trace_db_delete_tests.erl
index ddbb2c858..ac92c5335 100644
--- a/src/fabric/test/fabric2_trace_db_delete_tests.erl
+++ b/src/fabric/test/fabric2_trace_db_delete_tests.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
trace_test_() ->
@@ -25,9 +26,9 @@ trace_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun delete_db/1
- ]}
+ with([
+ ?TDEF(delete_db)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_trace_db_open_tests.erl b/src/fabric/test/fabric2_trace_db_open_tests.erl
index 71e33019e..3602b50e1 100644
--- a/src/fabric/test/fabric2_trace_db_open_tests.erl
+++ b/src/fabric/test/fabric2_trace_db_open_tests.erl
@@ -16,6 +16,7 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
trace_test_() ->
@@ -25,9 +26,9 @@ trace_test_() ->
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun open_db/1
- ]}
+ with([
+ ?TDEF(open_db)
+ ])
}
}.
diff --git a/src/fabric/test/fabric2_trace_doc_create_tests.erl b/src/fabric/test/fabric2_trace_doc_create_tests.erl
index 1e0b47cec..888039d05 100644
--- a/src/fabric/test/fabric2_trace_doc_create_tests.erl
+++ b/src/fabric/test/fabric2_trace_doc_create_tests.erl
@@ -16,20 +16,21 @@
-include_lib("couch/include/couch_db.hrl").
-include_lib("couch/include/couch_eunit.hrl").
-include_lib("eunit/include/eunit.hrl").
+-include("fabric2_test.hrl").
-doc_crud_test_() ->
+trace_doc_create_test_() ->
{
"Test document CRUD operations",
{
setup,
fun setup/0,
fun cleanup/1,
- {with, [
- fun create_new_doc/1,
- fun create_two_docs/1,
- fun create_50_docs/1
- ]}
+ with([
+ ?TDEF(create_new_doc),
+ ?TDEF(create_two_docs),
+ ?TDEF(create_50_docs)
+ ])
}
}.