summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexander Shorin <kxepal@apache.org>2014-06-11 18:15:41 +0400
committerAlexander Shorin <kxepal@apache.org>2015-12-03 00:52:05 +0300
commit70ddbdc57563ecd8ab4c1d746b8bda46ce85c406 (patch)
treee04105167a8da1cc70e07cd099fbbb03f22630bd
parent93266ba0030ccfa9b64c6fe17b23da8066fa9510 (diff)
downloadcouchdb-70ddbdc57563ecd8ab4c1d746b8bda46ce85c406.tar.gz
Port couch_mrview/03-red-views.t etap test suite to eunit
-rw-r--r--src/couch_mrview/Makefile.am2
-rw-r--r--src/couch_mrview/test/couch_mrview_red_views_tests.erl (renamed from src/couch_mrview/test/03-red-views.t)76
2 files changed, 54 insertions, 24 deletions
diff --git a/src/couch_mrview/Makefile.am b/src/couch_mrview/Makefile.am
index dfe412b06..59ee5fe6e 100644
--- a/src/couch_mrview/Makefile.am
+++ b/src/couch_mrview/Makefile.am
@@ -35,7 +35,7 @@ source_files = \
test_files = \
test/couch_mrview_map_views_tests.erl \
test/couch_mrview_modules_load_tests.erl \
- test/03-red-views.t \
+ test/couch_mrview_red_views_tests.erl \
test/04-index-info.t \
test/05-collation.t \
test/06-all-docs.t \
diff --git a/src/couch_mrview/test/03-red-views.t b/src/couch_mrview/test/couch_mrview_red_views_tests.erl
index 6ad341bd8..430d3e259 100644
--- a/src/couch_mrview/test/03-red-views.t
+++ b/src/couch_mrview/test/couch_mrview_red_views_tests.erl
@@ -1,6 +1,3 @@
-#!/usr/bin/env escript
-%% -*- erlang -*-
-
% 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
@@ -13,50 +10,83 @@
% License for the specific language governing permissions and limitations under
% the License.
-main(_) ->
- test_util:run(4, fun() -> test() end).
+-module(couch_mrview_red_views_tests).
+
+-include("couch_eunit.hrl").
+-include_lib("couchdb/couch_db.hrl").
+
+-define(TIMEOUT, 1000).
+-define(ADMIN_USER, {user_ctx, #user_ctx{roles=[<<"_admin">>]}}).
+
-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">>, red),
+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_key_range(Db),
- test_group_level(Db),
- test_group_exact(Db),
+setup() ->
+ {ok, Db} = couch_mrview_test_util:init_db(?tempdb(), red),
+ Db.
- ok.
+teardown(Db) ->
+ ok = couch_db:close(Db).
-test_basic(Db) ->
+reduce_views_test_() ->
+ {
+ "Reduce views",
+ {
+ setup,
+ fun start/0, fun stop/1,
+ {
+ foreach,
+ fun setup/0, fun teardown/1,
+ [
+ fun should_reduce_basic/1,
+ fun should_reduce_key_range/1,
+ fun should_reduce_with_group_level/1,
+ fun should_reduce_with_group_exact/1
+ ]
+ }
+ }
+ }.
+
+
+should_reduce_basic(Db) ->
Result = run_query(Db, []),
Expect = {ok, [
{meta, []},
{row, [{key, null}, {value, 55}]}
]},
- etap:is(Result, Expect, "Simple reduce view works.").
+ ?_assertEqual(Expect, Result).
-
-test_key_range(Db) ->
+should_reduce_key_range(Db) ->
Result = run_query(Db, [{start_key, [0, 2]}, {end_key, [0, 4]}]),
Expect = {ok, [
{meta, []},
{row, [{key, null}, {value, 6}]}
]},
- etap:is(Result, Expect, "Reduce with key range works.").
-
+ ?_assertEqual(Expect, Result).
-test_group_level(Db) ->
+should_reduce_with_group_level(Db) ->
Result = run_query(Db, [{group_level, 1}]),
Expect = {ok, [
{meta, []},
{row, [{key, [0]}, {value, 30}]},
{row, [{key, [1]}, {value, 25}]}
]},
- etap:is(Result, Expect, "Group level works.").
+ ?_assertEqual(Expect, Result).
-test_group_exact(Db) ->
+should_reduce_with_group_exact(Db) ->
Result = run_query(Db, [{group_level, exact}]),
Expect = {ok, [
{meta, []},
@@ -71,7 +101,7 @@ test_group_exact(Db) ->
{row, [{key, [1, 7]}, {value, 7}]},
{row, [{key, [1, 9]}, {value, 9}]}
]},
- etap:is(Result, Expect, "Group exact works.").
+ ?_assertEqual(Expect, Result).
run_query(Db, Opts) ->