summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorgarren smith <garren.smith@gmail.com>2021-07-22 12:03:44 +0200
committergarren smith <garren.smith@gmail.com>2021-07-22 16:24:26 +0200
commit340985e1e8aab94c6633cea9207e7de91d655b6c (patch)
treedbdac769d2b6732ea6076fb7f1d1884474d679e8
parentf3c149bb95ba31b9466cdb941138d48a5dbe96f2 (diff)
downloadcouchdb-validate-doc-couch-eval.tar.gz
Add in option to run different js engine for testsvalidate-doc-couch-eval
Add a `js_engine` field when starting test applications. When the couch apps are loaded it will load the js engine defined in the ini files. This allows us to swop out and use different javascript engines for `couch_eval` for eunit tests.
-rw-r--r--src/chttpd/src/chttpd_test_util.erl2
-rw-r--r--src/couch/src/test_util.erl16
-rw-r--r--src/couch_replicator/test/eunit/couch_replicator_test_helper.erl2
-rw-r--r--src/couch_views/test/couch_views_active_tasks_test.erl2
-rw-r--r--src/couch_views/test/couch_views_cleanup_test.erl2
-rw-r--r--src/couch_views/test/couch_views_custom_red_test.erl2
-rw-r--r--src/couch_views/test/couch_views_error_test.erl2
-rw-r--r--src/couch_views/test/couch_views_indexer_test.erl2
-rw-r--r--src/couch_views/test/couch_views_info_test.erl2
-rw-r--r--src/couch_views/test/couch_views_map_test.erl2
-rw-r--r--src/couch_views/test/couch_views_red_test.erl2
-rw-r--r--src/couch_views/test/couch_views_server_test.erl2
-rw-r--r--src/couch_views/test/couch_views_size_test.erl2
-rw-r--r--src/couch_views/test/couch_views_trace_index_test.erl2
-rw-r--r--src/couch_views/test/couch_views_updater_test.erl2
-rw-r--r--src/couch_views/test/couch_views_upgrade_test.erl2
-rw-r--r--src/fabric/test/fabric2_doc_crud_tests.erl2
17 files changed, 31 insertions, 17 deletions
diff --git a/src/chttpd/src/chttpd_test_util.erl b/src/chttpd/src/chttpd_test_util.erl
index d905a8d88..48c14be27 100644
--- a/src/chttpd/src/chttpd_test_util.erl
+++ b/src/chttpd/src/chttpd_test_util.erl
@@ -20,7 +20,7 @@ start_couch() ->
start_couch(?CONFIG_CHAIN).
start_couch(IniFiles) ->
- test_util:start_couch(IniFiles, [couch_js, couch_views, chttpd]).
+ test_util:start_couch(IniFiles, [js_engine, couch_views, chttpd]).
stop_couch(Ctx) ->
test_util:stop_couch(Ctx).
diff --git a/src/couch/src/test_util.erl b/src/couch/src/test_util.erl
index d9f4bc098..99994f21b 100644
--- a/src/couch/src/test_util.erl
+++ b/src/couch/src/test_util.erl
@@ -73,7 +73,8 @@ start_couch(ExtraApps) ->
start_couch(IniFiles, ExtraApps) ->
load_applications_with_stats(),
ok = application:set_env(config, ini_files, IniFiles),
- Apps = start_applications(?DEFAULT_APPS ++ ExtraApps),
+ ExtraApps1 = maybe_add_js_engine(ExtraApps),
+ Apps = start_applications(?DEFAULT_APPS ++ ExtraApps1),
ok = config:delete("compactions", "_default", false),
#test_context{started = Apps}.
@@ -336,3 +337,16 @@ sort_apps(Apps) ->
weight_app(couch_log) -> {0.0, couch_log};
weight_app(Else) -> {1.0, Else}.
+
+maybe_add_js_engine(Apps) ->
+ case lists:member(js_engine, Apps) of
+ false ->
+ Apps;
+ true ->
+ application:start(config),
+ % Deleting the config app from the list because we started it here
+ % and don't need to start it again.
+ Apps1 = lists:delete(config, Apps),
+ JS = list_to_atom(config:get("couch_eval.languages", "javascript", "couch_js")),
+ lists:delete(js_engine, Apps1) ++ [JS]
+ end.
diff --git a/src/couch_replicator/test/eunit/couch_replicator_test_helper.erl b/src/couch_replicator/test/eunit/couch_replicator_test_helper.erl
index f2e174cec..380e9e91d 100644
--- a/src/couch_replicator/test/eunit/couch_replicator_test_helper.erl
+++ b/src/couch_replicator/test/eunit/couch_replicator_test_helper.erl
@@ -52,7 +52,7 @@
-define(PASSWORD, "rep_eunit_password").
start_couch() ->
- Ctx = test_util:start_couch([fabric, chttpd, couch_replicator, couch_js]),
+ Ctx = test_util:start_couch([fabric, chttpd, couch_replicator, js_engine]),
Hashed = couch_passwords:hash_admin_password(?PASSWORD),
ok = config:set("admins", ?USERNAME, ?b2l(Hashed), _Persist = false),
Ctx.
diff --git a/src/couch_views/test/couch_views_active_tasks_test.erl b/src/couch_views/test/couch_views_active_tasks_test.erl
index dd13b45b2..eded1fa18 100644
--- a/src/couch_views/test/couch_views_active_tasks_test.erl
+++ b/src/couch_views/test/couch_views_active_tasks_test.erl
@@ -27,7 +27,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
Ctx.
diff --git a/src/couch_views/test/couch_views_cleanup_test.erl b/src/couch_views/test/couch_views_cleanup_test.erl
index abec35a21..1e6fc74ba 100644
--- a/src/couch_views/test/couch_views_cleanup_test.erl
+++ b/src/couch_views/test/couch_views_cleanup_test.erl
@@ -53,7 +53,7 @@ setup_all() ->
test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]).
diff --git a/src/couch_views/test/couch_views_custom_red_test.erl b/src/couch_views/test/couch_views_custom_red_test.erl
index b064a2a15..423dc3516 100644
--- a/src/couch_views/test/couch_views_custom_red_test.erl
+++ b/src/couch_views/test/couch_views_custom_red_test.erl
@@ -70,7 +70,7 @@ setup_common(Enabled) ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
config:set_boolean("couch_views", "custom_reduce_enabled", Enabled, false),
diff --git a/src/couch_views/test/couch_views_error_test.erl b/src/couch_views/test/couch_views_error_test.erl
index 8d59cd9c1..6bb4d8c86 100644
--- a/src/couch_views/test/couch_views_error_test.erl
+++ b/src/couch_views/test/couch_views_error_test.erl
@@ -45,7 +45,7 @@ setup() ->
fabric,
chttpd,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
Hashed = couch_passwords:hash_admin_password(?PASS),
diff --git a/src/couch_views/test/couch_views_indexer_test.erl b/src/couch_views/test/couch_views_indexer_test.erl
index 08bba08d1..a1be2567b 100644
--- a/src/couch_views/test/couch_views_indexer_test.erl
+++ b/src/couch_views/test/couch_views_indexer_test.erl
@@ -64,7 +64,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
Ctx.
diff --git a/src/couch_views/test/couch_views_info_test.erl b/src/couch_views/test/couch_views_info_test.erl
index ee5d6efff..a2bdaf660 100644
--- a/src/couch_views/test/couch_views_info_test.erl
+++ b/src/couch_views/test/couch_views_info_test.erl
@@ -23,7 +23,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
Ctx.
diff --git a/src/couch_views/test/couch_views_map_test.erl b/src/couch_views/test/couch_views_map_test.erl
index 2eb19d310..6aa834851 100644
--- a/src/couch_views/test/couch_views_map_test.erl
+++ b/src/couch_views/test/couch_views_map_test.erl
@@ -22,7 +22,7 @@ setup() ->
test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]).
diff --git a/src/couch_views/test/couch_views_red_test.erl b/src/couch_views/test/couch_views_red_test.erl
index 0b6e6c9f8..485ec6f15 100644
--- a/src/couch_views/test/couch_views_red_test.erl
+++ b/src/couch_views/test/couch_views_red_test.erl
@@ -88,7 +88,7 @@ setup_db() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
{ok, Db} = fabric2_db:create(?tempdb(), [{user_ctx, ?ADMIN_USER}]),
diff --git a/src/couch_views/test/couch_views_server_test.erl b/src/couch_views/test/couch_views_server_test.erl
index e30f1db0a..d3af9af06 100644
--- a/src/couch_views/test/couch_views_server_test.erl
+++ b/src/couch_views/test/couch_views_server_test.erl
@@ -43,7 +43,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_eval,
couch_lib
]),
diff --git a/src/couch_views/test/couch_views_size_test.erl b/src/couch_views/test/couch_views_size_test.erl
index e2055931c..4914c74e4 100644
--- a/src/couch_views/test/couch_views_size_test.erl
+++ b/src/couch_views/test/couch_views_size_test.erl
@@ -52,7 +52,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
Ctx.
diff --git a/src/couch_views/test/couch_views_trace_index_test.erl b/src/couch_views/test/couch_views_trace_index_test.erl
index b55e2dd8a..13788905d 100644
--- a/src/couch_views/test/couch_views_trace_index_test.erl
+++ b/src/couch_views/test/couch_views_trace_index_test.erl
@@ -45,7 +45,7 @@ indexer_test_() ->
}.
setup() ->
- test_util:start_couch([fabric, couch_js]).
+ test_util:start_couch([fabric, js_engine]).
cleanup(Ctx) ->
test_util:stop_couch(Ctx).
diff --git a/src/couch_views/test/couch_views_updater_test.erl b/src/couch_views/test/couch_views_updater_test.erl
index 61d9a9f52..63dc95a48 100644
--- a/src/couch_views/test/couch_views_updater_test.erl
+++ b/src/couch_views/test/couch_views_updater_test.erl
@@ -44,7 +44,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views,
mango
]),
diff --git a/src/couch_views/test/couch_views_upgrade_test.erl b/src/couch_views/test/couch_views_upgrade_test.erl
index 7dafefd28..8a6cfd50e 100644
--- a/src/couch_views/test/couch_views_upgrade_test.erl
+++ b/src/couch_views/test/couch_views_upgrade_test.erl
@@ -49,7 +49,7 @@ setup() ->
Ctx = test_util:start_couch([
fabric,
couch_jobs,
- couch_js,
+ js_engine,
couch_views
]),
Ctx.
diff --git a/src/fabric/test/fabric2_doc_crud_tests.erl b/src/fabric/test/fabric2_doc_crud_tests.erl
index 8ffbcbc7b..7de0d5e8c 100644
--- a/src/fabric/test/fabric2_doc_crud_tests.erl
+++ b/src/fabric/test/fabric2_doc_crud_tests.erl
@@ -72,7 +72,7 @@ doc_crud_test_() ->
}.
setup() ->
- Ctx = test_util:start_couch([fabric, couch_js]),
+ Ctx = test_util:start_couch([fabric, js_engine]),
{ok, Db} = fabric2_db:create(?tempdb(), [{user_ctx, ?ADMIN_USER}]),
{Db, Ctx}.