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