diff options
author | Philip Kuryloski <kuryloskip@vmware.com> | 2021-11-02 16:04:06 +0100 |
---|---|---|
committer | mergify-bot <noreply@mergify.io> | 2021-11-18 20:24:50 +0000 |
commit | f35874803c2e201c10bb1df18da0875b0b373275 (patch) | |
tree | 7450c2baeeded32229631e8208f6f2a6d996bd0c | |
parent | 0c95aa8b606eef76db3ffd8f66b04417760f8e2a (diff) | |
download | rabbitmq-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.md | 2 | ||||
-rw-r--r-- | deps/rabbitmq_cli/rabbitmqctl.bzl | 2 | ||||
-rw-r--r-- | deps/rabbitmq_ct_helpers/BUILD.bazel | 4 | ||||
-rw-r--r-- | deps/rabbitmq_ct_helpers/src/rabbit_ct_helpers.erl | 4 | ||||
-rw-r--r-- | deps/rabbitmq_ct_helpers/tools/tls-certs/BUILD.bazel | 4 | ||||
-rw-r--r-- | deps/rabbitmq_stomp/BUILD.bazel | 1 | ||||
-rw-r--r-- | deps/rabbitmq_web_dispatch/BUILD.bazel | 6 | ||||
-rw-r--r-- | deps/rabbitmq_web_dispatch/test/rabbit_web_dispatch_SUITE.erl | 5 | ||||
-rw-r--r-- | deps/rabbitmq_web_mqtt/BUILD.bazel | 1 | ||||
-rw-r--r-- | rabbitmq.bzl | 10 |
10 files changed, 17 insertions, 22 deletions
@@ -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": "", |