angular/modules/benchmarks/benchmark_test.bzl
Paul Gschwendtner 53c4c8de8f test: ensure global options for benchmark tests can be set in bazel (#34753)
Previously, when the benchmark tests ran outside of Bazel, developers
had the posibility to control how the tests run through command line
options. e.g. `--dryrun`. This no longer works reliable in Bazel where
command line arguments are not passed to the text executable.

To make the global options still usable (as they could be still useful
in some cases), we just pass them through the Bazel `--test_env`. This
reduces the code we need to read the command line, but still preserves
the flexibility in a Bazel idiomatic way.

PR Close #34753
2020-01-29 09:22:27 -08:00

24 lines
807 B
Python

load("//tools:defaults.bzl", "protractor_web_test_suite")
"""
Macro that can be used to define a benchmark test. This differentiates from
a normal Protractor test suite because we specify a custom "perf" configuration
that sets up "@angular/benchpress". Benchmark test targets will not run on CI
unless explicitly requested.
"""
def benchmark_test(name, server, tags = [], **kwargs):
protractor_web_test_suite(
name = name,
configuration = "//:protractor-perf.conf.js",
data = [
"//packages/benchpress",
],
on_prepare = "//modules/benchmarks:start-server.js",
server = server,
# Benchmark targets should not run on CI by default.
tags = tags + ["manual"],
test_suite_tags = ["manual"],
**kwargs
)