# Copyright 2021 The Pigweed Authors # # Licensed under the Apache License, Version 2.0 (the "License"); you may not # use this file except in compliance with the License. You may obtain a copy of # the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, WITHOUT # WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the # License for the specific language governing permissions and limitations under # the License. # Required for new toolchain resolution API. build --incompatible_enable_cc_toolchain_resolution # Required for combined code coverage reports. coverage --experimental_generate_llvm_lcov coverage --combined_report=lcov # Enforces consistent action environment variables. This is important to # address Protobuf's rebuild sensitivity on changes to the environment # variables. build --incompatible_strict_action_env # This leaks the PATH variable into the Bazel build environment, which # enables the Python pw_protobuf plugins to find the Python version # via CIPD and pw_env_setup. This is a partial fix for pwbug/437, # however this does not provide a fix for downstream projects that # use system Python < 3.6. This approach is problematic because of the # Protobuf rebuild sensitivity to environment variable changes. # TODO(pwbug/437): Remove this once pwbug/437 is completely resolved. build --action_env=PATH # Define the --config=asan-libfuzzer configuration. build:asan-libfuzzer \ --@rules_fuzzing//fuzzing:cc_engine=@rules_fuzzing//fuzzing/engines:libfuzzer build:asan-libfuzzer \ --@rules_fuzzing//fuzzing:cc_engine_instrumentation=libfuzzer build:asan-libfuzzer --@rules_fuzzing//fuzzing:cc_engine_sanitizer=asan # Configures toolchain with polyfill headers. build --@rules_cc_toolchain_config//:user_defined=//pw_polyfill:toolchain_polyfill_overrides # Specifies desired output mode for running tests. # Valid values are # 'summary' to output only test status summary # 'errors' to also print test logs for failed tests # 'all' to print logs for all tests # 'streamed' to output logs for all tests in real time # (this will force tests to be executed locally one at a time regardless # of --test_strategy value). test --test_output=errors