diff options
author | Jay Doane <jay.s.doane@gmail.com> | 2018-12-27 12:49:47 -0800 |
---|---|---|
committer | Jay Doane <jay.s.doane@gmail.com> | 2018-12-27 13:07:57 -0800 |
commit | 4e75964898bd49218087de1e02391300da024e6c (patch) | |
tree | dd66a5a8299546aef5b0b046a23ce6b1284837ee | |
parent | 899b49c572847d9b05d457c1919b883d4a0c0305 (diff) | |
download | couchdb-4e75964898bd49218087de1e02391300da024e6c.tar.gz |
Suppress export-related compiler warnings
- For export_all warnings: either replace with explicit exports, add
nowarn_export_all compiler directives when appropriate, or in the case
of couch_epi_sup, move the test to dedicated test file and export the
function needed for testing.
- For "function already exported" warning in couch_key_tree_prop_tests,
remove include_lib attribute for eunit.hrl since it already gets
imported in triq.hrl
22 files changed, 188 insertions, 108 deletions
diff --git a/src/couch/src/couch.erl b/src/couch/src/couch.erl index fd5c9e101..60a8b6626 100644 --- a/src/couch/src/couch.erl +++ b/src/couch/src/couch.erl @@ -12,7 +12,11 @@ -module(couch). --compile(export_all). +-export([ + start/0, + stop/0, + restart/0 +]). deps() -> diff --git a/src/couch/test/couch_key_tree_prop_tests.erl b/src/couch/test/couch_key_tree_prop_tests.erl index 604a8285a..f8146926a 100644 --- a/src/couch/test/couch_key_tree_prop_tests.erl +++ b/src/couch/test/couch_key_tree_prop_tests.erl @@ -14,7 +14,6 @@ -include_lib("triq/include/triq.hrl"). -triq(eunit). --include_lib("eunit/include/eunit.hrl"). -define(SIZE_REDUCTION, 3). % How much to reduce size with tree depth. -define(MAX_BRANCHES, 4). % Maximum number of branches. diff --git a/src/couch_epi/src/couch_epi_sup.erl b/src/couch_epi/src/couch_epi_sup.erl index 509f5a1c2..218db5445 100644 --- a/src/couch_epi/src/couch_epi_sup.erl +++ b/src/couch_epi/src/couch_epi_sup.erl @@ -37,6 +37,11 @@ %% Supervisor callbacks -export([init/1]). +%% For testing +-export([ + plugin_childspecs/3 +]). + %% Helper macro for declaring children of supervisor -define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}). @@ -132,105 +137,3 @@ merge([], Children) -> Children; merge([{Id, _, _, _, _, _} = Spec | Rest], Children) -> merge(Rest, lists:keystore(Id, 1, Children, Spec)). - - -%% ------------------------------------------------------------------ -%% Tests -%% ------------------------------------------------------------------ - --ifdef(TEST). --include_lib("eunit/include/eunit.hrl"). - -%% ---- -%% BEGIN couch_epi_plugin behaviour callbacks - --compile([export_all]). - -app() -> test_app. -providers() -> - [ - {my_service, provider1}, - {my_service, provider2} - ]. - -services() -> - [ - {my_service, ?MODULE} - ]. - -data_providers() -> - [ - {{test_app, descriptions}, {static_module, ?MODULE}, [{interval, 100}]} - ]. - -data_subscriptions() -> - [ - {test_app, descriptions} - ]. - -processes() -> - [ - {?MODULE, [?CHILD(extra_process, worker)]}, - {?MODULE, [{to_replace, {new, start_link, [bar]}, - permanent, 5000, worker, [bar]}]} - ]. - -notify(_Key, _OldData, _NewData) -> - ok. - -%% END couch_epi_plugin behaviour callbacks -%% ---- - -parse_child_id(Id) when is_atom(Id) -> - Id; -parse_child_id(Id) -> - ["couch_epi_codechange_monitor", ServiceName, KindStr] = string:tokens(Id, "|"), - Kind = list_to_atom(KindStr), - case string:tokens(ServiceName, ":") of - [ServiceId, Key] -> - {{list_to_atom(ServiceId), list_to_atom(Key)}, Kind}; - [Key] -> - {list_to_atom(Key), Kind} - end. - -basic_test() -> - Expected = lists:sort([ - {extra_process, [], [extra_process]}, - {to_replace, [bar], [bar]}, - {{my_service, providers}, - [couch_epi_functions_gen_my_service], - [couch_epi_codechange_monitor, couch_epi_functions_gen_my_service, - provider1, provider2]}, - {{my_service, services}, - [couch_epi_functions_gen_my_service], - [couch_epi_codechange_monitor, couch_epi_functions_gen_my_service, - couch_epi_sup]}, - {{{test_app, descriptions}, data_subscriptions}, - [couch_epi_data_gen_test_app_descriptions], - [couch_epi_codechange_monitor, - couch_epi_data_gen_test_app_descriptions, couch_epi_sup]}, - {{{test_app, descriptions}, data_providers}, - [couch_epi_data_gen_test_app_descriptions], - [couch_epi_codechange_monitor, couch_epi_data_gen_test_app_descriptions, - couch_epi_sup]} - ]), - - ToReplace = {to_replace, {old, start_link, [foo]}, permanent, 5000, worker, [foo]}, - Children = lists:sort(plugin_childspecs(?MODULE, [?MODULE], [ToReplace])), - Results = [ - {parse_child_id(Id), Args, lists:sort(Modules)} - || {Id, {_M, _F, Args}, _, _, _, Modules} <- Children - ], - - Tests = lists:zip(Expected, Results), - [?assertEqual(Expect, Result) || {Expect, Result} <- Tests], - - ExpectedChild = {to_replace, {new, start_link, [bar]}, - permanent, 5000, worker, [bar]}, - ?assertEqual( - ExpectedChild, - lists:keyfind(to_replace, 1, Children)), - - ok. - --endif. diff --git a/src/couch_epi/test/couch_epi_basic_test.erl b/src/couch_epi/test/couch_epi_basic_test.erl new file mode 100644 index 000000000..587d1564e --- /dev/null +++ b/src/couch_epi/test/couch_epi_basic_test.erl @@ -0,0 +1,137 @@ +% 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. + +-module(couch_epi_basic_test). + +-export([ + start_link/0 +]). + +-export([ + app/0, + providers/0, + services/0, + data_providers/0, + data_subscriptions/0, + processes/0, + notify/3 +]). + +-define(CHILD(I, Type), {I, {I, start_link, []}, permanent, 5000, Type, [I]}). + + +start_link() -> ok. + + +%% BEGIN couch_epi_plugin behaviour callbacks + + +app() -> test_app. + + +providers() -> + [ + {my_service, provider1}, + {my_service, provider2} + ]. + + +services() -> + [ + {my_service, ?MODULE} + ]. + + +data_providers() -> + [ + {{test_app, descriptions}, {static_module, ?MODULE}, [{interval, 100}]} + ]. + + +data_subscriptions() -> + [ + {test_app, descriptions} + ]. + + +processes() -> + [ + {?MODULE, [?CHILD(extra_process, worker)]}, + {?MODULE, [{to_replace, {new, start_link, [bar]}, + permanent, 5000, worker, [bar]}]} + ]. + + +notify(_Key, _OldData, _NewData) -> + ok. + + +%% END couch_epi_plugin behaviour callbacks + + +parse_child_id(Id) when is_atom(Id) -> + Id; +parse_child_id(Id) -> + ["couch_epi_codechange_monitor", ServiceName, KindStr] + = string:tokens(Id, "|"), + Kind = list_to_atom(KindStr), + case string:tokens(ServiceName, ":") of + [ServiceId, Key] -> + {{list_to_atom(ServiceId), list_to_atom(Key)}, Kind}; + [Key] -> + {list_to_atom(Key), Kind} + end. + + +-include_lib("eunit/include/eunit.hrl"). + +basic_test() -> + Expected = lists:sort([ + {extra_process, [], [extra_process]}, + {to_replace, [bar], [bar]}, + {{my_service, providers}, + [couch_epi_functions_gen_my_service], + [couch_epi_codechange_monitor, couch_epi_functions_gen_my_service, + provider1, provider2]}, + {{my_service, services}, + [couch_epi_functions_gen_my_service], + lists:sort([couch_epi_codechange_monitor, + couch_epi_functions_gen_my_service, ?MODULE])}, + {{{test_app, descriptions}, data_subscriptions}, + [couch_epi_data_gen_test_app_descriptions], + lists:sort([couch_epi_codechange_monitor, + couch_epi_data_gen_test_app_descriptions, ?MODULE])}, + {{{test_app, descriptions}, data_providers}, + [couch_epi_data_gen_test_app_descriptions], + lists:sort([couch_epi_codechange_monitor, + couch_epi_data_gen_test_app_descriptions, ?MODULE])} + ]), + + ToReplace = {to_replace, + {old, start_link, [foo]}, permanent, 5000, worker, [foo]}, + Children = lists:sort(couch_epi_sup:plugin_childspecs( + ?MODULE, [?MODULE], [ToReplace])), + Results = [ + {parse_child_id(Id), Args, lists:sort(Modules)} + || {Id, {_M, _F, Args}, _, _, _, Modules} <- Children + ], + + Tests = lists:zip(Expected, Results), + [?assertEqual(Expect, Result) || {Expect, Result} <- Tests], + + ExpectedChild = {to_replace, {new, start_link, [bar]}, + permanent, 5000, worker, [bar]}, + ?assertEqual( + ExpectedChild, + lists:keyfind(to_replace, 1, Children)), + + ok. diff --git a/src/couch_log/src/couch_log_writer_file.erl b/src/couch_log/src/couch_log_writer_file.erl index fb01363fd..1fe35a8ab 100644 --- a/src/couch_log/src/couch_log_writer_file.erl +++ b/src/couch_log/src/couch_log_writer_file.erl @@ -37,7 +37,9 @@ -ifdef(TEST). --compile(export_all). +-export([ + maybe_reopen/1 +]). -endif. diff --git a/src/couch_log/src/couch_log_writer_syslog.erl b/src/couch_log/src/couch_log_writer_syslog.erl index d918bb783..e3a6fc4b6 100644 --- a/src/couch_log/src/couch_log_writer_syslog.erl +++ b/src/couch_log/src/couch_log_writer_syslog.erl @@ -39,7 +39,10 @@ -ifdef(TEST). --compile(export_all). +-export([ + get_facility/1, + get_level/1 +]). -endif. diff --git a/src/couch_log/test/couch_log_test_util.erl b/src/couch_log/test/couch_log_test_util.erl index c7fd34f2d..00f3981fc 100644 --- a/src/couch_log/test/couch_log_test_util.erl +++ b/src/couch_log/test/couch_log_test_util.erl @@ -11,8 +11,17 @@ % the License. -module(couch_log_test_util). --compile(export_all). +-export([ + start/0, + stop/1, + last_log/0, + last_log_key/0, + wait_for_config/0, + with_config_listener/1, + with_level/2, + with_meck/2 +]). -include("couch_log.hrl"). diff --git a/src/couch_mrview/src/couch_mrview_test_util.erl b/src/couch_mrview/src/couch_mrview_test_util.erl index ac298263d..a6242cde7 100644 --- a/src/couch_mrview/src/couch_mrview_test_util.erl +++ b/src/couch_mrview/src/couch_mrview_test_util.erl @@ -13,6 +13,7 @@ -module(couch_mrview_test_util). -compile(export_all). +-compile(nowarn_export_all). -include_lib("couch/include/couch_db.hrl"). -include_lib("couch/include/couch_eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_attachments.erl b/src/couch_pse_tests/src/cpse_test_attachments.erl index 61ada38c4..8c454ecb6 100644 --- a/src/couch_pse_tests/src/cpse_test_attachments.erl +++ b/src/couch_pse_tests/src/cpse_test_attachments.erl @@ -12,6 +12,7 @@ -module(cpse_test_attachments). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_compaction.erl b/src/couch_pse_tests/src/cpse_test_compaction.erl index d00611101..c8a2c1a7d 100644 --- a/src/couch_pse_tests/src/cpse_test_compaction.erl +++ b/src/couch_pse_tests/src/cpse_test_compaction.erl @@ -12,6 +12,7 @@ -module(cpse_test_compaction). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_fold_changes.erl b/src/couch_pse_tests/src/cpse_test_fold_changes.erl index 00a402cb9..436396276 100644 --- a/src/couch_pse_tests/src/cpse_test_fold_changes.erl +++ b/src/couch_pse_tests/src/cpse_test_fold_changes.erl @@ -12,6 +12,7 @@ -module(cpse_test_fold_changes). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_fold_docs.erl b/src/couch_pse_tests/src/cpse_test_fold_docs.erl index 09fbd26d0..d43930c4a 100644 --- a/src/couch_pse_tests/src/cpse_test_fold_docs.erl +++ b/src/couch_pse_tests/src/cpse_test_fold_docs.erl @@ -12,6 +12,7 @@ -module(cpse_test_fold_docs). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_fold_purge_infos.erl b/src/couch_pse_tests/src/cpse_test_fold_purge_infos.erl index 42bc536d2..4826c5d9c 100644 --- a/src/couch_pse_tests/src/cpse_test_fold_purge_infos.erl +++ b/src/couch_pse_tests/src/cpse_test_fold_purge_infos.erl @@ -12,6 +12,7 @@ -module(cpse_test_fold_purge_infos). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_get_set_props.erl b/src/couch_pse_tests/src/cpse_test_get_set_props.erl index 1f8684475..02f0eb531 100644 --- a/src/couch_pse_tests/src/cpse_test_get_set_props.erl +++ b/src/couch_pse_tests/src/cpse_test_get_set_props.erl @@ -12,6 +12,7 @@ -module(cpse_test_get_set_props). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_open_close_delete.erl b/src/couch_pse_tests/src/cpse_test_open_close_delete.erl index c19d0ee4c..d9b589fd6 100644 --- a/src/couch_pse_tests/src/cpse_test_open_close_delete.erl +++ b/src/couch_pse_tests/src/cpse_test_open_close_delete.erl @@ -12,6 +12,7 @@ -module(cpse_test_open_close_delete). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_purge_docs.erl b/src/couch_pse_tests/src/cpse_test_purge_docs.erl index 34bd34df6..1788eecd1 100644 --- a/src/couch_pse_tests/src/cpse_test_purge_docs.erl +++ b/src/couch_pse_tests/src/cpse_test_purge_docs.erl @@ -12,6 +12,7 @@ -module(cpse_test_purge_docs). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_purge_seqs.erl b/src/couch_pse_tests/src/cpse_test_purge_seqs.erl index a943fc487..057d6da33 100644 --- a/src/couch_pse_tests/src/cpse_test_purge_seqs.erl +++ b/src/couch_pse_tests/src/cpse_test_purge_seqs.erl @@ -12,6 +12,7 @@ -module(cpse_test_purge_seqs). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_read_write_docs.erl b/src/couch_pse_tests/src/cpse_test_read_write_docs.erl index 84bf9f323..fd830d812 100644 --- a/src/couch_pse_tests/src/cpse_test_read_write_docs.erl +++ b/src/couch_pse_tests/src/cpse_test_read_write_docs.erl @@ -12,6 +12,7 @@ -module(cpse_test_read_write_docs). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_test_ref_counting.erl b/src/couch_pse_tests/src/cpse_test_ref_counting.erl index 2a0e4c202..cb115a785 100644 --- a/src/couch_pse_tests/src/cpse_test_ref_counting.erl +++ b/src/couch_pse_tests/src/cpse_test_ref_counting.erl @@ -12,6 +12,7 @@ -module(cpse_test_ref_counting). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/couch_pse_tests/src/cpse_util.erl b/src/couch_pse_tests/src/cpse_util.erl index d3e125924..7556d234b 100644 --- a/src/couch_pse_tests/src/cpse_util.erl +++ b/src/couch_pse_tests/src/cpse_util.erl @@ -12,6 +12,7 @@ -module(cpse_util). -compile(export_all). +-compile(nowarn_export_all). -include_lib("eunit/include/eunit.hrl"). diff --git a/src/ddoc_cache/test/ddoc_cache_tutil.erl b/src/ddoc_cache/test/ddoc_cache_tutil.erl index ec5d2db1e..b34d4b163 100644 --- a/src/ddoc_cache/test/ddoc_cache_tutil.erl +++ b/src/ddoc_cache/test/ddoc_cache_tutil.erl @@ -13,7 +13,16 @@ -module(ddoc_cache_tutil). --compile(export_all). +-export([ + start_couch/0, + start_couch/1, + stop_couch/1, + clear/0, + get_rev/2, + ddocs/0, + purge_modules/0, + with/1 +]). -include_lib("couch/include/couch_db.hrl"). diff --git a/src/fabric/src/fabric_dict.erl b/src/fabric/src/fabric_dict.erl index ec2e25cfc..a336b47b0 100644 --- a/src/fabric/src/fabric_dict.erl +++ b/src/fabric/src/fabric_dict.erl @@ -12,6 +12,7 @@ -module(fabric_dict). -compile(export_all). +-compile(nowarn_export_all). % Instead of ets, let's use an ordered keylist. We'll need to revisit if we % have >> 100 shards, so a private interface is a good idea. - APK June 2010 |