diff options
author | Paul J. Davis <paul.joseph.davis@gmail.com> | 2019-12-04 13:13:26 -0600 |
---|---|---|
committer | Paul J. Davis <paul.joseph.davis@gmail.com> | 2019-12-05 08:49:20 -0600 |
commit | 788538d6edd26aad99f6004ca0f9b1d935e8ceaa (patch) | |
tree | 26a113629a548eecd7cb9c315149b788e4cd647a | |
parent | 2247c80397205cdaee46d4ae059690673d8696b9 (diff) | |
download | couchdb-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.erl | 17 | ||||
-rw-r--r-- | src/fabric/test/fabric2_db_crud_tests.erl | 16 | ||||
-rw-r--r-- | src/fabric/test/fabric2_db_misc_tests.erl | 24 | ||||
-rw-r--r-- | src/fabric/test/fabric2_db_security_tests.erl | 33 | ||||
-rw-r--r-- | src/fabric/test/fabric2_dir_prefix_tests.erl | 24 | ||||
-rw-r--r-- | src/fabric/test/fabric2_doc_count_tests.erl | 13 | ||||
-rw-r--r-- | src/fabric/test/fabric2_doc_crud_tests.erl | 85 | ||||
-rw-r--r-- | src/fabric/test/fabric2_doc_fold_tests.erl | 29 | ||||
-rw-r--r-- | src/fabric/test/fabric2_fdb_tx_retry_tests.erl | 48 | ||||
-rw-r--r-- | src/fabric/test/fabric2_local_doc_fold_tests.erl | 29 | ||||
-rw-r--r-- | src/fabric/test/fabric2_node_types_tests.erl | 21 | ||||
-rw-r--r-- | src/fabric/test/fabric2_rev_stemming.erl | 23 | ||||
-rw-r--r-- | src/fabric/test/fabric2_test.hrl | 25 | ||||
-rw-r--r-- | src/fabric/test/fabric2_trace_db_create_tests.erl | 9 | ||||
-rw-r--r-- | src/fabric/test/fabric2_trace_db_delete_tests.erl | 7 | ||||
-rw-r--r-- | src/fabric/test/fabric2_trace_db_open_tests.erl | 7 | ||||
-rw-r--r-- | src/fabric/test/fabric2_trace_doc_create_tests.erl | 13 |
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) + ]) } }. |