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*
|
traces*
|
||||||
callgrand*
|
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()).
|
] ++ rabbit_ct_broker_helpers:teardown_steps()).
|
||||||
|
|
||||||
ensure_amqp_client_srcdir(Config) ->
|
ensure_amqp_client_srcdir(Config) ->
|
||||||
rabbit_ct_helpers:ensure_application_srcdir(Config,
|
case rabbit_ct_helpers:get_config(Config, rabbitmq_run_cmd) of
|
||||||
amqp_client, amqp_client).
|
undefined ->
|
||||||
|
rabbit_ct_helpers:ensure_application_srcdir(Config,
|
||||||
|
amqp_client, amqp_client);
|
||||||
|
_ -> Config
|
||||||
|
end.
|
||||||
|
|
||||||
create_unauthorized_user(Config) ->
|
create_unauthorized_user(Config) ->
|
||||||
Cmd = ["add_user", ?UNAUTHORIZED_USER, ?UNAUTHORIZED_USER],
|
Cmd = ["add_user", ?UNAUTHORIZED_USER, ?UNAUTHORIZED_USER],
|
||||||
|
@ -1568,30 +1572,28 @@ wait_until_net_ticktime(NetTicktime) ->
|
||||||
throw({error, {net_ticktime_not_set, NetTicktime}})
|
throw({error, {net_ticktime_not_set, NetTicktime}})
|
||||||
end.
|
end.
|
||||||
|
|
||||||
set_resource_alarm(memory, Config) ->
|
set_resource_alarm(Resource, Config)
|
||||||
|
when Resource =:= memory orelse Resource =:= disk ->
|
||||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
SrcDir = ?config(amqp_client_srcdir, Config),
|
||||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
||||||
{ok, _} = rabbit_ct_helpers:make(Config, SrcDir, [
|
Cmd = [{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
"set-resource-alarm",
|
||||||
"set-resource-alarm", "SOURCE=memory"]);
|
{"SOURCE=~s", [Resource]}],
|
||||||
set_resource_alarm(disk, Config) ->
|
{ok, _} = case os:getenv("RABBITMQ_RUN") of
|
||||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
false -> rabbit_ct_helpers:make(Config, SrcDir, Cmd);
|
||||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
Run -> rabbit_ct_helpers:exec([Run | Cmd])
|
||||||
{ok, _} = rabbit_ct_helpers:make(Config, SrcDir, [
|
end.
|
||||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
|
||||||
"set-resource-alarm", "SOURCE=disk"]).
|
|
||||||
|
|
||||||
clear_resource_alarm(memory, Config) ->
|
clear_resource_alarm(Resource, Config)
|
||||||
|
when Resource =:= memory orelse Resource =:= disk ->
|
||||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
SrcDir = ?config(amqp_client_srcdir, Config),
|
||||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
||||||
{ok, _}= rabbit_ct_helpers:make(Config, SrcDir, [
|
Cmd = [{"RABBITMQ_NODENAME=~s", [Nodename]},
|
||||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
"clear-resource-alarm",
|
||||||
"clear-resource-alarm", "SOURCE=memory"]);
|
{"SOURCE=~s", [Resource]}],
|
||||||
clear_resource_alarm(disk, Config) ->
|
{ok, _} = case os:getenv("RABBITMQ_RUN") of
|
||||||
SrcDir = ?config(amqp_client_srcdir, Config),
|
false -> rabbit_ct_helpers:make(Config, SrcDir, Cmd);
|
||||||
Nodename = rabbit_ct_broker_helpers:get_node_config(Config, 0, nodename),
|
Run -> rabbit_ct_helpers:exec([Run | Cmd])
|
||||||
{ok, _}= rabbit_ct_helpers:make(Config, SrcDir, [
|
end.
|
||||||
{"RABBITMQ_NODENAME=~s", [Nodename]},
|
|
||||||
"clear-resource-alarm", "SOURCE=disk"]).
|
|
||||||
|
|
||||||
fmt(Fmt, Args) -> list_to_binary(rabbit_misc:format(Fmt, Args)).
|
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_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(APPS, [os_mon, mnesia, rabbit_common, rabbitmq_prelaunch, ra, sysmon_handler, rabbit, osiris]).
|
-define(APPS, [os_mon, mnesia, rabbit_common, rabbitmq_prelaunch, ra, sysmon_handler, rabbit, osiris]).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_access_control).
|
-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,
|
-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]).
|
check_vhost_access/4, check_resource_access/4, check_topic_access/4]).
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(SERVER, ?MODULE).
|
-define(SERVER, ?MODULE).
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_auth_backend_internal).
|
-module(rabbit_auth_backend_internal).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_authn_backend).
|
-behaviour(rabbit_authn_backend).
|
||||||
-behaviour(rabbit_authz_backend).
|
-behaviour(rabbit_authz_backend).
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_auth_mechanism_amqplain).
|
-module(rabbit_auth_mechanism_amqplain).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_auth_mechanism).
|
-behaviour(rabbit_auth_mechanism).
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_auth_mechanism_cr_demo).
|
-module(rabbit_auth_mechanism_cr_demo).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_auth_mechanism).
|
-behaviour(rabbit_auth_mechanism).
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_auth_mechanism_plain).
|
-module(rabbit_auth_mechanism_plain).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_auth_mechanism).
|
-behaviour(rabbit_auth_mechanism).
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_basic).
|
-module(rabbit_basic).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
|
|
||||||
-export([publish/4, publish/5, publish/1,
|
-export([publish/4, publish/5, publish/1,
|
||||||
message/3, message/4, properties/1, prepend_table_header/3,
|
message/3, message/4, properties/1, prepend_table_header/3,
|
||||||
|
|
|
@ -7,8 +7,8 @@
|
||||||
|
|
||||||
-module(rabbit_channel_interceptor).
|
-module(rabbit_channel_interceptor).
|
||||||
|
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([init/1, intercept_in/3]).
|
-export([init/1, intercept_in/3]).
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-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,
|
get_all_tracked_channel_table_names_for_node/1,
|
||||||
delete_tracked_channel_user_entry/1]).
|
delete_tracked_channel_user_entry/1]).
|
||||||
|
|
||||||
-include_lib("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-import(rabbit_misc, [pget/2]).
|
-import(rabbit_misc, [pget/2]).
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
-export([init/1, handle_call/2, handle_event/2, handle_info/2,
|
-export([init/1, handle_call/2, handle_event/2, handle_info/2,
|
||||||
terminate/2, code_change/3]).
|
terminate/2, code_change/3]).
|
||||||
|
|
||||||
-include_lib("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-rabbit_boot_step({?MODULE,
|
-rabbit_boot_step({?MODULE,
|
||||||
[{description, "channel tracking event handler"},
|
[{description, "channel tracking event handler"},
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@
|
||||||
lookup/1,
|
lookup/1,
|
||||||
count/0]).
|
count/0]).
|
||||||
|
|
||||||
-include_lib("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-import(rabbit_misc, [pget/2]).
|
-import(rabbit_misc, [pget/2]).
|
||||||
|
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
%% for compatibility with previous versions of CLI tools
|
%% for compatibility with previous versions of CLI tools
|
||||||
-export([close_connections/3]).
|
-export([close_connections/3]).
|
||||||
|
|
||||||
-include_lib("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-rabbit_boot_step({?MODULE,
|
-rabbit_boot_step({?MODULE,
|
||||||
[{description, "connection tracking event handler"},
|
[{description, "connection tracking event handler"},
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_credential_validation).
|
-module(rabbit_credential_validation).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%% used for backwards compatibility
|
%% used for backwards compatibility
|
||||||
-define(DEFAULT_BACKEND, rabbit_credential_validator_accept_everything).
|
-define(DEFAULT_BACKEND, rabbit_credential_validator_accept_everything).
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_credential_validator).
|
-module(rabbit_credential_validator).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%% Validates a password. Used by `rabbit_auth_backend_internal`.
|
%% Validates a password. Used by `rabbit_auth_backend_internal`.
|
||||||
%%
|
%%
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_credential_validator_accept_everything).
|
-module(rabbit_credential_validator_accept_everything).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_credential_validator).
|
-behaviour(rabbit_credential_validator).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_credential_validator_min_password_length).
|
-module(rabbit_credential_validator_min_password_length).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_credential_validator).
|
-behaviour(rabbit_credential_validator).
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
%% password against a pre-configured regular expression.
|
%% password against a pre-configured regular expression.
|
||||||
-module(rabbit_credential_validator_password_regexp).
|
-module(rabbit_credential_validator_password_regexp).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_credential_validator).
|
-behaviour(rabbit_credential_validator).
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
|
|
||||||
-export([publish/5]).
|
-export([publish/5]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -18,8 +18,8 @@
|
||||||
%% For testing only
|
%% For testing only
|
||||||
-export([extract_extra_auth_props/4]).
|
-export([extract_extra_auth_props/4]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_misc.hrl").
|
-include_lib("rabbit_common/include/rabbit_misc.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_exchange).
|
-module(rabbit_exchange).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
|
|
||||||
-export([recover/1, policy_changed/2, callback/4, declare/7,
|
-export([recover/1, policy_changed/2, callback/4, declare/7,
|
||||||
assert_equivalence/6, assert_args_equivalence/2, check_type/1,
|
assert_equivalence/6, assert_args_equivalence/2, check_type/1,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_exchange_decorator).
|
-module(rabbit_exchange_decorator).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([select/2, set/1]).
|
-export([select/2, set/1]).
|
||||||
|
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
-behaviour(rabbit_runtime_parameter).
|
-behaviour(rabbit_runtime_parameter).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([register/0]).
|
-export([register/0]).
|
||||||
-export([validate/5, notify/5, notify_clear/4]).
|
-export([validate/5, notify/5, notify_clear/4]).
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_exchange_type_direct).
|
-module(rabbit_exchange_type_direct).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_exchange_type).
|
-behaviour(rabbit_exchange_type).
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_exchange_type_fanout).
|
-module(rabbit_exchange_type_fanout).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_exchange_type).
|
-behaviour(rabbit_exchange_type).
|
||||||
|
|
||||||
|
|
|
@ -6,8 +6,8 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_exchange_type_headers).
|
-module(rabbit_exchange_type_headers).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_exchange_type).
|
-behaviour(rabbit_exchange_type).
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_exchange_type_invalid).
|
-module(rabbit_exchange_type_invalid).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_exchange_type).
|
-behaviour(rabbit_exchange_type).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_exchange_type_topic).
|
-module(rabbit_exchange_type_topic).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_exchange_type).
|
-behaviour(rabbit_exchange_type).
|
||||||
|
|
||||||
|
|
|
@ -110,7 +110,7 @@
|
||||||
|
|
||||||
-module(rabbit_limiter).
|
-module(rabbit_limiter).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(gen_server2).
|
-behaviour(gen_server2).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_maintenance).
|
-module(rabbit_maintenance).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([
|
-export([
|
||||||
is_enabled/0,
|
is_enabled/0,
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_mirror_queue_mode_all).
|
-module(rabbit_mirror_queue_mode_all).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_mirror_queue_mode).
|
-behaviour(rabbit_mirror_queue_mode).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_mirror_queue_mode_exactly).
|
-module(rabbit_mirror_queue_mode_exactly).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_mirror_queue_mode).
|
-behaviour(rabbit_mirror_queue_mode).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_mirror_queue_mode_nodes).
|
-module(rabbit_mirror_queue_mode_nodes).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(rabbit_mirror_queue_mode).
|
-behaviour(rabbit_mirror_queue_mode).
|
||||||
|
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_mnesia_rename).
|
-module(rabbit_mnesia_rename).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([rename/2]).
|
-export([rename/2]).
|
||||||
-export([maybe_finish/1]).
|
-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_BYTES, 8).
|
||||||
-define(INTEGER_SIZE_BITS, (8 * ?INTEGER_SIZE_BYTES)).
|
-define(INTEGER_SIZE_BITS, (8 * ?INTEGER_SIZE_BYTES)).
|
||||||
|
|
|
@ -10,8 +10,8 @@
|
||||||
message_annotation/3
|
message_annotation/3
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
||||||
|
|
||||||
-type maybe(T) :: T | undefined.
|
-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(SYNC_INTERVAL, 25). %% milliseconds
|
||||||
-define(CLEAN_FILENAME, "clean.dot").
|
-define(CLEAN_FILENAME, "clean.dot").
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_msg_store_ets_index).
|
-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).
|
-behaviour(rabbit_msg_store_index).
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@
|
||||||
msg_store_state
|
msg_store_state
|
||||||
}).
|
}).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -52,8 +52,8 @@
|
||||||
connections_local/0
|
connections_local/0
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_misc.hrl").
|
-include_lib("rabbit_common/include/rabbit_misc.hrl").
|
||||||
|
|
||||||
%% IANA-suggested ephemeral port range is 49152 to 65535
|
%% IANA-suggested ephemeral port range is 49152 to 65535
|
||||||
-define(FIRST_TEST_BIND_PORT, 49152).
|
-define(FIRST_TEST_BIND_PORT, 49152).
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
%%
|
%%
|
||||||
|
|
||||||
-module(rabbit_password).
|
-module(rabbit_password).
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(DEFAULT_HASHING_MODULE, rabbit_password_hashing_sha256).
|
-define(DEFAULT_HASHING_MODULE, rabbit_password_hashing_sha256).
|
||||||
|
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
-module(rabbit_peer_discovery_classic_config).
|
-module(rabbit_peer_discovery_classic_config).
|
||||||
-behaviour(rabbit_peer_discovery_backend).
|
-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,
|
-export([list_nodes/0, supports_registration/0, register/0, unregister/0,
|
||||||
post_registration/0, lock/1, unlock/1]).
|
post_registration/0, lock/1, unlock/1]).
|
||||||
|
|
|
@ -8,7 +8,7 @@
|
||||||
-module(rabbit_peer_discovery_dns).
|
-module(rabbit_peer_discovery_dns).
|
||||||
-behaviour(rabbit_peer_discovery_backend).
|
-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,
|
-export([list_nodes/0, supports_registration/0, register/0, unregister/0,
|
||||||
post_registration/0, lock/1, unlock/1]).
|
post_registration/0, lock/1, unlock/1]).
|
||||||
|
|
|
@ -13,7 +13,7 @@
|
||||||
-behaviour(rabbit_policy_validator).
|
-behaviour(rabbit_policy_validator).
|
||||||
-behaviour(rabbit_policy_merge_strategy).
|
-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]).
|
-export([register/0, validate_policy/1, merge_policy_value/3]).
|
||||||
|
|
||||||
|
|
|
@ -212,7 +212,7 @@
|
||||||
unacked
|
unacked
|
||||||
}).
|
}).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%%----------------------------------------------------------------------------
|
%%----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
|
|
@ -23,7 +23,7 @@
|
||||||
check_non_durable/1,
|
check_non_durable/1,
|
||||||
run_checks/2]).
|
run_checks/2]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("amqqueue.hrl").
|
-include("amqqueue.hrl").
|
||||||
|
|
||||||
args_policy_lookup(Name, Resolve, Q) when ?is_amqqueue(Q) ->
|
args_policy_lookup(Name, Resolve, Q) when ?is_amqqueue(Q) ->
|
||||||
|
|
|
@ -70,7 +70,7 @@
|
||||||
qname_to_internal_name/1]).
|
qname_to_internal_name/1]).
|
||||||
|
|
||||||
-include_lib("stdlib/include/qlc.hrl").
|
-include_lib("stdlib/include/qlc.hrl").
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("amqqueue.hrl").
|
-include("amqqueue.hrl").
|
||||||
|
|
||||||
-type msg_id() :: non_neg_integer().
|
-type msg_id() :: non_neg_integer().
|
||||||
|
|
|
@ -45,8 +45,8 @@
|
||||||
%%
|
%%
|
||||||
%% Reader processes are special processes (in the OTP sense).
|
%% Reader processes are special processes (in the OTP sense).
|
||||||
|
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([start_link/2, info_keys/0, info/1, info/2, force_event_refresh/2,
|
-export([start_link/2, info_keys/0, info/1, info/2, force_event_refresh/2,
|
||||||
shutdown/2]).
|
shutdown/2]).
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
-rabbit_upgrade({upgrade_recovery_terms, local, []}).
|
-rabbit_upgrade({upgrade_recovery_terms, local, []}).
|
||||||
-rabbit_upgrade({persistent_bytes, local, [upgrade_recovery_terms]}).
|
-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]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(DELAY, 2).
|
-define(DELAY, 2).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_router).
|
-module(rabbit_router).
|
||||||
-include_lib("stdlib/include/qlc.hrl").
|
-include_lib("stdlib/include/qlc.hrl").
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([match_bindings/2, match_routing_key/2]).
|
-export([match_bindings/2, match_routing_key/2]).
|
||||||
|
|
||||||
|
|
|
@ -40,7 +40,7 @@
|
||||||
%% * rabbit_registry
|
%% * rabbit_registry
|
||||||
%% * rabbit_event
|
%% * 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,
|
-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,
|
list_component/1, list/2, list_formatted/1, list_formatted/3,
|
||||||
|
|
|
@ -18,7 +18,7 @@
|
||||||
|
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(SERVER, ?MODULE).
|
-define(SERVER, ?MODULE).
|
||||||
|
|
||||||
|
|
|
@ -9,8 +9,8 @@
|
||||||
|
|
||||||
-export([init/1, enabled/1, tap_in/6, tap_out/5, start/1, stop/1]).
|
-export([init/1, enabled/1, tap_in/6, tap_out/5, start/1, stop/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
|
|
||||||
-define(TRACE_VHOSTS, trace_vhosts).
|
-define(TRACE_VHOSTS, trace_vhosts).
|
||||||
-define(XNAME, <<"amq.rabbitmq.trace">>).
|
-define(XNAME, <<"amq.rabbitmq.trace">>).
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
maybe_migrate_queues_to_per_vhost_storage/0,
|
maybe_migrate_queues_to_per_vhost_storage/0,
|
||||||
nodes_running/1, secondary_upgrade/1]).
|
nodes_running/1, secondary_upgrade/1]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(VERSION_FILENAME, "schema_version").
|
-define(VERSION_FILENAME, "schema_version").
|
||||||
-define(LOCK_FILENAME, "schema_upgrade_lock").
|
-define(LOCK_FILENAME, "schema_upgrade_lock").
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
-behaviour(rabbit_runtime_parameter).
|
-behaviour(rabbit_runtime_parameter).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([register/0]).
|
-export([register/0]).
|
||||||
-export([parse_set/3, set/3, clear/2]).
|
-export([parse_set/3, set/3, clear/2]).
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_vhost_msg_store).
|
-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([start/4, stop/2, client_init/5, successfully_recovered_state/2]).
|
||||||
-export([vhost_store_pid/2]).
|
-export([vhost_store_pid/2]).
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
%% use the now recommended try/catch syntax for obtaining the stack trace.
|
%% use the now recommended try/catch syntax for obtaining the stack trace.
|
||||||
-compile(nowarn_deprecated_function).
|
-compile(nowarn_deprecated_function).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-define(TICKTIME_RATIO, 4).
|
-define(TICKTIME_RATIO, 4).
|
||||||
|
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_vhost_sup).
|
-module(rabbit_vhost_sup).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
%% Each vhost gets an instance of this supervisor that supervises
|
%% Each vhost gets an instance of this supervisor that supervises
|
||||||
%% message stores and queues (via rabbit_amqqueue_sup_sup).
|
%% message stores and queues (via rabbit_amqqueue_sup_sup).
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(rabbit_vhost_sup_sup).
|
-module(rabbit_vhost_sup_sup).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(supervisor2).
|
-behaviour(supervisor2).
|
||||||
|
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
-module(rabbit_vhost_sup_wrapper).
|
-module(rabbit_vhost_sup_wrapper).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-behaviour(supervisor2).
|
-behaviour(supervisor2).
|
||||||
-export([init/1]).
|
-export([init/1]).
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
|
|
||||||
-module(term_to_binary_compat).
|
-module(term_to_binary_compat).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
-export([term_to_binary_1/1]).
|
-export([term_to_binary_1/1]).
|
||||||
|
|
||||||
|
|
|
@ -107,8 +107,8 @@
|
||||||
}).
|
}).
|
||||||
|
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
|
|
||||||
-define(QUEUE, lqueue).
|
-define(QUEUE, lqueue).
|
||||||
-define(TIMEOUT_TEST_MSG, <<"timeout_test_msg!">>).
|
-define(TIMEOUT_TEST_MSG, <<"timeout_test_msg!">>).
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
|
|
||||||
-include_lib("common_test/include/ct.hrl").
|
-include_lib("common_test/include/ct.hrl").
|
||||||
-include_lib("amqp_client/include/amqp_client.hrl").
|
-include_lib("amqp_client/include/amqp_client.hrl").
|
||||||
-include("include/amqqueue.hrl").
|
-include("amqqueue.hrl").
|
||||||
|
|
||||||
-compile(export_all).
|
-compile(export_all).
|
||||||
|
|
||||||
|
|
|
@ -12,7 +12,7 @@
|
||||||
-export([init/1, handle_call/2, handle_event/2, handle_info/2,
|
-export([init/1, handle_call/2, handle_event/2, handle_info/2,
|
||||||
terminate/2, code_change/3]).
|
terminate/2, code_change/3]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
|
|
||||||
start(Pid, Nodes, Types) ->
|
start(Pid, Nodes, Types) ->
|
||||||
Oks = [ok || _ <- Nodes],
|
Oks = [ok || _ <- Nodes],
|
||||||
|
|
|
@ -117,7 +117,7 @@ init_per_group(clustering, Config) ->
|
||||||
{rmq_nodes_clustered, false},
|
{rmq_nodes_clustered, false},
|
||||||
{start_rmq_with_plugins_disabled, true}]),
|
{start_rmq_with_plugins_disabled, true}]),
|
||||||
rabbit_ct_helpers:run_setup_steps(Config1, [
|
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
|
fun work_around_cli_and_rabbit_circular_dep/1
|
||||||
]);
|
]);
|
||||||
init_per_group(activating_plugin, Config) ->
|
init_per_group(activating_plugin, Config) ->
|
||||||
|
@ -127,7 +127,7 @@ init_per_group(activating_plugin, Config) ->
|
||||||
{rmq_nodes_clustered, true},
|
{rmq_nodes_clustered, true},
|
||||||
{start_rmq_with_plugins_disabled, true}]),
|
{start_rmq_with_plugins_disabled, true}]),
|
||||||
rabbit_ct_helpers:run_setup_steps(Config1, [
|
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
|
fun work_around_cli_and_rabbit_circular_dep/1
|
||||||
]);
|
]);
|
||||||
init_per_group(_, Config) ->
|
init_per_group(_, Config) ->
|
||||||
|
@ -985,6 +985,17 @@ activating_plugin_with_new_ff_enabled(Config) ->
|
||||||
%% Internal helpers.
|
%% 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) ->
|
build_my_plugin(Config) ->
|
||||||
PluginSrcDir = filename:join(?config(data_dir, Config), "my_plugin"),
|
PluginSrcDir = filename:join(?config(data_dir, Config), "my_plugin"),
|
||||||
PluginsDir = filename:join(PluginSrcDir, "plugins"),
|
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(_) ->
|
node_discovery_with_long_node_names(_) ->
|
||||||
Result = rabbit_peer_discovery_dns:discover_nodes(?DISCOVERY_ENDPOINT_RECORD_A, true),
|
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(_) ->
|
node_discovery_with_short_node_names(_) ->
|
||||||
Result = rabbit_peer_discovery_dns:discover_nodes(?DISCOVERY_ENDPOINT_RECORD_A, false),
|
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([
|
-export([
|
||||||
]).
|
]).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include("rabbit_framing.hrl").
|
-include_lib("rabbit_common/include/rabbit_framing.hrl").
|
||||||
-include_lib("common_test/include/ct.hrl").
|
-include_lib("common_test/include/ct.hrl").
|
||||||
-include_lib("eunit/include/eunit.hrl").
|
-include_lib("eunit/include/eunit.hrl").
|
||||||
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
-include_lib("amqp10_common/include/amqp10_framing.hrl").
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
|
|
||||||
-compile(export_all).
|
-compile(export_all).
|
||||||
|
|
||||||
-include("rabbit.hrl").
|
-include_lib("rabbit_common/include/rabbit.hrl").
|
||||||
-include_lib("common_test/include/ct.hrl").
|
-include_lib("common_test/include/ct.hrl").
|
||||||
-include_lib("proper/include/proper.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)
|
RMQ_PLUGINS_DIR=$(CURDIR)/$(DIST_DIR)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifdef EXTRA_PLUGINS_DIR
|
||||||
|
RMQ_PLUGINS_DIR=$(RMQ_PLUGINS_DIR):$(EXTRA_PLUGINS_DIR)
|
||||||
|
endif
|
||||||
|
|
||||||
define basic_script_env_settings
|
define basic_script_env_settings
|
||||||
MAKE="$(MAKE)" \
|
MAKE="$(MAKE)" \
|
||||||
ERL_LIBS="$(DIST_ERL_LIBS)" \
|
ERL_LIBS="$(DIST_ERL_LIBS)" \
|
||||||
|
|
|
@ -10,7 +10,7 @@
|
||||||
-include_lib("kernel/include/file.hrl").
|
-include_lib("kernel/include/file.hrl").
|
||||||
-include_lib("kernel/include/logger.hrl").
|
-include_lib("kernel/include/logger.hrl").
|
||||||
|
|
||||||
-include("include/logging.hrl").
|
-include("logging.hrl").
|
||||||
|
|
||||||
-export([get_context/0,
|
-export([get_context/0,
|
||||||
get_context/1,
|
get_context/1,
|
||||||
|
|
|
@ -332,10 +332,11 @@ check_values_from_reachable_remote_node(Config) ->
|
||||||
{atom_to_list(?FUNCTION_NAME), "localhost"}),
|
{atom_to_list(?FUNCTION_NAME), "localhost"}),
|
||||||
NodeS = atom_to_list(Node),
|
NodeS = atom_to_list(Node),
|
||||||
true = os:putenv("RABBITMQ_NODENAME", NodeS),
|
true = os:putenv("RABBITMQ_NODENAME", NodeS),
|
||||||
RabbitCommonEbinDir = filename:dirname(code:which(rabbit_env)),
|
|
||||||
Args = ["-noinput",
|
Args = ["-noinput",
|
||||||
"-sname", atom_to_list(Node),
|
"-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,
|
"-pa", RabbitEbinDir,
|
||||||
"-mnesia", "dir",
|
"-mnesia", "dir",
|
||||||
rabbit_misc:format("~p", [MnesiaDir]),
|
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