summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhilip Kuryloski <kuryloskip@vmware.com>2021-11-02 16:04:06 +0100
committermergify-bot <noreply@mergify.io>2021-11-18 20:24:50 +0000
commitf35874803c2e201c10bb1df18da0875b0b373275 (patch)
tree7450c2baeeded32229631e8208f6f2a6d996bd0c
parent0c95aa8b606eef76db3ffd8f66b04417760f8e2a (diff)
downloadrabbitmq-server-git-f35874803c2e201c10bb1df18da0875b0b373275.tar.gz
Adjustments for the latest bazel-erlang
(cherry picked from commit 8c0eece3cdd1fcd6a3e0d85c48101c7de519df43) (cherry picked from commit 3684d0942d8b345f413e64b36af124d3349bd1bc)
-rw-r--r--BAZEL.md2
-rw-r--r--deps/rabbitmq_cli/rabbitmqctl.bzl2
-rw-r--r--deps/rabbitmq_ct_helpers/BUILD.bazel4
-rw-r--r--deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl4
-rw-r--r--deps/rabbitmq_ct_helpers/tools/tls-certs/BUILD.bazel4
-rw-r--r--deps/rabbitmq_stomp/BUILD.bazel1
-rw-r--r--deps/rabbitmq_web_dispatch/BUILD.bazel6
-rw-r--r--deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl5
-rw-r--r--deps/rabbitmq_web_mqtt/BUILD.bazel1
-rw-r--r--rabbitmq.bzl10
10 files changed, 17 insertions, 22 deletions
diff --git a/BAZEL.md b/BAZEL.md
index bc87e73314..c635e59e3f 100644
--- a/BAZEL.md
+++ b/BAZEL.md
@@ -51,7 +51,7 @@ for certain `rabbitmq_cli` tests to pass. This is because `rabbitmqctl wait` she
### Running tests
-Many rabbit tests spawn single or clustered rabbit nodes, and therefore it's best to run test suites sequentially on a single machine. Hence the `--test_strategy=exclusive` flag used in `.bazelrc` above. Naturally that restriction does not hold if utilizing remote execution (as is the case for RabbitMQ's CI pipelines).
+Many rabbit tests spawn single or clustered rabbit nodes, and therefore it's best to run test suites sequentially on a single machine. Hence the `build --local_test_jobs=1` flag used in `.bazelrc`. Additionally, it may be reasonable to disable test sharding and stream test output when running tests locally with `--test_output=streamed` as an additional argument (to just disable sharding, but not stream output, use `--test_sharding_strategy=disabled`). Naturally that restriction does not hold if utilizing remote execution (as is the case for RabbitMQ's CI pipelines).
Erlang Common Test logs will not be placed in the logs directory when run with bazel. They can be found under `bazel-testlogs`. For instance, those of the rabbit application's backing_queue suite will be under `bazel-testlogs/deps/rabbit/backing_queue_SUITE/test.outputs/`.
diff --git a/deps/rabbitmq_cli/rabbitmqctl.bzl b/deps/rabbitmq_cli/rabbitmqctl.bzl
index 4bc0f4d3b3..8da75a0729 100644
--- a/deps/rabbitmq_cli/rabbitmqctl.bzl
+++ b/deps/rabbitmq_cli/rabbitmqctl.bzl
@@ -130,7 +130,7 @@ def _impl(ctx):
deps = flat_deps(ctx.attr.deps)
runfiles = ctx.runfiles([ebin])
- for dep in ctx.attr.deps:
+ for dep in deps:
runfiles = runfiles.merge(dep[DefaultInfo].default_runfiles)
return [
diff --git a/deps/rabbitmq_ct_helpers/BUILD.bazel b/deps/rabbitmq_ct_helpers/BUILD.bazel
index b006c43f27..701a91d2aa 100644
--- a/deps/rabbitmq_ct_helpers/BUILD.bazel
+++ b/deps/rabbitmq_ct_helpers/BUILD.bazel
@@ -7,4 +7,8 @@ erlang_lib(
"//deps/rabbit_common:bazel_erlang_lib",
"@proper//:bazel_erlang_lib",
],
+ extra_priv = [
+ "tools/tls-certs/Makefile",
+ "tools/tls-certs/openssl.cnf.in",
+ ],
)
diff --git a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl
index 717637b85a..12e7a158c8 100644
--- a/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl
+++ b/deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl
@@ -482,7 +482,9 @@ load_rabbitmqctl_app(Config) ->
Config;
{error, {already_loaded, rabbitmqctl}} ->
Config;
- {error, _} ->
+ {error, Reason} ->
+ ct:pal(?LOW_IMPORTANCE,
+ "Failed to load rabbitmqctl application: ~p", [Reason]),
{skip, "Application rabbitmqctl could not be loaded, " ++
"please place compiled rabbitmq_cli on the code path"}
end.
diff --git a/deps/rabbitmq_ct_helpers/tools/tls-certs/BUILD.bazel b/deps/rabbitmq_ct_helpers/tools/tls-certs/BUILD.bazel
deleted file mode 100644
index 0495ada921..0000000000
--- a/deps/rabbitmq_ct_helpers/tools/tls-certs/BUILD.bazel
+++ /dev/null
@@ -1,4 +0,0 @@
-exports_files([
- "Makefile",
- "openssl.cnf.in",
-])
diff --git a/deps/rabbitmq_stomp/BUILD.bazel b/deps/rabbitmq_stomp/BUILD.bazel
index d291d799b4..8f47109c9b 100644
--- a/deps/rabbitmq_stomp/BUILD.bazel
+++ b/deps/rabbitmq_stomp/BUILD.bazel
@@ -88,6 +88,7 @@ erlc(
"src/**/*.hrl",
]),
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
+ dest = "test",
deps = [
":test_bazel_erlang_lib",
"@lager//:bazel_erlang_lib",
diff --git a/deps/rabbitmq_web_dispatch/BUILD.bazel b/deps/rabbitmq_web_dispatch/BUILD.bazel
index 56e41882cd..4e16ad0d71 100644
--- a/deps/rabbitmq_web_dispatch/BUILD.bazel
+++ b/deps/rabbitmq_web_dispatch/BUILD.bazel
@@ -43,9 +43,6 @@ test_erlang_lib(
app_name = APP_NAME,
app_version = APP_VERSION,
extra_apps = EXTRA_APPS,
- extra_priv = [
- "test/priv/www/index.html",
- ],
deps = DEPS,
)
@@ -84,6 +81,9 @@ suites = [
rabbitmq_integration_suite(
PACKAGE,
name = "rabbit_web_dispatch_SUITE",
+ data = [
+ "test/priv/www/index.html",
+ ],
),
rabbitmq_suite(
name = "rabbit_web_dispatch_unit_SUITE",
diff --git a/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl b/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl
index 17d50f81db..115c0cfbac 100644
--- a/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl
+++ b/deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl
@@ -71,12 +71,9 @@ query_static_resource_test1(Host, Port) ->
rabbit_web_dispatch:register_static_context(test, [{port, Port}],
"rabbit_web_dispatch_test",
?MODULE, "test/priv/www", "Test"),
- inets:start(),
{ok, {_Status, _Headers, Body}} =
httpc:request(format("http://~s:~w/rabbit_web_dispatch_test/index.html", [Host, Port])),
- ?assert(string:str(Body, "RabbitMQ HTTP Server Test Page") /= 0),
-
- passed.
+ ?assertMatch(I when I > 0, string:str(Body, "RabbitMQ HTTP Server Test Page")).
add_idempotence_test(Config) ->
Port = rabbit_ct_broker_helpers:get_node_config(Config, 0, tcp_port_http_extra),
diff --git a/deps/rabbitmq_web_mqtt/BUILD.bazel b/deps/rabbitmq_web_mqtt/BUILD.bazel
index b1dc68c15e..c72fd14d22 100644
--- a/deps/rabbitmq_web_mqtt/BUILD.bazel
+++ b/deps/rabbitmq_web_mqtt/BUILD.bazel
@@ -68,6 +68,7 @@ erlc(
name = "test_utils",
srcs = glob(["test/src/*.erl"]),
hdrs = glob(["test/src/*.hrl"]),
+ dest = "test",
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
deps = [
"@lager//:bazel_erlang_lib",
diff --git a/rabbitmq.bzl b/rabbitmq.bzl
index 2cc466f5f0..f973f82b89 100644
--- a/rabbitmq.bzl
+++ b/rabbitmq.bzl
@@ -152,10 +152,7 @@ def rabbitmq_integration_suite(
erlc_opts = RABBITMQ_TEST_ERLC_OPTS + erlc_opts,
additional_hdrs = additional_hdrs,
additional_srcs = additional_srcs,
- data = [
- "//deps/rabbitmq_ct_helpers/tools/tls-certs:Makefile",
- "//deps/rabbitmq_ct_helpers/tools/tls-certs:openssl.cnf.in",
- ] + data,
+ data = data,
test_env = dict({
"SKIP_MAKE_TEST_DIST": "true",
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
@@ -185,10 +182,7 @@ def rabbitmq_integration_suite(
name = name + "-mixed",
suite_name = name,
tags = tags + ["mixed-version-cluster"],
- data = [
- "//deps/rabbitmq_ct_helpers/tools/tls-certs:Makefile",
- "//deps/rabbitmq_ct_helpers/tools/tls-certs:openssl.cnf.in",
- ] + data,
+ data = data,
test_env = dict({
"SKIP_MAKE_TEST_DIST": "true",
"RABBITMQ_FEATURE_FLAGS": "",