Add a partial Bazel build (#2938)
Adds WORKSPACE.bazel, BUILD.bazel & *.bzl files for partial build & test with Bazel. Introduces a build-time dependency on https://github.com/rabbitmq/bazel-erlang
This commit is contained in:
parent
e98b343095
commit
388654c542
|
@ -1,52 +0,0 @@
|
|||
name: Workflow Base Images
|
||||
on:
|
||||
- workflow_dispatch
|
||||
jobs:
|
||||
ci-base:
|
||||
name: ci-base
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "22.3"
|
||||
- "23.1"
|
||||
fail-fast: false
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v2
|
||||
- name: Set up QEMU
|
||||
uses: docker/setup-qemu-action@v1
|
||||
- name: Set up Docker Buildx
|
||||
uses: docker/setup-buildx-action@v1
|
||||
- name: Cache Docker layers
|
||||
uses: actions/cache@v2
|
||||
with:
|
||||
path: /tmp/.buildx-cache
|
||||
key: ${{ runner.os }}-buildx-${{ github.sha }}
|
||||
restore-keys: |
|
||||
${{ runner.os }}-buildx-
|
||||
- name: Login to GCR
|
||||
uses: docker/login-action@v1
|
||||
with:
|
||||
registry: eu.gcr.io
|
||||
username: _json_key
|
||||
password: ${{ secrets.GCR_JSON_KEY }}
|
||||
- name: CREATE ERLANG+ELIXIR IMAGE (${{ matrix.erlang_version }})
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
file: ci/dockerfiles/${{ matrix.erlang_version }}/erlang_elixir
|
||||
tags: eu.gcr.io/cf-rabbitmq-core/erlang_elixir:${{ matrix.erlang_version }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
||||
- name: CREATE BASE CI IMAGE (${{ matrix.erlang_version }})
|
||||
uses: docker/build-push-action@v2
|
||||
with:
|
||||
push: true
|
||||
file: ci/dockerfiles/ci-base
|
||||
build-args: |
|
||||
ERLANG_VERSION=${{ matrix.erlang_version }}
|
||||
SECONDARY_UMBRELLA_GITREFS=v3.7.28 v3.8.9
|
||||
tags: eu.gcr.io/cf-rabbitmq-core/ci-base:${{ matrix.erlang_version }}
|
||||
cache-from: type=local,src=/tmp/.buildx-cache
|
||||
cache-to: type=local,dest=/tmp/.buildx-cache
|
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,54 @@
|
|||
name: Test
|
||||
on: push
|
||||
jobs:
|
||||
test:
|
||||
name: test
|
||||
runs-on: ubuntu-18.04
|
||||
strategy:
|
||||
matrix:
|
||||
erlang_version:
|
||||
- "23"
|
||||
timeout-minutes: 60
|
||||
steps:
|
||||
- name: CHECKOUT REPOSITORY
|
||||
uses: actions/checkout@v2
|
||||
- name: CONFIGURE BAZEL
|
||||
run: |
|
||||
echo "${{ secrets.BUILDBUDDY_CERT }}" > buildbuddy-cert.pem
|
||||
echo "${{ secrets.BUILDBUDDY_KEY }}" > buildbuddy-key.pem
|
||||
cat << EOF >> .bazelrc
|
||||
build --remote_executor=grpcs://cloud.buildbuddy.io
|
||||
build --host_platform=//:erlang_${{ matrix.erlang_version }}_platform
|
||||
build --platforms=//:erlang_${{ matrix.erlang_version }}_platform
|
||||
build --extra_execution_platforms=//:erlang_${{ matrix.erlang_version }}_platform
|
||||
|
||||
build --crosstool_top=@buildbuddy_toolchain//:toolchain
|
||||
build --extra_toolchains=@buildbuddy_toolchain//:cc_toolchain
|
||||
build --javabase=@buildbuddy_toolchain//:javabase_jdk8
|
||||
build --host_javabase=@buildbuddy_toolchain//:javabase_jdk8
|
||||
build --java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
|
||||
build --host_java_toolchain=@buildbuddy_toolchain//:toolchain_jdk8
|
||||
|
||||
build --@bazel-erlang//:erlang_version=${{ matrix.erlang_version }}
|
||||
build --@bazel-erlang//:erlang_home=/usr/lib/erlang
|
||||
build --//:elixir_home=/usr/local
|
||||
|
||||
build --bes_results_url=https://app.buildbuddy.io/invocation/
|
||||
build --bes_backend=grpcs://cloud.buildbuddy.io
|
||||
build --remote_cache=grpcs://cloud.buildbuddy.io
|
||||
build --tls_client_certificate=buildbuddy-cert.pem
|
||||
build --tls_client_key=buildbuddy-key.pem
|
||||
build --remote_timeout=1200
|
||||
|
||||
build --build_metadata=ROLE=CI
|
||||
build --remote_instance_name=buildbuddy-io/buildbuddy/ci
|
||||
build --spawn_strategy=remote
|
||||
build --jobs=50
|
||||
EOF
|
||||
#! - name: Setup tmate session
|
||||
#! uses: mxschmitt/action-tmate@v3
|
||||
- name: RUN TESTS
|
||||
run: |
|
||||
bazelisk test //... \
|
||||
--test_tag_filters=-exclusive \
|
||||
--verbose_failures
|
|
@ -72,3 +72,6 @@ rabbitmq-server-*.zip
|
|||
|
||||
traces*
|
||||
callgrand*
|
||||
|
||||
/.bazelrc
|
||||
/bazel-*
|
||||
|
|
|
@ -0,0 +1,71 @@
|
|||
# Experimental [Bazel](https://www.bazel.build/) build
|
||||
|
||||
From https://docs.bazel.build/versions/master/bazel-overview.html
|
||||
> Bazel is an open-source build and test tool similar to Make, Maven, and Gradle. It uses a human-readable, high-level build language. Bazel supports projects in multiple languages and builds outputs for multiple platforms. Bazel supports large codebases across multiple repositories, and large numbers of users.
|
||||
|
||||
## Why RabbitMQ + Bazel?
|
||||
|
||||
RabbitMQ, Tier1 plugins included, is a large codebase. The developer experience benefits from fast incremental compilation.
|
||||
|
||||
More importantly, RabbitMQ's test suite is large and takes hours if run on a single machine. Bazel allows tests to be run in parallel on a large number of remote workers if needed, and furthermore uses cached test results when branches of the codebase remain unchanged.
|
||||
|
||||
To the best of our knowledge Bazel does not provide built in Erlang or Elixir support, nor is there an available library of bazel rules. Therefore, we have defined our own rules in https://github.com/rabbitmq/bazel-erlang. Elixir compilation is handled as a special case within this repository. To use these rules, the location of your Erlang and Elixir installations must be indicated to the build (see below).
|
||||
|
||||
While most of work for running tests happens in Bazel, the suite still makes use of some external tools for commands, notably gnu `make` and `openssl`. Ideally we could bring all of these tools under bazel, so that the only tool needed would be `bazel` or `bazelisk`, but that will take some time.
|
||||
|
||||
## Install Bazelisk
|
||||
|
||||
On **macOS**:
|
||||
|
||||
`brew install bazelisk`
|
||||
|
||||
Otherwise:
|
||||
|
||||
https://docs.bazel.build/versions/master/install-bazelisk.html
|
||||
|
||||
Additionally, create a `.bazelrc` file with at least:
|
||||
|
||||
```
|
||||
build --@bazel-erlang//:erlang_home=/path/to/erlang/installation
|
||||
build --@bazel-erlang//:erlang_version=23.1
|
||||
build --@bazel-erlang//:elixir_home=/path/to/elixir/installation
|
||||
build --test_strategy=exclusive
|
||||
```
|
||||
|
||||
Additionally, on **macOS**, you will likely need to add
|
||||
|
||||
```
|
||||
build --spawn_strategy=local
|
||||
```
|
||||
|
||||
for certain `rabbitmq_cli` tests to pass. This is because `rabbitmqctl wait` shells out to 'ps', which is broken in the bazel macOS (https://github.com/bazelbuild/bazel/issues/7448).
|
||||
|
||||
## Run the broker
|
||||
|
||||
`bazel run broker`
|
||||
|
||||
## 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).
|
||||
|
||||
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/`.
|
||||
|
||||
### Run all tests
|
||||
|
||||
Note: This takes quite some time on a single machine.
|
||||
|
||||
`bazel test //...`
|
||||
|
||||
### Run tests in a 'package' and its 'subpackages'
|
||||
|
||||
**rabbit** is an appropriate example because it encloses the **rabbitmq_prelaunch** application.
|
||||
|
||||
`bazel test deps/rabbit/...`
|
||||
|
||||
### Run tests for a specific 'package'
|
||||
|
||||
`bazel test deps/rabbit_common:all`
|
||||
|
||||
### Run an individual common test suite
|
||||
|
||||
`bazel test //deps/rabbit:lazy_queue_SUITE`
|
|
@ -0,0 +1,124 @@
|
|||
load("elixir_home.bzl", "elixir_home")
|
||||
load(":rabbitmq_home.bzl", "rabbitmq_home")
|
||||
load(":rabbitmq_run.bzl", "rabbitmq_run", "rabbitmq_run_command")
|
||||
load(":rabbitmqctl.bzl", "rabbitmqctl")
|
||||
load(":rabbitmq.bzl", "management_plugins", "required_plugins")
|
||||
|
||||
exports_files([
|
||||
"scripts/bazel/rabbitmq-run.sh",
|
||||
])
|
||||
|
||||
# This allows us to
|
||||
# `bazel build //my/target \
|
||||
# --//:elixir_home=/path/to/elixir/installation`
|
||||
elixir_home(
|
||||
name = "elixir_home",
|
||||
build_setting_default = "~/.kiex/elixirs/elixir-1.10.4",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_22_platform",
|
||||
constraint_values = [
|
||||
"@platforms//os:linux",
|
||||
"@platforms//cpu:x86_64",
|
||||
"@bazel_tools//tools/cpp:clang",
|
||||
],
|
||||
exec_properties = {
|
||||
"OSFamily": "Linux",
|
||||
"container-image": "docker://pivotalrabbitmq/rabbitmq-server-buildenv:linux-erlang-22.3",
|
||||
},
|
||||
)
|
||||
|
||||
platform(
|
||||
name = "erlang_23_platform",
|
||||
constraint_values = [
|
||||
"@platforms//os:linux",
|
||||
"@platforms//cpu:x86_64",
|
||||
"@bazel_tools//tools/cpp:clang",
|
||||
],
|
||||
exec_properties = {
|
||||
"OSFamily": "Linux",
|
||||
"container-image": "docker://pivotalrabbitmq/rabbitmq-server-buildenv:linux-erlang-23.2",
|
||||
},
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-home",
|
||||
plugins = required_plugins(rabbitmq_workspace = "@"),
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-management-home",
|
||||
plugins = required_plugins(rabbitmq_workspace = "@") + management_plugins(rabbitmq_workspace = "@"),
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-for-tests-home",
|
||||
testonly = True,
|
||||
plugins = [
|
||||
"//deps/rabbit:test_bazel_erlang_lib", # <- compiled with test erlc_opts
|
||||
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
|
||||
"@inet_tcp_proxy//:bazel_erlang_lib",
|
||||
"@meck//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-for-cli-tests-home",
|
||||
plugins = required_plugins(rabbitmq_workspace = "@") + [
|
||||
"//deps/rabbitmq_federation:bazel_erlang_lib",
|
||||
"//deps/rabbitmq_stomp:bazel_erlang_lib",
|
||||
"//deps/amqp_client:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-run",
|
||||
home = ":broker-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-management-run",
|
||||
home = ":broker-management-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-for-tests-run",
|
||||
testonly = True,
|
||||
home = ":broker-for-tests-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-for-cli-tests-run",
|
||||
testonly = True,
|
||||
home = ":broker-for-cli-tests-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
# Allow us to `bazel run broker`
|
||||
# for the equivalent of `make run-broker`
|
||||
# (though it as of yet includes no plugins)
|
||||
rabbitmq_run_command(
|
||||
name = "broker",
|
||||
rabbitmq_run = ":rabbitmq-run",
|
||||
subcommand = "run-broker",
|
||||
)
|
||||
|
||||
# `bazel run broker-management` for the broker with just the
|
||||
# management plugin
|
||||
rabbitmq_run_command(
|
||||
name = "broker-management",
|
||||
rabbitmq_run = ":rabbitmq-management-run",
|
||||
subcommand = "run-broker",
|
||||
)
|
||||
|
||||
# `bazel run rabbitmqctl`
|
||||
rabbitmqctl(
|
||||
name = "rabbitmqctl",
|
||||
home = ":broker-home",
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
|
@ -0,0 +1,8 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
|
||||
|
||||
erlang_lib(
|
||||
app_name = "inet_tcp_proxy_dist",
|
||||
app_version = "0.1.0",
|
||||
app_description = "Erlang distribution proxy to simulate network failures",
|
||||
app_module = "inet_tcp_proxy_dist_app",
|
||||
)
|
|
@ -0,0 +1,23 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
|
||||
|
||||
APP_ENV = """[
|
||||
{data_dir, "/tmp/osiris"},
|
||||
{port_range, {6000, 6500}}
|
||||
]"""
|
||||
|
||||
DEPS = [
|
||||
"@gen_batch_server//:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
erlang_lib(
|
||||
app_name = "osiris",
|
||||
app_version = "master",
|
||||
app_description = "New project",
|
||||
app_module = "osiris_app",
|
||||
app_env = APP_ENV,
|
||||
extra_apps = [
|
||||
"sasl",
|
||||
"crypto",
|
||||
],
|
||||
deps = DEPS,
|
||||
)
|
|
@ -0,0 +1,33 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
|
||||
|
||||
DEPS = [
|
||||
"@gen_batch_server//:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"@aten//:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
NAME = "ra"
|
||||
|
||||
FIRST_SRCS = [
|
||||
"src/ra_machine.erl",
|
||||
"src/ra_snapshot.erl",
|
||||
]
|
||||
|
||||
erlang_lib(
|
||||
app_name = NAME,
|
||||
first_srcs = FIRST_SRCS,
|
||||
deps = DEPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
)
|
||||
|
||||
test_erlang_lib(
|
||||
app_name = NAME,
|
||||
first_srcs = FIRST_SRCS,
|
||||
erlc_opts = [
|
||||
"+debug_info",
|
||||
],
|
||||
deps = DEPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
)
|
|
@ -0,0 +1,48 @@
|
|||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
http_archive(
|
||||
name = "io_buildbuddy_buildbuddy_toolchain",
|
||||
sha256 = "48546946879b1fd2dcba327ba15776c822f2ce9a9ef1077be9bf3ecadcc1564a",
|
||||
strip_prefix = "buildbuddy-toolchain-b2f5e7e3b126c6d7cf243227147478c0959bfc95",
|
||||
urls = ["https://github.com/buildbuddy-io/buildbuddy-toolchain/archive/b2f5e7e3b126c6d7cf243227147478c0959bfc95.zip"],
|
||||
)
|
||||
|
||||
load("@io_buildbuddy_buildbuddy_toolchain//:deps.bzl", "buildbuddy_deps")
|
||||
|
||||
buildbuddy_deps()
|
||||
|
||||
load("@io_buildbuddy_buildbuddy_toolchain//:rules.bzl", "buildbuddy")
|
||||
|
||||
buildbuddy(name = "buildbuddy_toolchain")
|
||||
|
||||
http_archive(
|
||||
name = "bazel-erlang",
|
||||
strip_prefix = "bazel-erlang-master",
|
||||
urls = ["https://github.com/rabbitmq/bazel-erlang/archive/master.zip"],
|
||||
)
|
||||
|
||||
load("//:workspace_helpers.bzl", "rabbitmq_external_deps")
|
||||
|
||||
rabbitmq_external_deps(rabbitmq_workspace = "@")
|
||||
|
||||
http_archive(
|
||||
name = "rabbitmq_ct_helpers",
|
||||
repo_mapping = {
|
||||
"@rabbitmq-server": "@",
|
||||
},
|
||||
strip_prefix = "rabbitmq-ct-helpers-bazel",
|
||||
urls = ["https://github.com/rabbitmq/rabbitmq-ct-helpers/archive/bazel.zip"],
|
||||
)
|
||||
|
||||
http_archive(
|
||||
name = "rabbitmq_ct_client_helpers",
|
||||
repo_mapping = {
|
||||
"@rabbitmq-server": "@",
|
||||
},
|
||||
strip_prefix = "rabbitmq-ct-client-helpers-bazel",
|
||||
urls = ["https://github.com/rabbitmq/rabbitmq-ct-client-helpers/archive/bazel.zip"],
|
||||
)
|
||||
|
||||
load("//deps/amqp10_client:activemq.bzl", "activemq_archive")
|
||||
|
||||
activemq_archive()
|
|
@ -0,0 +1,117 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
|
||||
load("@bazel-erlang//:ct.bzl", "ct_suite")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
load("//:rabbitmq_run.bzl", "rabbitmq_run")
|
||||
load("//:rabbitmq.bzl", "APP_VERSION")
|
||||
|
||||
APP_NAME = "amqp10_client"
|
||||
|
||||
APP_DESCRIPTION = "AMQP 1.0 client from the RabbitMQ Project"
|
||||
|
||||
APP_MODULE = "amqp10_client_app"
|
||||
|
||||
EXTRA_APPS = [
|
||||
"ssl",
|
||||
"inets",
|
||||
"crypto",
|
||||
]
|
||||
|
||||
ERLC_OPTS = [
|
||||
# "-Dnowarn_deprecated_gen_fsm",
|
||||
]
|
||||
|
||||
TEST_ERLC_OPTS = [
|
||||
"+nowarn_export_all",
|
||||
]
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
DEPS = [
|
||||
"//deps/amqp10_common:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
erlang_lib(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
build_deps = BUILD_DEPS,
|
||||
erlc_opts = ERLC_OPTS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
test_erlang_lib(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
build_deps = BUILD_DEPS,
|
||||
erlc_opts = ERLC_OPTS,
|
||||
extra_apps = EXTRA_APPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "msg_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
},
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-for-tests-home",
|
||||
plugins = [
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
"//deps/rabbitmq_amqp1_0:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-for-tests-run",
|
||||
home = ":broker-for-tests-home",
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
size = "large",
|
||||
additional_hdrs = [
|
||||
"src/amqp10_client.hrl",
|
||||
],
|
||||
additional_srcs = [
|
||||
"test/activemq_ct_helpers.erl",
|
||||
"test/mock_server.erl",
|
||||
],
|
||||
data = [
|
||||
"@activemq//:bin_dir",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS + [
|
||||
"-I deps/amqp10_client",
|
||||
],
|
||||
suite_name = "system_SUITE",
|
||||
# does not pass remotely. marking exclusive until we have logs from remote runs
|
||||
tags = ["exclusive"],
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/amqp10_client/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/amqp10_client/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/amqp10_client/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
"ACTIVEMQ": "$TEST_SRCDIR/$TEST_WORKSPACE/external/activemq/bin/activemq",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
deps = DEPS + [
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
|
@ -0,0 +1,19 @@
|
|||
load("@bazel_tools//tools/build_defs/repo:http.bzl", "http_archive")
|
||||
|
||||
ACTIVEMQ_VERSION = "5.14.4"
|
||||
ACTIVEMQ_URL = "https://archive.apache.org/dist/activemq/{version}/apache-activemq-{version}-bin.tar.gz".format(version = ACTIVEMQ_VERSION)
|
||||
SHA_256 = "16ec52bece0a4759f9d70f4132d7d8da67d662e4af029081c492e65510a695c1"
|
||||
|
||||
def activemq_archive():
|
||||
http_archive(
|
||||
name = "activemq",
|
||||
urls = [ACTIVEMQ_URL],
|
||||
sha256 = SHA_256,
|
||||
strip_prefix = "apache-activemq-{}".format(ACTIVEMQ_VERSION),
|
||||
build_file_content = """filegroup(
|
||||
name = "bin_dir",
|
||||
srcs = glob(["bin/**/*"]),
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
""",
|
||||
)
|
|
@ -0,0 +1,74 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "app_file", "bazel_erlang_lib", "erlc")
|
||||
load("@bazel-erlang//:ct.bzl", "ct_suite")
|
||||
load("//:rabbitmq.bzl", "APP_VERSION")
|
||||
|
||||
py_binary(
|
||||
name = "codegen",
|
||||
srcs = [
|
||||
"codegen.py",
|
||||
],
|
||||
imports = ["../../deps/rabbitmq_codegen"],
|
||||
deps = [
|
||||
"//deps/rabbitmq_codegen:amqp_codegen",
|
||||
],
|
||||
)
|
||||
|
||||
AMQP_SPEC_1_0 = [
|
||||
"//deps/rabbitmq_codegen:amqp-1.0/messaging.xml",
|
||||
"//deps/rabbitmq_codegen:amqp-1.0/security.xml",
|
||||
"//deps/rabbitmq_codegen:amqp-1.0/transport.xml",
|
||||
"//deps/rabbitmq_codegen:amqp-1.0/transactions.xml",
|
||||
]
|
||||
|
||||
genrule(
|
||||
name = "generated_headers",
|
||||
srcs = AMQP_SPEC_1_0,
|
||||
outs = ["include/amqp10_framing.hrl"],
|
||||
cmd = "$(location :codegen) hrl $(SRCS) > $@",
|
||||
tools = [":codegen"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "generated_sources",
|
||||
srcs = AMQP_SPEC_1_0,
|
||||
outs = ["src/amqp10_framing0.erl"],
|
||||
cmd = "$(location :codegen) erl $(SRCS) > $@",
|
||||
tools = [":codegen"],
|
||||
)
|
||||
|
||||
app_file(
|
||||
name = "app_file",
|
||||
app_description = "Modules shared by rabbitmq-amqp1.0 and rabbitmq-amqp1.0-client",
|
||||
app_name = "amqp10_common",
|
||||
app_version = APP_VERSION,
|
||||
modules = [":beam_files"],
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "beam_files",
|
||||
srcs = ["src/amqp10_framing0.erl"] + glob(["src/*.erl"]),
|
||||
hdrs = ["include/amqp10_framing.hrl"] + glob(["include/*.hrl"]),
|
||||
dest = "ebin",
|
||||
)
|
||||
|
||||
bazel_erlang_lib(
|
||||
name = "bazel_erlang_lib",
|
||||
hdrs = ["include/amqp10_framing.hrl"] + glob(["include/*.hrl"]),
|
||||
app = ":app_file",
|
||||
app_name = "amqp10_common",
|
||||
beam = [":beam_files"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
bazel_erlang_lib(
|
||||
name = "test_bazel_erlang_lib",
|
||||
hdrs = ["include/amqp10_framing.hrl"] + glob(["include/*.hrl"]),
|
||||
app = ":app_file",
|
||||
app_name = "amqp10_common",
|
||||
beam = [":beam_files"],
|
||||
visibility = ["//visibility:public"],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
suite_name = "binary_generator_SUITE",
|
||||
)
|
|
@ -0,0 +1,70 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "erlc")
|
||||
load("@bazel-erlang//:ct.bzl", "ct_suite")
|
||||
load("//:rabbitmq.bzl", "APP_VERSION", "RABBITMQ_TEST_ERLC_OPTS", "rabbitmq_lib")
|
||||
|
||||
APP_ENV = """[
|
||||
{prefer_ipv6, false},
|
||||
{ssl_options, []},
|
||||
{writer_gc_threshold, 1000000000}
|
||||
]"""
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
rabbitmq_lib(
|
||||
app_description = "RabbitMQ AMQP Client",
|
||||
app_env = APP_ENV,
|
||||
app_module = "amqp_client",
|
||||
app_name = "amqp_client",
|
||||
app_registered = [
|
||||
"amqp_sup",
|
||||
],
|
||||
extra_apps = [
|
||||
"xmerl",
|
||||
],
|
||||
first_srcs = [
|
||||
"src/amqp_gen_connection.erl",
|
||||
"src/amqp_gen_consumer.erl",
|
||||
],
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
size = "large",
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
|
||||
suite_name = "system_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
"//:rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@meck//:bazel_erlang_lib",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
size = "small",
|
||||
erlc_opts = RABBITMQ_TEST_ERLC_OPTS,
|
||||
suite_name = "unit_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
},
|
||||
runtime_deps = [
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
],
|
||||
deps = DEPS,
|
||||
)
|
|
@ -129,8 +129,12 @@ end_per_suite(Config) ->
|
|||
] ++ rabbit_ct_broker_helpers:teardown_steps()).
|
||||
|
||||
ensure_amqp_client_srcdir(Config) ->
|
||||
rabbit_ct_helpers:ensure_application_srcdir(Config,
|
||||
amqp_client, amqp_client).
|
||||
case rabbit_ct_helpers:get_config(Config, rabbitmq_run_cmd) of
|
||||
undefined ->
|
||||
rabbit_ct_helpers:ensure_application_srcdir(Config,
|
||||
amqp_client, amqp_client);
|
||||
_ -> Config
|
||||
end.
|
||||
|
||||
create_unauthorized_user(Config) ->
|
||||
Cmd = ["add_user", ?UNAUTHORIZED_USER, ?UNAUTHORIZED_USER],
|
||||
|
@ -1568,30 +1572,28 @@ wait_until_net_ticktime(NetTicktime) ->
|
|||
throw({error, {net_ticktime_not_set, NetTicktime}})
|
||||
end.
|
||||
|
||||
set_resource_alarm(memory, Config) ->
|
||||
set_resource_alarm(Resource, Config)
|
||||
when Resource =:= memory orelse Resource =:= disk ->
|
||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
||||
{ok, _} = rabbit_ct_helpers:make(Config, SrcDir, [
|
||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||
"set-resource-alarm", "SOURCE=memory"]);
|
||||
set_resource_alarm(disk, Config) ->
|
||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
||||
{ok, _} = rabbit_ct_helpers:make(Config, SrcDir, [
|
||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||
"set-resource-alarm", "SOURCE=disk"]).
|
||||
Cmd = [{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||
"set-resource-alarm",
|
||||
{"SOURCE=~s", [Resource]}],
|
||||
{ok, _} = case os:getenv("RABBITMQ_RUN") of
|
||||
false -> rabbit_ct_helpers:make(Config, SrcDir, Cmd);
|
||||
Run -> rabbit_ct_helpers:exec([Run | Cmd])
|
||||
end.
|
||||
|
||||
clear_resource_alarm(memory, Config) ->
|
||||
clear_resource_alarm(Resource, Config)
|
||||
when Resource =:= memory orelse Resource =:= disk ->
|
||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
||||
{ok, _}= rabbit_ct_helpers:make(Config, SrcDir, [
|
||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||
"clear-resource-alarm", "SOURCE=memory"]);
|
||||
clear_resource_alarm(disk, Config) ->
|
||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
||||
{ok, _}= rabbit_ct_helpers:make(Config, SrcDir, [
|
||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||
"clear-resource-alarm", "SOURCE=disk"]).
|
||||
Cmd = [{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||
"clear-resource-alarm",
|
||||
{"SOURCE=~s", [Resource]}],
|
||||
{ok, _} = case os:getenv("RABBITMQ_RUN") of
|
||||
false -> rabbit_ct_helpers:make(Config, SrcDir, Cmd);
|
||||
Run -> rabbit_ct_helpers:exec([Run | Cmd])
|
||||
end.
|
||||
|
||||
fmt(Fmt, Args) -> list_to_binary(rabbit_misc:format(Fmt, Args)).
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,17 @@
|
|||
load("//:rabbitmq.bzl", "rabbitmq_lib")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"@jsx//:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
rabbitmq_lib(
|
||||
app_description = "RabbitMQ prelaunch setup",
|
||||
app_module = "rabbit_prelaunch_app",
|
||||
app_name = "rabbitmq_prelaunch",
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
)
|
|
@ -270,8 +270,8 @@
|
|||
|
||||
%%---------------------------------------------------------------------------
|
||||
|
||||
-include("rabbit_framing.hrl").
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(APPS, [os_mon, mnesia, rabbit_common, rabbitmq_prelaunch, ra, sysmon_handler, rabbit, osiris]).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_access_control).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([check_user_pass_login/2, check_user_login/2, check_user_loopback/2,
|
||||
check_vhost_access/4, check_resource_access/4, check_topic_access/4]).
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(SERVER, ?MODULE).
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_auth_backend_internal).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_authn_backend).
|
||||
-behaviour(rabbit_authz_backend).
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_auth_mechanism_amqplain).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_auth_mechanism).
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_auth_mechanism_cr_demo).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_auth_mechanism).
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_auth_mechanism_plain).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_auth_mechanism).
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_basic).
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
|
||||
-export([publish/4, publish/5, publish/1,
|
||||
message/3, message/4, properties/1, prepend_table_header/3,
|
||||
|
|
|
@ -7,8 +7,8 @@
|
|||
|
||||
-module(rabbit_channel_interceptor).
|
||||
|
||||
-include("rabbit_framing.hrl").
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([init/1, intercept_in/3]).
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -32,7 +32,7 @@
|
|||
get_all_tracked_channel_table_names_for_node/1,
|
||||
delete_tracked_channel_user_entry/1]).
|
||||
|
||||
-include_lib("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-import(rabbit_misc, [pget/2]).
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
-export([init/1, handle_call/2, handle_event/2, handle_info/2,
|
||||
terminate/2, code_change/3]).
|
||||
|
||||
-include_lib("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-rabbit_boot_step({?MODULE,
|
||||
[{description, "channel tracking event handler"},
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -24,7 +24,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -53,7 +53,7 @@
|
|||
lookup/1,
|
||||
count/0]).
|
||||
|
||||
-include_lib("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-import(rabbit_misc, [pget/2]).
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@
|
|||
%% for compatibility with previous versions of CLI tools
|
||||
-export([close_connections/3]).
|
||||
|
||||
-include_lib("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-rabbit_boot_step({?MODULE,
|
||||
[{description, "connection tracking event handler"},
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_credential_validation).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%% used for backwards compatibility
|
||||
-define(DEFAULT_BACKEND, rabbit_credential_validator_accept_everything).
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_credential_validator).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%% Validates a password. Used by `rabbit_auth_backend_internal`.
|
||||
%%
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_credential_validator_accept_everything).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_credential_validator).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_credential_validator_min_password_length).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_credential_validator).
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
%% password against a pre-configured regular expression.
|
||||
-module(rabbit_credential_validator_password_regexp).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_credential_validator).
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
-export([publish/5]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -18,8 +18,8 @@
|
|||
%% For testing only
|
||||
-export([extract_extra_auth_props/4]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_misc.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_misc.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_exchange).
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
|
||||
-export([recover/1, policy_changed/2, callback/4, declare/7,
|
||||
assert_equivalence/6, assert_args_equivalence/2, check_type/1,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_exchange_decorator).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([select/2, set/1]).
|
||||
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
-behaviour(rabbit_runtime_parameter).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([register/0]).
|
||||
-export([validate/5, notify/5, notify_clear/4]).
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_exchange_type_direct).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_exchange_type).
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_exchange_type_fanout).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_exchange_type).
|
||||
|
||||
|
|
|
@ -6,8 +6,8 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_exchange_type_headers).
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
|
||||
-behaviour(rabbit_exchange_type).
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_exchange_type_invalid).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_exchange_type).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_exchange_type_topic).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_exchange_type).
|
||||
|
||||
|
|
|
@ -110,7 +110,7 @@
|
|||
|
||||
-module(rabbit_limiter).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(gen_server2).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_maintenance).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([
|
||||
is_enabled/0,
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_mirror_queue_mode_all).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_mirror_queue_mode).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_mirror_queue_mode_exactly).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_mirror_queue_mode).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_mirror_queue_mode_nodes).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(rabbit_mirror_queue_mode).
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_mnesia_rename).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([rename/2]).
|
||||
-export([maybe_finish/1]).
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
-include("rabbit_msg_store.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_msg_store.hrl").
|
||||
|
||||
-define(INTEGER_SIZE_BYTES, 8).
|
||||
-define(INTEGER_SIZE_BITS, (8 * ?INTEGER_SIZE_BYTES)).
|
||||
|
|
|
@ -10,8 +10,8 @@
|
|||
message_annotation/3
|
||||
]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
||||
|
||||
-type maybe(T) :: T | undefined.
|
||||
|
|
|
@ -27,7 +27,7 @@
|
|||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
-include("rabbit_msg_store.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_msg_store.hrl").
|
||||
|
||||
-define(SYNC_INTERVAL, 25). %% milliseconds
|
||||
-define(CLEAN_FILENAME, "clean.dot").
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_msg_store_ets_index).
|
||||
|
||||
-include("rabbit_msg_store.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_msg_store.hrl").
|
||||
|
||||
-behaviour(rabbit_msg_store_index).
|
||||
|
||||
|
|
|
@ -22,7 +22,7 @@
|
|||
msg_store_state
|
||||
}).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -52,8 +52,8 @@
|
|||
connections_local/0
|
||||
]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_misc.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_misc.hrl").
|
||||
|
||||
%% IANA-suggested ephemeral port range is 49152 to 65535
|
||||
-define(FIRST_TEST_BIND_PORT, 49152).
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
%%
|
||||
|
||||
-module(rabbit_password).
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(DEFAULT_HASHING_MODULE, rabbit_password_hashing_sha256).
|
||||
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
-module(rabbit_peer_discovery_classic_config).
|
||||
-behaviour(rabbit_peer_discovery_backend).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([list_nodes/0, supports_registration/0, register/0, unregister/0,
|
||||
post_registration/0, lock/1, unlock/1]).
|
||||
|
|
|
@ -8,7 +8,7 @@
|
|||
-module(rabbit_peer_discovery_dns).
|
||||
-behaviour(rabbit_peer_discovery_backend).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([list_nodes/0, supports_registration/0, register/0, unregister/0,
|
||||
post_registration/0, lock/1, unlock/1]).
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
-behaviour(rabbit_policy_validator).
|
||||
-behaviour(rabbit_policy_merge_strategy).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([register/0, validate_policy/1, merge_policy_value/3]).
|
||||
|
||||
|
|
|
@ -212,7 +212,7 @@
|
|||
unacked
|
||||
}).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -23,7 +23,7 @@
|
|||
check_non_durable/1,
|
||||
run_checks/2]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include("amqqueue.hrl").
|
||||
|
||||
args_policy_lookup(Name, Resolve, Q) when ?is_amqqueue(Q) ->
|
||||
|
|
|
@ -70,7 +70,7 @@
|
|||
qname_to_internal_name/1]).
|
||||
|
||||
-include_lib("stdlib/include/qlc.hrl").
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include("amqqueue.hrl").
|
||||
|
||||
-type msg_id() :: non_neg_integer().
|
||||
|
|
|
@ -45,8 +45,8 @@
|
|||
%%
|
||||
%% Reader processes are special processes (in the OTP sense).
|
||||
|
||||
-include("rabbit_framing.hrl").
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([start_link/2, info_keys/0, info/1, info/2, force_event_refresh/2,
|
||||
shutdown/2]).
|
||||
|
|
|
@ -26,7 +26,7 @@
|
|||
-rabbit_upgrade({upgrade_recovery_terms, local, []}).
|
||||
-rabbit_upgrade({persistent_bytes, local, [upgrade_recovery_terms]}).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%%----------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(DELAY, 2).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_router).
|
||||
-include_lib("stdlib/include/qlc.hrl").
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([match_bindings/2, match_routing_key/2]).
|
||||
|
||||
|
|
|
@ -40,7 +40,7 @@
|
|||
%% * rabbit_registry
|
||||
%% * rabbit_event
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([parse_set/5, set/5, set_any/5, clear/4, clear_any/4, list/0, list/1,
|
||||
list_component/1, list/2, list_formatted/1, list_formatted/3,
|
||||
|
|
|
@ -18,7 +18,7 @@
|
|||
|
||||
-export([init/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(SERVER, ?MODULE).
|
||||
|
||||
|
|
|
@ -9,8 +9,8 @@
|
|||
|
||||
-export([init/1, enabled/1, tap_in/6, tap_out/5, start/1, stop/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
|
||||
-define(TRACE_VHOSTS, trace_vhosts).
|
||||
-define(XNAME, <<"amq.rabbitmq.trace">>).
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
maybe_migrate_queues_to_per_vhost_storage/0,
|
||||
nodes_running/1, secondary_upgrade/1]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(VERSION_FILENAME, "schema_version").
|
||||
-define(LOCK_FILENAME, "schema_upgrade_lock").
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
-behaviour(rabbit_runtime_parameter).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([register/0]).
|
||||
-export([parse_set/3, set/3, clear/2]).
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_vhost_msg_store).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([start/4, stop/2, client_init/5, successfully_recovered_state/2]).
|
||||
-export([vhost_store_pid/2]).
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
%% use the now recommended try/catch syntax for obtaining the stack trace.
|
||||
-compile(nowarn_deprecated_function).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-define(TICKTIME_RATIO, 4).
|
||||
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_vhost_sup).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
%% Each vhost gets an instance of this supervisor that supervises
|
||||
%% message stores and queues (via rabbit_amqqueue_sup_sup).
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(rabbit_vhost_sup_sup).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(supervisor2).
|
||||
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
-module(rabbit_vhost_sup_wrapper).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-behaviour(supervisor2).
|
||||
-export([init/1]).
|
||||
|
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
-module(term_to_binary_compat).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
-export([term_to_binary_1/1]).
|
||||
|
||||
|
|
|
@ -107,8 +107,8 @@
|
|||
}).
|
||||
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
|
||||
-define(QUEUE, lqueue).
|
||||
-define(TIMEOUT_TEST_MSG, <<"timeout_test_msg!">>).
|
||||
|
|
|
@ -9,7 +9,7 @@
|
|||
|
||||
-include_lib("common_test/include/ct.hrl").
|
||||
-include_lib("amqp_client/include/amqp_client.hrl").
|
||||
-include("include/amqqueue.hrl").
|
||||
-include("amqqueue.hrl").
|
||||
|
||||
-compile(export_all).
|
||||
|
||||
|
|
|
@ -12,7 +12,7 @@
|
|||
-export([init/1, handle_call/2, handle_event/2, handle_info/2,
|
||||
terminate/2, code_change/3]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
|
||||
start(Pid, Nodes, Types) ->
|
||||
Oks = [ok || _ <- Nodes],
|
||||
|
|
|
@ -117,7 +117,7 @@ init_per_group(clustering, Config) ->
|
|||
{rmq_nodes_clustered, false},
|
||||
{start_rmq_with_plugins_disabled, true}]),
|
||||
rabbit_ct_helpers:run_setup_steps(Config1, [
|
||||
fun build_my_plugin/1,
|
||||
fun prepare_my_plugin/1,
|
||||
fun work_around_cli_and_rabbit_circular_dep/1
|
||||
]);
|
||||
init_per_group(activating_plugin, Config) ->
|
||||
|
@ -127,7 +127,7 @@ init_per_group(activating_plugin, Config) ->
|
|||
{rmq_nodes_clustered, true},
|
||||
{start_rmq_with_plugins_disabled, true}]),
|
||||
rabbit_ct_helpers:run_setup_steps(Config1, [
|
||||
fun build_my_plugin/1,
|
||||
fun prepare_my_plugin/1,
|
||||
fun work_around_cli_and_rabbit_circular_dep/1
|
||||
]);
|
||||
init_per_group(_, Config) ->
|
||||
|
@ -985,6 +985,17 @@ activating_plugin_with_new_ff_enabled(Config) ->
|
|||
%% Internal helpers.
|
||||
%% -------------------------------------------------------------------
|
||||
|
||||
prepare_my_plugin(Config) ->
|
||||
case os:getenv("RABBITMQ_RUN") of
|
||||
false ->
|
||||
build_my_plugin(Config);
|
||||
_ ->
|
||||
MyPluginDir = filename:dirname(filename:dirname(code:where_is_file("my_plugin.app"))),
|
||||
PluginsDir = filename:dirname(MyPluginDir),
|
||||
rabbit_ct_helpers:set_config(Config,
|
||||
[{rmq_plugins_dir, PluginsDir}])
|
||||
end.
|
||||
|
||||
build_my_plugin(Config) ->
|
||||
PluginSrcDir = filename:join(?config(data_dir, Config), "my_plugin"),
|
||||
PluginsDir = filename:join(PluginSrcDir, "plugins"),
|
||||
|
|
|
@ -0,0 +1,13 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib")
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
erlang_lib(
|
||||
app_description = "Plugin to test feature flags",
|
||||
app_name = "my_plugin",
|
||||
app_version = "1.0.0",
|
||||
deps = DEPS,
|
||||
)
|
|
@ -97,8 +97,12 @@ hostname_discovery_with_short_node_names(_) ->
|
|||
|
||||
node_discovery_with_long_node_names(_) ->
|
||||
Result = rabbit_peer_discovery_dns:discover_nodes(?DISCOVERY_ENDPOINT_RECORD_A, true),
|
||||
?assert(lists:member('ct_rabbit@dns.google', Result)).
|
||||
?assert(lists:member(list_to_atom(sname() ++ "@dns.google"), Result)).
|
||||
|
||||
node_discovery_with_short_node_names(_) ->
|
||||
Result = rabbit_peer_discovery_dns:discover_nodes(?DISCOVERY_ENDPOINT_RECORD_A, false),
|
||||
?assert(lists:member(ct_rabbit@dns, Result)).
|
||||
?assert(lists:member(list_to_atom(sname() ++ "@dns"), Result)).
|
||||
|
||||
sname() ->
|
||||
[Sname | _] = string:split(atom_to_list(erlang:node()), "@"),
|
||||
Sname.
|
||||
|
|
|
@ -5,8 +5,8 @@
|
|||
-export([
|
||||
]).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include("rabbit_framing.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||
-include_lib("common_test/include/ct.hrl").
|
||||
-include_lib("eunit/include/eunit.hrl").
|
||||
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
|
||||
-compile(export_all).
|
||||
|
||||
-include("rabbit.hrl").
|
||||
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||
-include_lib("common_test/include/ct.hrl").
|
||||
-include_lib("proper/include/proper.hrl").
|
||||
|
||||
|
|
|
@ -0,0 +1,277 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "app_file", "bazel_erlang_lib", "erlc")
|
||||
load("@bazel-erlang//:ct.bzl", "ct_test")
|
||||
load("//:rabbitmq.bzl", "APP_VERSION", "RABBITMQ_ERLC_OPTS", "RABBITMQ_TEST_ERLC_OPTS")
|
||||
|
||||
py_binary(
|
||||
name = "codegen",
|
||||
srcs = [
|
||||
"codegen.py",
|
||||
],
|
||||
imports = ["../../deps/rabbitmq_codegen"],
|
||||
deps = [
|
||||
"//deps/rabbitmq_codegen:amqp_codegen",
|
||||
],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "generated_headers",
|
||||
srcs = [
|
||||
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.9.1.json",
|
||||
"//deps/rabbitmq_codegen:credit_extension.json",
|
||||
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.8.json",
|
||||
],
|
||||
outs = ["include/rabbit_framing.hrl"],
|
||||
cmd = "$(location :codegen) --ignore-conflicts header $(SRCS) $@",
|
||||
tools = [":codegen"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "rabbit_framing_amqp_0_9_1.erl",
|
||||
srcs = [
|
||||
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.9.1.json",
|
||||
"//deps/rabbitmq_codegen:credit_extension.json",
|
||||
],
|
||||
outs = ["src/rabbit_framing_amqp_0_9_1.erl"],
|
||||
cmd = "$(location :codegen) body $(SRCS) $@",
|
||||
tools = [":codegen"],
|
||||
)
|
||||
|
||||
genrule(
|
||||
name = "rabbit_framing_amqp_0_8.erl",
|
||||
srcs = [
|
||||
"//deps/rabbitmq_codegen:amqp-rabbitmq-0.8.json",
|
||||
],
|
||||
outs = ["src/rabbit_framing_amqp_0_8.erl"],
|
||||
cmd = "$(location :codegen) body $(SRCS) $@",
|
||||
tools = [":codegen"],
|
||||
)
|
||||
|
||||
DEPS = []
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"@jsx//:bazel_erlang_lib",
|
||||
"@recon//:bazel_erlang_lib",
|
||||
"@credentials_obfuscation//:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
APP_NAME = "rabbit_common"
|
||||
|
||||
HDRS = glob(["include/*.hrl"]) + ["include/rabbit_framing.hrl"]
|
||||
|
||||
app_file(
|
||||
name = "app_file",
|
||||
app_description = "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
extra_apps = [
|
||||
"compiler",
|
||||
"crypto",
|
||||
"public_key",
|
||||
"sasl",
|
||||
"ssl",
|
||||
"syntax_tools",
|
||||
"tools",
|
||||
"xmerl",
|
||||
],
|
||||
modules = [":beam_files"],
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
)
|
||||
|
||||
FIRST_SRCS = [
|
||||
"src/gen_server2.erl",
|
||||
"src/rabbit_authn_backend.erl",
|
||||
"src/rabbit_authz_backend.erl",
|
||||
"src/rabbit_registry_class.erl",
|
||||
]
|
||||
|
||||
erlc(
|
||||
name = "first_beam_files",
|
||||
srcs = glob(FIRST_SRCS),
|
||||
hdrs = HDRS,
|
||||
dest = "ebin",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "beam_files",
|
||||
srcs = glob(
|
||||
["src/*.erl"],
|
||||
exclude = FIRST_SRCS,
|
||||
) + [
|
||||
"src/rabbit_framing_amqp_0_8.erl",
|
||||
"src/rabbit_framing_amqp_0_9_1.erl",
|
||||
],
|
||||
hdrs = HDRS,
|
||||
beam = [":first_beam_files"],
|
||||
dest = "ebin",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
bazel_erlang_lib(
|
||||
name = "bazel_erlang_lib",
|
||||
hdrs = HDRS,
|
||||
app = ":app_file",
|
||||
app_name = APP_NAME,
|
||||
beam = [
|
||||
":first_beam_files",
|
||||
":beam_files",
|
||||
],
|
||||
visibility = ["//visibility:public"],
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "first_test_beam_files",
|
||||
testonly = True,
|
||||
srcs = glob(FIRST_SRCS),
|
||||
hdrs = HDRS,
|
||||
dest = "src",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "test_beam_files",
|
||||
testonly = True,
|
||||
srcs = glob(
|
||||
["src/*.erl"],
|
||||
exclude = FIRST_SRCS,
|
||||
) + [
|
||||
"src/rabbit_framing_amqp_0_8.erl",
|
||||
"src/rabbit_framing_amqp_0_9_1.erl",
|
||||
],
|
||||
hdrs = HDRS,
|
||||
beam = [":first_test_beam_files"],
|
||||
dest = "src",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
bazel_erlang_lib(
|
||||
name = "test_bazel_erlang_lib",
|
||||
testonly = True,
|
||||
hdrs = HDRS,
|
||||
app = ":app_file",
|
||||
app_name = APP_NAME,
|
||||
beam = [
|
||||
":first_test_beam_files",
|
||||
":test_beam_files",
|
||||
],
|
||||
visibility = ["//:__subpackages__"],
|
||||
deps = DEPS + RUNTIME_DEPS,
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "rabbit_env_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/rabbit_env_SUITE.erl"],
|
||||
hdrs = HDRS,
|
||||
dest = "test",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_test(
|
||||
name = "rabbit_env_SUITE",
|
||||
size = "small",
|
||||
compiled_suites = [":rabbit_env_SUITE_beam_files"],
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
"//deps/rabbit:test_bazel_erlang_lib",
|
||||
"@proper//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "supervisor2_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/supervisor2_SUITE.erl"],
|
||||
hdrs = HDRS,
|
||||
dest = "test",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_test(
|
||||
name = "supervisor2_SUITE",
|
||||
size = "small",
|
||||
compiled_suites = [":supervisor2_SUITE_beam_files"],
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "unit_priority_queue_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/unit_priority_queue_SUITE.erl"],
|
||||
hdrs = HDRS,
|
||||
dest = "test",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_test(
|
||||
name = "unit_priority_queue_SUITE",
|
||||
size = "small",
|
||||
compiled_suites = [":unit_priority_queue_SUITE_beam_files"],
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "unit_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = [
|
||||
"test/gen_server2_test_server.erl",
|
||||
"test/unit_SUITE.erl",
|
||||
],
|
||||
hdrs = HDRS,
|
||||
dest = "test",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
"@proper//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_test(
|
||||
name = "unit_SUITE",
|
||||
size = "medium",
|
||||
compiled_suites = [":unit_SUITE_beam_files"],
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
"@credentials_obfuscation//:bazel_erlang_lib",
|
||||
"@proper//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
erlc(
|
||||
name = "worker_pool_SUITE_beam_files",
|
||||
testonly = True,
|
||||
srcs = ["test/worker_pool_SUITE.erl"],
|
||||
hdrs = HDRS,
|
||||
dest = "test",
|
||||
erlc_opts = RABBITMQ_ERLC_OPTS + RABBITMQ_TEST_ERLC_OPTS,
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_test(
|
||||
name = "worker_pool_SUITE",
|
||||
size = "small",
|
||||
compiled_suites = [":worker_pool_SUITE_beam_files"],
|
||||
deps = [
|
||||
":test_bazel_erlang_lib",
|
||||
],
|
||||
)
|
|
@ -104,6 +104,10 @@ else
|
|||
RMQ_PLUGINS_DIR=$(CURDIR)/$(DIST_DIR)
|
||||
endif
|
||||
|
||||
ifdef EXTRA_PLUGINS_DIR
|
||||
RMQ_PLUGINS_DIR=$(RMQ_PLUGINS_DIR):$(EXTRA_PLUGINS_DIR)
|
||||
endif
|
||||
|
||||
define basic_script_env_settings
|
||||
MAKE="$(MAKE)" \
|
||||
ERL_LIBS="$(DIST_ERL_LIBS)" \
|
||||
|
|
|
@ -10,7 +10,7 @@
|
|||
-include_lib("kernel/include/file.hrl").
|
||||
-include_lib("kernel/include/logger.hrl").
|
||||
|
||||
-include("include/logging.hrl").
|
||||
-include("logging.hrl").
|
||||
|
||||
-export([get_context/0,
|
||||
get_context/1,
|
||||
|
|
|
@ -332,10 +332,11 @@ check_values_from_reachable_remote_node(Config) ->
|
|||
{atom_to_list(?FUNCTION_NAME), "localhost"}),
|
||||
NodeS = atom_to_list(Node),
|
||||
true = os:putenv("RABBITMQ_NODENAME", NodeS),
|
||||
RabbitCommonEbinDir = filename:dirname(code:which(rabbit_env)),
|
||||
Args = ["-noinput",
|
||||
"-sname", atom_to_list(Node),
|
||||
"-pa", RabbitCommonEbinDir,
|
||||
"-pa", filename:dirname(code:which(rabbit_env)),
|
||||
"-pa", filename:dirname(code:where_is_file("rabbit_common.app")),
|
||||
"-pa", filename:dirname(code:which(rabbit)),
|
||||
"-pa", RabbitEbinDir,
|
||||
"-mnesia", "dir",
|
||||
rabbit_misc:format("~p", [MnesiaDir]),
|
||||
|
|
|
@ -0,0 +1,186 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
|
||||
load("@bazel-erlang//:ct.bzl", "ct_suite")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
load("//:rabbitmq_run.bzl", "rabbitmq_run")
|
||||
load("//:rabbitmq.bzl", "APP_VERSION")
|
||||
|
||||
APP_ENV = """[
|
||||
{default_user, "guest"},
|
||||
{default_vhost, <<"/">>},
|
||||
{protocol_strict_mode, false}
|
||||
]"""
|
||||
|
||||
APP_NAME = "rabbitmq_amqp1_0"
|
||||
|
||||
APP_DESCRIPTION = "AMQP 1.0 support for RabbitMQ"
|
||||
|
||||
BUILD_DEPS = [
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
]
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
"//deps/amqp_client:bazel_erlang_lib",
|
||||
"//deps/amqp10_common:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
erlang_lib(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_env = APP_ENV,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
build_deps = BUILD_DEPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
test_erlang_lib(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_env = APP_ENV,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
build_deps = BUILD_DEPS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
TEST_ERLC_OPTS = [
|
||||
"+nowarn_export_all",
|
||||
]
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-for-tests-home",
|
||||
plugins = [
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
":bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-for-tests-run",
|
||||
home = ":broker-for-tests-home",
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "amqp10_client_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/amqp10_client:bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "command_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
deps = [
|
||||
"//deps/amqp10_common:bazel_erlang_lib",
|
||||
"//deps/amqp_client:bazel_erlang_lib",
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "proxy_protocol_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "system_SUITE",
|
||||
# will not pass remotely until we have dotnet in the image
|
||||
tags = [
|
||||
"dotnet",
|
||||
"exclusive",
|
||||
],
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_amqp1_0/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "unit_SUITE",
|
||||
deps = [
|
||||
"//deps/amqp10_common:bazel_erlang_lib",
|
||||
],
|
||||
)
|
|
@ -0,0 +1,131 @@
|
|||
load("@bazel-erlang//:bazel_erlang_lib.bzl", "erlang_lib", "test_erlang_lib")
|
||||
load("@bazel-erlang//:ct.bzl", "ct_suite")
|
||||
load("//:rabbitmq_home.bzl", "rabbitmq_home")
|
||||
load("//:rabbitmq_run.bzl", "rabbitmq_run")
|
||||
load("//:rabbitmq.bzl", "APP_VERSION")
|
||||
|
||||
APP_ENV = """[
|
||||
{cache_ttl, 15000},
|
||||
{cache_module, rabbit_auth_cache_ets},
|
||||
{cache_module_args, []},
|
||||
{cached_backend, rabbit_auth_backend_internal},
|
||||
{cache_refusals, false}
|
||||
]"""
|
||||
|
||||
APP_NAME = "rabbitmq_auth_backend_cache"
|
||||
|
||||
APP_DESCRIPTION = "RabbitMQ Authentication Backend cache"
|
||||
|
||||
APP_MODULE = "rabbit_auth_backend_cache_app"
|
||||
|
||||
DEPS = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
RUNTIME_DEPS = [
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
]
|
||||
|
||||
FIRST_SRCS = [
|
||||
"src/rabbit_auth_cache.erl",
|
||||
]
|
||||
|
||||
erlang_lib(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_env = APP_ENV,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
first_srcs = FIRST_SRCS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
test_erlang_lib(
|
||||
app_description = APP_DESCRIPTION,
|
||||
app_env = APP_ENV,
|
||||
app_module = APP_MODULE,
|
||||
app_name = APP_NAME,
|
||||
app_version = APP_VERSION,
|
||||
first_srcs = FIRST_SRCS,
|
||||
runtime_deps = RUNTIME_DEPS,
|
||||
deps = DEPS,
|
||||
)
|
||||
|
||||
TEST_ERLC_OPTS = [
|
||||
"+nowarn_export_all",
|
||||
]
|
||||
|
||||
rabbitmq_home(
|
||||
name = "broker-for-tests-home",
|
||||
plugins = [
|
||||
"//deps/rabbit:bazel_erlang_lib",
|
||||
":bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
rabbitmq_run(
|
||||
name = "rabbitmq-for-tests-run",
|
||||
home = ":broker-for-tests-home",
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "config_schema_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_auth_backend_cache/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_auth_backend_cache/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_auth_backend_cache/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_client_helpers//:bazel_erlang_lib",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
data = [
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:Makefile",
|
||||
"@rabbitmq_ct_helpers//tools/tls-certs:openssl.cnf.in",
|
||||
],
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "rabbit_auth_backend_cache_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
"RABBITMQ_RUN": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_auth_backend_cache/rabbitmq-for-tests-run",
|
||||
"RABBITMQCTL": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_auth_backend_cache/broker-for-tests-home/sbin/rabbitmqctl",
|
||||
"RABBITMQ_PLUGINS": "$TEST_SRCDIR/$TEST_WORKSPACE/deps/rabbitmq_auth_backend_cache/broker-for-tests-home/sbin/rabbitmq-plugins",
|
||||
},
|
||||
tools = [
|
||||
":rabbitmq-for-tests-run",
|
||||
],
|
||||
runtime_deps = [
|
||||
"//deps/rabbitmq_cli:elixir_as_bazel_erlang_lib",
|
||||
"//deps/rabbitmq_cli:rabbitmqctl",
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
deps = [
|
||||
"//deps/rabbit_common:bazel_erlang_lib",
|
||||
],
|
||||
)
|
||||
|
||||
ct_suite(
|
||||
erlc_opts = TEST_ERLC_OPTS,
|
||||
suite_name = "rabbit_auth_cache_SUITE",
|
||||
test_env = {
|
||||
"RABBITMQ_CT_SKIP_AS_ERROR": "true",
|
||||
},
|
||||
runtime_deps = [
|
||||
"@rabbitmq_ct_helpers//:bazel_erlang_lib",
|
||||
],
|
||||
)
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue