mirror of
https://fuchsia.googlesource.com/third_party/pigweed.googlesource.com/pigweed/pigweed
synced 2024-09-20 13:51:05 +00:00
be3fba1ec8
This commit fixes the bazel build files. This fix also addresses a bug where an interaction between @io_bazel//src/main/tools:process-wrapper and pw_assert_basic caused the output from `bazel test //some_test_target` to be completely empty on assertion. This occured because pw_assert_basic was 'aborting' causing the core to dump without calling the destructors. Under normal circumstances this is fine as stdout is synchronised. However as bazel's process wrapper binds stdout, it results in stdout buffering, meaning that when pw_assert_basic 'aborts' the buffered stdout is lost. The replacement of 'abort' to 'exit' allows destructors for the stdout handles to be called thus flushing the buffer out to bazels process-wrapper. This is not a critical bug and is more of a nuisance as the message that prints the line number that caused the assertion is lost when the program aborts. Change-Id: Ia1599db78c5caa878f3d7496e2b3009e3c44dcea Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/34621 Reviewed-by: Keir Mierle <keir@google.com> Reviewed-by: Wyatt Hepler <hepler@google.com> Commit-Queue: Keir Mierle <keir@google.com>
76 lines
1.7 KiB
Python
76 lines
1.7 KiB
Python
# Copyright 2020 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.
|
|
|
|
load(
|
|
"//pw_build:pigweed.bzl",
|
|
"pw_cc_library",
|
|
)
|
|
|
|
package(default_visibility = ["//visibility:public"])
|
|
|
|
licenses(["notice"]) # Apache License 2.0
|
|
|
|
pw_cc_library(
|
|
name = "headers",
|
|
hdrs = [
|
|
"public/pw_assert_basic/assert_basic.h",
|
|
"public_overrides/pw_assert_backend/assert_backend.h",
|
|
],
|
|
includes = [
|
|
"public",
|
|
"public_overrides",
|
|
],
|
|
deps = [
|
|
"//pw_preprocessor",
|
|
],
|
|
)
|
|
|
|
pw_cc_library(
|
|
name = "pw_assert_basic",
|
|
srcs = [
|
|
"assert_basic.cc",
|
|
],
|
|
deps = [
|
|
":headers",
|
|
":pw_assert_basic_handler",
|
|
"//pw_assert:facade",
|
|
"//pw_preprocessor",
|
|
],
|
|
)
|
|
|
|
pw_cc_library(
|
|
name = "handler_facade",
|
|
hdrs = [
|
|
"public/pw_assert_basic/handler.h",
|
|
],
|
|
deps = [
|
|
"//pw_preprocessor",
|
|
],
|
|
)
|
|
|
|
pw_cc_library(
|
|
name = "pw_assert_basic_handler",
|
|
srcs = [
|
|
"basic_handler.cc",
|
|
],
|
|
deps = [
|
|
":handler_facade",
|
|
":headers",
|
|
"//pw_assert:facade",
|
|
"//pw_preprocessor",
|
|
"//pw_string",
|
|
"//pw_sys_io",
|
|
],
|
|
)
|