summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAdam Kocoloski <kocolosk@apache.org>2019-08-16 11:01:46 -0400
committerGitHub <noreply@github.com>2019-08-16 11:01:46 -0400
commit868198788b1c15ff619c7dc356d84578531c6ffc (patch)
tree650bd642c82fbd8cc90bf60b39c92ed03de8b9c9
parent0690bdee67f905744b7da6a7fdfa9f592617e083 (diff)
parent8fa6ca1deff5eb61a3949f248b7f40a2febcd9e4 (diff)
downloadcouchdb-jenkins-cpse-debugging.tar.gz
Merge branch 'master' into jenkins-cpse-debuggingjenkins-cpse-debugging
-rwxr-xr-xdev/run41
-rw-r--r--test/elixir/lib/ex_unit.ex4
2 files changed, 33 insertions, 12 deletions
diff --git a/dev/run b/dev/run
index 60e7d5c35..10351eb86 100755
--- a/dev/run
+++ b/dev/run
@@ -690,27 +690,37 @@ def generate_cookie():
def cluster_setup_with_admin_party(ctx):
+ connect_nodes(ctx)
+ host, port = "127.0.0.1", cluster_port(ctx, 1)
+ create_system_databases(host, port)
+
+
+def connect_nodes(ctx):
host, port = "127.0.0.1", backend_port(ctx, 1)
for node in ctx["nodes"]:
- body = "{}"
- conn = httpclient.HTTPConnection(host, port)
- conn.request("PUT", "/_nodes/%s@127.0.0.1" % node, body)
- resp = conn.getresponse()
- if resp.status not in (200, 201, 202, 409):
- print(("Failed to join %s into cluster: %s" % (node, resp.read())))
- sys.exit(1)
- create_system_databases(host, cluster_port(ctx, 1))
+ path = "/_nodes/%s@127.0.0.1" % node
+ try_request(
+ host,
+ port,
+ "PUT",
+ path,
+ (200, 201, 202, 409),
+ body="{}",
+ error="Failed to join %s into cluster:\n" % node,
+ )
-def try_request(host, port, meth, path, success_codes, retries=10, retry_dt=1):
+def try_request(
+ host, port, meth, path, success_codes, body=None, retries=10, retry_dt=1, error=""
+):
while True:
conn = httpclient.HTTPConnection(host, port)
- conn.request(meth, path)
+ conn.request(meth, path, body=body)
resp = conn.getresponse()
if resp.status in success_codes:
return resp.status, resp.read()
elif retries <= 0:
- assert resp.status in success_codes, resp.read()
+ assert resp.status in success_codes, "%s%s" % (error, resp.read())
retries -= 1
time.sleep(retry_dt)
@@ -721,7 +731,14 @@ def create_system_databases(host, port):
conn.request("HEAD", "/" + dbname)
resp = conn.getresponse()
if resp.status == 404:
- try_request(host, port, "PUT", "/" + dbname, (201, 202, 412))
+ try_request(
+ host,
+ port,
+ "PUT",
+ "/" + dbname,
+ (201, 202, 412),
+ error="Failed to create '%s' database:\n" % dbname,
+ )
@log(
diff --git a/test/elixir/lib/ex_unit.ex b/test/elixir/lib/ex_unit.ex
index 7abba07ef..8503cd991 100644
--- a/test/elixir/lib/ex_unit.ex
+++ b/test/elixir/lib/ex_unit.ex
@@ -35,6 +35,10 @@ defmodule Couch.Test.ExUnit.Case do
end
setup context do
+ on_exit(fn ->
+ :meck.unload()
+ end)
+
case context do
%{:setup => setup_fun} ->
{:ok, Setup.setup(context, setup_fun)}