diff options
author | Adam Kocoloski <kocolosk@apache.org> | 2019-08-16 11:01:46 -0400 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-08-16 11:01:46 -0400 |
commit | 868198788b1c15ff619c7dc356d84578531c6ffc (patch) | |
tree | 650bd642c82fbd8cc90bf60b39c92ed03de8b9c9 | |
parent | 0690bdee67f905744b7da6a7fdfa9f592617e083 (diff) | |
parent | 8fa6ca1deff5eb61a3949f248b7f40a2febcd9e4 (diff) | |
download | couchdb-jenkins-cpse-debugging.tar.gz |
Merge branch 'master' into jenkins-cpse-debuggingjenkins-cpse-debugging
-rwxr-xr-x | dev/run | 41 | ||||
-rw-r--r-- | test/elixir/lib/ex_unit.ex | 4 |
2 files changed, 33 insertions, 12 deletions
@@ -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)} |