Github user kxepal commented on the pull request:

    https://github.com/apache/couchdb-chttpd/pull/10#issuecomment-65078078
  
    All cool, but seems your logging is still there. Try this trick:
    
    ```
    diff --git a/test/chttpd_handler_callback_test.erl 
b/test/chttpd_handler_callback_test.erl
    index d1f340d..2050106 100644
    --- a/test/chttpd_handler_callback_test.erl
    +++ b/test/chttpd_handler_callback_test.erl
    @@ -31,179 +31,179 @@
     
     -include_lib("eunit/include/eunit.hrl").
     
    +
     all_test_() ->
    -    io:format(user, "~nEndpoint handler callbacks:~n", []),
    -    {setup,
    +    {foreach,
         fun() -> chttpd_handler:build(test_cfg()) end,
     
         % url handlers
    -    [fun test_empty_string/0,
    -    fun test_favicon/0,
    -    fun test_utils/0,
    -    fun test_all_dbs/0,
    -    fun test_active_tasks/0,
    -    fun test_config/0,
    -    fun test_reload_query_servers/0,
    -    fun test_replicate/0,
    -    fun test_uuids/0,
    -    fun test_sleep/0,
    -    fun test_session/0,
    -    fun test_oauth/0,
    -    fun test_up/0,
    -    fun test_membership/0,
    -    fun test_db_updates/0,
    -    fun test_anything/0,
    +    [fun test_empty_string/1,
    +    fun test_favicon/1,
    +    fun test_utils/1,
    +    fun test_all_dbs/1,
    +    fun test_active_tasks/1,
    +    fun test_config/1,
    +    fun test_reload_query_servers/1,
    +    fun test_replicate/1,
    +    fun test_uuids/1,
    +    fun test_sleep/1,
    +    fun test_session/1,
    +    fun test_oauth/1,
    +    fun test_up/1,
    +    fun test_membership/1,
    +    fun test_db_updates/1,
    +    fun test_anything/1,
     
         % Test the tests: if the final target function is missing, the call 
must
         % fail, with any parameter. All parameters are valid.
    -    fun  verify_unmocked_failing_empty_string/0,
    -    fun verify_unmocked_failing_favicon/0,
    -    fun verify_unmocked_failing_anything/0,
    - 
    +    fun  verify_unmocked_failing_empty_string/1,
    +    fun verify_unmocked_failing_favicon/1,
    +    fun verify_unmocked_failing_anything/1,
    +
         % db url handler tests,
    -    fun test_view_cleanup/0,
    -    fun test_compact/0,
    -    fun test_design/0,
    -    fun test_temp_view/0,
    -    fun test_changes/0,
    -    fun test_shards/0,
    -    
    +    fun test_view_cleanup/1,
    +    fun test_compact/1,
    +    fun test_design/1,
    +    fun test_temp_view/1,
    +    fun test_changes/1,
    +    fun test_shards/1,
    +
         % Test the test: when the final target function is missing, the Fun 
call
         % must fail, with any argument, including valid ones.
    -    fun  verify_unmocked_failing_view_cleanup/0,
    -    fun verify_unmocked_db_failing_something/0,
    +    fun  verify_unmocked_failing_view_cleanup/1,
    +    fun verify_unmocked_db_failing_something/1,
     
         % design url handler tests
    -    fun test_view/0,
    -    fun test_show/0,
    -    fun test_list/0,
    -    fun test_update/0,
    -    fun test_info/0,
    -    fun test_rewrite/0,
    +    fun test_view/1,
    +    fun test_show/1,
    +    fun test_list/1,
    +    fun test_update/1,
    +    fun test_info/1,
    +    fun test_rewrite/1,
     
         % Test the test: when the final target function is missing, the Fun 
call
         % must fail with any argument, including valid ones.
    -    fun verify_unmocked_failing_view/0,
    -    fun verify_unmocked_design_failing_something/0]}.
    +    fun verify_unmocked_failing_view/1,
    +    fun verify_unmocked_design_failing_something/1]}.
     
    -test_empty_string() ->
    -    assertReturns("", chttpd_misc, handle_welcome_req).
    +test_empty_string(_Cfg) ->
    +    ?_test(assertReturns("", chttpd_misc, handle_welcome_req)).
     
    -test_favicon() ->
    -    assertReturns("favicon.ico", chttpd_misc, handle_favicon_req).
    +test_favicon(_Cfg) ->
    +    ?_test(assertReturns("favicon.ico", chttpd_misc, handle_favicon_req)).
     
    -test_utils() ->
    -    assertReturns("_utils", chttpd_misc, handle_utils_dir_req).
    +test_utils(_Cfg) ->
    +    ?_test(assertReturns("_utils", chttpd_misc, handle_utils_dir_req)).
     
    -test_all_dbs() ->
    -    assertReturns("_all_dbs", chttpd_misc, handle_all_dbs_req).
    +test_all_dbs(_Cfg) ->
    +    ?_test(assertReturns("_all_dbs", chttpd_misc, handle_all_dbs_req)).
     
    -test_active_tasks() ->
    -    assertReturns("_active_tasks", chttpd_misc, handle_task_status_req).
    +test_active_tasks(_Cfg) ->
    +    ?_test(assertReturns("_active_tasks", chttpd_misc, 
handle_task_status_req)).
     
    -test_config() ->
    -    assertReturns("_config", chttpd_misc, handle_config_req).
    +test_config(_Cfg) ->
    +    ?_test(assertReturns("_config", chttpd_misc, handle_config_req)).
     
    -test_reload_query_servers() ->
    -    assertReturns("_reload_query_servers", chttpd_misc,
    -        handle_reload_query_servers_req).
    +test_reload_query_servers(_Cfg) ->
    +    ?_test(assertReturns("_reload_query_servers", chttpd_misc,
    +        handle_reload_query_servers_req)).
     
    -test_replicate() ->
    -    assertReturns("_replicate", chttpd_misc, handle_replicate_req).
    +test_replicate(_Cfg) ->
    +    ?_test(assertReturns("_replicate", chttpd_misc, handle_replicate_req)).
     
    -test_uuids() ->
    -    assertReturns("_uuids", chttpd_misc, handle_uuids_req).
    +test_uuids(_Cfg) ->
    +    ?_test(assertReturns("_uuids", chttpd_misc, handle_uuids_req)).
     
    -test_sleep() ->
    -    assertReturns("_sleep", chttpd_misc, handle_sleep_req).
    +test_sleep(_Cfg) ->
    +    ?_test(assertReturns("_sleep", chttpd_misc, handle_sleep_req)).
     
    -test_session() ->
    -    assertReturns("_session", chttpd_auth, handle_session_req).
    +test_session(_Cfg) ->
    +    ?_test(assertReturns("_session", chttpd_auth, handle_session_req)).
     
    -test_oauth() ->
    -    assertReturns("_oauth", couch_httpd_oauth, handle_oauth_req).
    +test_oauth(_Cfg) ->
    +    ?_test(assertReturns("_oauth", couch_httpd_oauth, handle_oauth_req)).
     
    -test_up() ->
    -    assertReturns("_up", chttpd_misc, handle_up_req).
    +test_up(_Cfg) ->
    +    ?_test(assertReturns("_up", chttpd_misc, handle_up_req)).
     
    -test_membership() ->
    -    assertReturns("_membership", mem3_httpd, handle_membership_req).
    +test_membership(_Cfg) ->
    +    ?_test(assertReturns("_membership", mem3_httpd, 
handle_membership_req)).
     
    -test_db_updates() ->
    -    assertReturns("_db_updates", global_changes_httpd,
    -        handle_global_changes_req).
    +test_db_updates(_Cfg) ->
    +    ?_test(assertReturns("_db_updates", global_changes_httpd,
    +        handle_global_changes_req)).
     
    -test_anything() ->
    -    assertReturns("anything", chttpd_db, handle_request).
    +test_anything(_Cfg) ->
    +    ?_test(assertReturns("anything", chttpd_db, handle_request)).
     
    -verify_unmocked_failing_empty_string() ->
    -    assertUnmockedFails("", chttpd_misc).
    +verify_unmocked_failing_empty_string(_Cfg) ->
    +    ?_test(assertUnmockedFails("", chttpd_misc)).
     
    -verify_unmocked_failing_favicon() ->
    -    assertUnmockedFails("favicon.ico", chttpd_misc).
    +verify_unmocked_failing_favicon(_Cfg) ->
    +    ?_test(assertUnmockedFails("favicon.ico", chttpd_misc)).
     
    -verify_unmocked_failing_anything() ->
    -    assertUnmockedFails(anything, chttpd_db).
    +verify_unmocked_failing_anything(_Cfg) ->
    +    ?_test(assertUnmockedFails(anything, chttpd_db)).
     
    -test_view_cleanup() ->
    -    assertReturns(db_url_handlers, <<"_view_cleanup">>, chttpd_db,
    -        handle_view_cleanup_req, 2).
    +test_view_cleanup(_Cfg) ->
    +    ?_test(assertReturns(db_url_handlers, <<"_view_cleanup">>, chttpd_db,
    +        handle_view_cleanup_req, 2)).
     
    -test_compact() ->
    -    assertReturns(db_url_handlers, <<"_compact">>, chttpd_db,
    -        handle_compact_req, 2).
    +test_compact(_Cfg) ->
    +    ?_test(assertReturns(db_url_handlers, <<"_compact">>, chttpd_db,
    +        handle_compact_req, 2)).
     
    -test_design() ->
    -    assertReturns(db_url_handlers, <<"_design">>, chttpd_db,
    -        handle_design_req, 2).
    +test_design(_Cfg) ->
    +    ?_test(assertReturns(db_url_handlers, <<"_design">>, chttpd_db,
    +        handle_design_req, 2)).
     
    -test_temp_view() ->
    -    assertReturns(db_url_handlers, <<"_temp_view">>, chttpd_view,
    -        handle_temp_view_req, 2).
    +test_temp_view(_Cfg) ->
    +    ?_test(assertReturns(db_url_handlers, <<"_temp_view">>, chttpd_view,
    +        handle_temp_view_req, 2)).
     
    -test_changes() ->
    -    assertReturns(db_url_handlers, <<"_changes">>, chttpd_db,
    -        handle_changes_req, 2).
    +test_changes(_Cfg) ->
    +    ?_test(assertReturns(db_url_handlers, <<"_changes">>, chttpd_db,
    +        handle_changes_req, 2)).
     
    -test_shards() ->
    -    assertReturns(db_url_handlers, <<"_shards">>, mem3_httpd,
    -        handle_shards_req, 2).
    +test_shards(_Cfg) ->
    +    ?_test(assertReturns(db_url_handlers, <<"_shards">>, mem3_httpd,
    +        handle_shards_req, 2)).
     
    -verify_unmocked_failing_view_cleanup() ->
    -    assertUnmockedFails(db_url_handlers, <<"_view_cleanup">>, chttpd_db, 
2).
    +verify_unmocked_failing_view_cleanup(_Cfg) ->
    +    ?_test(assertUnmockedFails(db_url_handlers, <<"_view_cleanup">>, 
chttpd_db, 2)).
     
    -verify_unmocked_db_failing_something() ->
    -    assertUnknownFails(db_url_handlers, <<"_something">>).
    +verify_unmocked_db_failing_something(_Cfg) ->
    +    ?_test(assertUnknownFails(db_url_handlers, <<"_something">>)).
     
    -test_view() ->
    -    assertReturns(design_url_handlers, <<"_view">>, chttpd_view,
    -        handle_view_req, 3).
    +test_view(_Cfg) ->
    +    ?_test(assertReturns(design_url_handlers, <<"_view">>, chttpd_view,
    +        handle_view_req, 3)).
     
    -test_show() ->
    -    assertReturns(design_url_handlers, <<"_show">>, chttpd_show,
    -        handle_doc_show_req, 3).
    +test_show(_Cfg) ->
    +    ?_test(assertReturns(design_url_handlers, <<"_show">>, chttpd_show,
    +        handle_doc_show_req, 3)).
     
    -test_list() ->
    -    assertReturns(design_url_handlers, <<"_list">>, chttpd_show,
    -        handle_view_list_req, 3).
    +test_list(_Cfg) ->
    +    ?_test(assertReturns(design_url_handlers, <<"_list">>, chttpd_show,
    +        handle_view_list_req, 3)).
     
    -test_update() ->
    -    assertReturns(design_url_handlers, <<"_update">>, chttpd_show,
    -        handle_doc_update_req, 3).
    +test_update(_Cfg) ->
    +    ?_test(assertReturns(design_url_handlers, <<"_update">>, chttpd_show,
    +        handle_doc_update_req, 3)).
     
    -test_info() ->
    -    assertReturns(design_url_handlers, <<"_info">>, chttpd_db,
    -        handle_design_info_req, 3).
    +test_info(_Cfg) ->
    +    ?_test(assertReturns(design_url_handlers, <<"_info">>, chttpd_db,
    +        handle_design_info_req, 3)).
     
    -test_rewrite() ->
    -    assertReturns(design_url_handlers, <<"_rewrite">>, chttpd_rewrite,
    -        handle_rewrite_req, 3).
    +test_rewrite(_Cfg) ->
    +    ?_test(assertReturns(design_url_handlers, <<"_rewrite">>, 
chttpd_rewrite,
    +        handle_rewrite_req, 3)).
     
    -verify_unmocked_failing_view() ->
    -    assertUnmockedFails(design_url_handlers, <<"_view">>, chttpd_view, 3).
    +verify_unmocked_failing_view(_Cfg) ->
    +    ?_test(assertUnmockedFails(design_url_handlers, <<"_view">>, 
chttpd_view, 3)).
     
    -verify_unmocked_design_failing_something() ->
    -    assertUnknownFails(design_url_handlers, <<"_something">>).
    +verify_unmocked_design_failing_something(_Cfg) ->
    +    ?_test(assertUnknownFails(design_url_handlers, <<"_something">>)).
     
     
     %% Call the dynamic function with a parameter known to trigger a specific
    @@ -212,10 +212,9 @@ verify_unmocked_design_failing_something() ->
     assertReturns(Endpoint, M, F) ->
         meck:new(M, [passthrough, non_strict]),
         try
    -        io:format(user, "~-47...s ", [Endpoint]),
             meck:expect(M, F, fun(X) -> {return, Endpoint, X} end),
             Fun = chttpd_handler:url_handler(Endpoint),
    -        ?_assertEqual({return, Endpoint, x}, Fun(x))
    +        ?assertEqual({return, Endpoint, x}, Fun(x))
         after
             meck:unload(M)
         end.
    @@ -225,7 +224,7 @@ assertUnmockedFails(Endpoint, M) ->
         meck:new(M, [non_strict]),
         try
             Fun = chttpd_handler:url_handler(Endpoint),
    -        ?_assertError(undef, Fun(x))
    +        ?assertError(undef, Fun(x))
         after
             meck:unload(M)
         end.
    @@ -234,7 +233,6 @@ assertUnmockedFails(Endpoint, M) ->
     assertReturns(HandlerLister, Endpoint, M, F, Arity) ->
         meck:new(M, [passthrough, non_strict]),
         try
    -        io:format(user, "~-47...s ", [Endpoint]),
             case Arity of
             2 ->
                 meck:expect(M, F, fun(X, Y) -> {return, Endpoint, X, Y} end),
    @@ -243,7 +241,7 @@ assertReturns(HandlerLister, Endpoint, M, F, Arity) ->
             3 ->
                 meck:expect(M, F, fun(X, Y, Z) -> {return, Endpoint, X, Y, Z} 
end),
                 {_, Fun} = lists:keyfind(Endpoint, 1, 
chttpd_handler:HandlerLister()),
    -            ?_assertEqual({return, Endpoint, x, y, z}, Fun(x, y, z))
    +            ?assertEqual({return, Endpoint, x, y, z}, Fun(x, y, z))
             end
         after
             meck:unload(M)
    @@ -255,8 +253,8 @@ assertUnmockedFails(HandlerLister, Endpoint, M, Arity) 
->
         try
             {_, Fun} = lists:keyfind(Endpoint, 1, 
chttpd_handler:HandlerLister()),
             case Arity of
    -        2 -> ?_assertError(undef, Fun(x, y));
    -        3 -> ?_assertError(undef, Fun(x, y, z))
    +        2 -> ?assertError(undef, Fun(x, y));
    +        3 -> ?assertError(undef, Fun(x, y, z))
             end
         after
             meck:unload(M)
    @@ -264,7 +262,7 @@ assertUnmockedFails(HandlerLister, Endpoint, M, Arity) 
->
     
     %% Make sure that a wrong parameter also really fails.
     assertUnknownFails(HandlerLister, Endpoint) ->
    -    false = lists:keyfind(Endpoint, 1, chttpd_handler:HandlerLister()).
    +    ?assertEqual(false, lists:keyfind(Endpoint, 1, 
chttpd_handler:HandlerLister())).
     
     test_cfg() ->
     [{url_handler, clauses, [
    
    ```
    
    And compare the output yours:
    ```
    module 'chttpd_handler_callback_test'
      chttpd_handler_callback_test: 
all_test_.................................................. [0.142 s] ok
      chttpd_handler_callback_test: 
all_test_...favicon.ico.................................... [0.075 s] ok
      chttpd_handler_callback_test: 
all_test_..._utils......................................... [0.068 s] ok
      chttpd_handler_callback_test: 
all_test_..._all_dbs....................................... [0.069 s] ok
      chttpd_handler_callback_test: 
all_test_..._active_tasks.................................. [0.071 s] ok
      chttpd_handler_callback_test: 
all_test_..._config........................................ [0.070 s] ok
      chttpd_handler_callback_test: 
all_test_..._reload_query_servers.......................... [0.069 s] ok
      chttpd_handler_callback_test: 
all_test_..._replicate..................................... [0.068 s] ok
      chttpd_handler_callback_test: 
all_test_..._uuids......................................... [0.079 s] ok
      chttpd_handler_callback_test: 
all_test_..._sleep......................................... [0.092 s] ok
      chttpd_handler_callback_test: 
all_test_..._session....................................... [0.007 s] ok
      chttpd_handler_callback_test: 
all_test_..._oauth......................................... [0.075 s] ok
      chttpd_handler_callback_test: 
all_test_..._up............................................ [0.069 s] ok
      chttpd_handler_callback_test: 
all_test_..._membership.................................... [0.030 s] ok
      chttpd_handler_callback_test: 
all_test_..._db_updates.................................... [0.042 s] ok
      chttpd_handler_callback_test: 
all_test_...anything....................................... [0.284 s] ok
      chttpd_handler_callback_test: all_test_...[0.061 s] ok
      chttpd_handler_callback_test: all_test_...[0.064 s] ok
      chttpd_handler_callback_test: all_test_...[0.290 s] ok
      chttpd_handler_callback_test: 
all_test_..._view_cleanup.................................. [0.364 s] ok
      chttpd_handler_callback_test: 
all_test_..._compact....................................... [0.322 s] ok
      chttpd_handler_callback_test: 
all_test_..._design........................................ [0.320 s] ok
      chttpd_handler_callback_test: 
all_test_..._temp_view..................................... [0.026 s] ok
      chttpd_handler_callback_test: 
all_test_..._changes....................................... [0.296 s] ok
      chttpd_handler_callback_test: 
all_test_..._shards........................................ [0.020 s] ok
      chttpd_handler_callback_test: all_test_...[0.323 s] ok
      chttpd_handler_callback_test: all_test_...ok
      chttpd_handler_callback_test: 
all_test_..._view.......................................... [0.029 s] ok
      chttpd_handler_callback_test: 
all_test_..._show.......................................... [0.080 s] ok
      chttpd_handler_callback_test: 
all_test_..._list.......................................... [0.054 s] ok
      chttpd_handler_callback_test: 
all_test_..._update........................................ [0.052 s] ok
      chttpd_handler_callback_test: 
all_test_..._info.......................................... [0.351 s] ok
      chttpd_handler_callback_test: 
all_test_..._rewrite....................................... [0.062 s] ok
      chttpd_handler_callback_test: all_test_...[0.031 s] ok
      chttpd_handler_callback_test: all_test_...ok
    ```
    
    And now:
    
    ```
    module 'chttpd_handler_callback_test'
      chttpd_handler_callback_test:90: test_empty_string...[0.087 s] ok
      chttpd_handler_callback_test:93: test_favicon...[0.076 s] ok
      chttpd_handler_callback_test:96: test_utils...[0.076 s] ok
      chttpd_handler_callback_test:99: test_all_dbs...[0.075 s] ok
      chttpd_handler_callback_test:102: test_active_tasks...[0.077 s] ok
      chttpd_handler_callback_test:105: test_config...[0.076 s] ok
      chttpd_handler_callback_test:108: test_reload_query_servers...[0.077 s] ok
      chttpd_handler_callback_test:112: test_replicate...[0.075 s] ok
      chttpd_handler_callback_test:115: test_uuids...[0.076 s] ok
      chttpd_handler_callback_test:118: test_sleep...[0.099 s] ok
      chttpd_handler_callback_test:121: test_session...[0.007 s] ok
      chttpd_handler_callback_test:124: test_oauth...[0.054 s] ok
      chttpd_handler_callback_test:127: test_up...[0.076 s] ok
      chttpd_handler_callback_test:130: test_membership...[0.018 s] ok
      chttpd_handler_callback_test:133: test_db_updates...[0.045 s] ok
      chttpd_handler_callback_test:137: test_anything...[0.369 s] ok
      chttpd_handler_callback_test:140: 
verify_unmocked_failing_empty_string...[0.066 s] ok
      chttpd_handler_callback_test:143: 
verify_unmocked_failing_favicon...[0.065 s] ok
      chttpd_handler_callback_test:146: 
verify_unmocked_failing_anything...[0.362 s] ok
      chttpd_handler_callback_test:149: test_view_cleanup...[0.367 s] ok
      chttpd_handler_callback_test:153: test_compact...[0.372 s] ok
      chttpd_handler_callback_test:157: test_design...[0.370 s] ok
      chttpd_handler_callback_test:161: test_temp_view...[0.031 s] ok
      chttpd_handler_callback_test:165: test_changes...[0.406 s] ok
      chttpd_handler_callback_test:169: test_shards...[0.020 s] ok
      chttpd_handler_callback_test:173: 
verify_unmocked_failing_view_cleanup...[0.390 s] ok
      chttpd_handler_callback_test:176: 
verify_unmocked_db_failing_something...ok
      chttpd_handler_callback_test:179: test_view...[0.033 s] ok
      chttpd_handler_callback_test:183: test_show...[0.051 s] ok
      chttpd_handler_callback_test:187: test_list...[0.052 s] ok
      chttpd_handler_callback_test:191: test_update...[0.054 s] ok
      chttpd_handler_callback_test:195: test_info...[0.393 s] ok
      chttpd_handler_callback_test:199: test_rewrite...[0.060 s] ok
      chttpd_handler_callback_test:203: verify_unmocked_failing_view...[0.026 
s] ok
      chttpd_handler_callback_test:206: 
verify_unmocked_design_failing_something...ok
    ```
    
    Looks better right? I'd forgot a bit how to make eunit produce the right 
output: it doesn't works right if setup receives list of functions, so I 
eventually have to rollback ecd4f77 - sorry for the false tip. Now you see 
which function got executed and you'll easily know which one fails.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to