Search code examples
bazelgflags

How to pass custom flags to `bazel test` command


I have used gflags in my test to define custom flags. How can I pass such a flag to my test while running the test via bazel test command?

For example: I can run a test multiple times using:

bazel test //xyz:my_test --runs_per_test 10 

In the same command I would like to pass a flag defined in my_test say --use_xxx, how do I do so?


Solution

  • Use the --test_arg flag.

    bazel test //xyz:my_test --runs_per_test=10 --test_arg=--use_xxx --test_arg=--some_number=42
    

    From the docs:

    --test_arg arg: Passes command-line options/flags/arguments to each test process. This option can be used multiple times to pass several arguments, e.g. --test_arg=--logtostderr --test_arg=--v=3.

    You can also specify arguments for the test as part of the BUILD definition:

    cc_test(
        name = "my_test",
        srcs = [".."],
        deps = [".."],
        args = ["--use_xxx", "--some_number=42"],
    )