Github user kxepal commented on a diff in the pull request:

    https://github.com/apache/couchdb/pull/253#discussion_r14488373
  
    --- Diff: src/couch_mrview/test/couch_mrview_all_docs_tests.erl ---
    @@ -13,26 +10,62 @@
     % License for the specific language governing permissions and limitations 
under
     % the License.
     
    -main(_) ->
    -    test_util:run(6, fun() -> test() end).
    +-module(couch_mrview_all_docs_tests).
    +
    +-include("couch_eunit.hrl").
    +-include_lib("couchdb/couch_db.hrl").
    +
    +-define(ADMIN_USER, {user_ctx, #user_ctx{roles=[<<"_admin">>]}}).
    +-define(TIMEOUT, 1000).
     
     
    -test() ->
    -    couch_server_sup:start_link(test_util:config_files()),
    +start() ->
    +    {ok, Pid} = couch_server_sup:start_link(?CONFIG_CHAIN),
    +    Pid.
     
    -    {ok, Db} = couch_mrview_test_util:init_db(<<"foo">>, map),
    +stop(Pid) ->
    +    erlang:monitor(process, Pid),
    +    couch_server_sup:stop(),
    +    receive
    +        {'DOWN', _, _, Pid, _} ->
    +            ok
    +    after ?TIMEOUT ->
    +        throw({timeout, server_stop})
    +    end.
     
    -    test_basic(Db),
    -    test_range(Db),
    -    test_rev_range(Db),
    -    test_limit_and_skip(Db),
    -    test_include_docs(Db),
    -    test_empty_view(Db),
    +setup() ->
    +    {ok, Db} = couch_mrview_test_util:init_db(?tempdb(), map),
    +    Db.
     
    +teardown(Db) ->
    +    couch_db:close(Db),
    +    couch_server:delete(Db#db.name, [?ADMIN_USER]),
         ok.
     
     
    -test_basic(Db) ->
    +all_docs_test_() ->
    +    {
    +        "_all_docs view tests",
    +        {
    +            setup,
    +            fun start/0, fun stop/1,
    --- End diff --
    
    tl;dr move all common bits to `test_util.erl`? Agree with - there are too 
much of such, but probably with separate commit after all the migration since I 
couldn't imagine how to correctly rebase each and handle commit bits without 
miss something by the way or leave things broken in intermediate commits.


---
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