| # Copyright 2019 The Fuchsia Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| import("//build/zircon/migrated_targets.gni") |
| |
| config("zxtest_enable_streamable_assertions") { |
| defines = [ "ZXTEST_USE_STREAMABLE_MACROS" ] |
| } |
| |
| zxtest_headers = [ |
| "include/zxtest/base/assertion.h", |
| "include/zxtest/base/death-statement.h", |
| "include/zxtest/base/environment.h", |
| "include/zxtest/base/event-broadcaster.h", |
| "include/zxtest/base/log-sink.h", |
| "include/zxtest/base/message.h", |
| "include/zxtest/base/observer.h", |
| "include/zxtest/base/parameterized-value-impl.h", |
| "include/zxtest/base/parameterized-value.h", |
| "include/zxtest/base/reporter.h", |
| "include/zxtest/base/runner.h", |
| "include/zxtest/base/test-case.h", |
| "include/zxtest/base/test-driver.h", |
| "include/zxtest/base/test-info.h", |
| "include/zxtest/base/test-internal.h", |
| "include/zxtest/base/test.h", |
| "include/zxtest/base/types.h", |
| "include/zxtest/base/values.h", |
| "include/zxtest/c/zxtest.h", |
| "include/zxtest/cpp/assert.h", |
| "include/zxtest/cpp/assert_streams.h", |
| "include/zxtest/cpp/internal.h", |
| "include/zxtest/cpp/scoped_trace.h", |
| "include/zxtest/cpp/zxtest.h", |
| "include/zxtest/zxtest.h", |
| ] |
| |
| sdk_headers_for_internal_use = [ |
| # These headers are not intended to be included directly into user code. |
| "include/zxtest/c/zxtest.h", |
| "include/zxtest/cpp/assert.h", |
| "include/zxtest/cpp/assert_streams.h", |
| "include/zxtest/cpp/scoped_trace.h", |
| "include/zxtest/cpp/zxtest.h", |
| ] |
| |
| zxtest_sources = [ |
| "assertion.cc", |
| "c-wrappers.cc", |
| "event-broadcaster.cc", |
| "file-log-sink.cc", |
| "message.cc", |
| "reporter.cc", |
| "runner-options.cc", |
| "runner.cc", |
| "test-case.cc", |
| "test-info.cc", |
| "test.cc", |
| "zxtest-main.cc", |
| ] |
| |
| zxtest_public_deps = [ |
| "//sdk/lib/fit", |
| |
| # Needed for <zircon/status.h> |
| "//src/zircon/lib/zircon", |
| |
| # Needed for cpp17::string_view. |
| "//sdk/lib/stdcompat", |
| |
| # Needed for <fbl/string.h>, <fbl/vector.h> and <fbl/function.h> |
| "//zircon/system/ulib/fbl", |
| ] |
| |
| zxtest_deps = [ |
| "//sdk/lib/fit", |
| "//zircon/system/ulib/fbl", |
| ] |
| |
| if (is_fuchsia) { |
| zxtest_metadata = { |
| # Used by the fuchsia_test_component_manifest() template. |
| test_component_manifest_cml = [ |
| { |
| include = [ "//sdk/lib/sys/testing/elf_test_runner.shard.cml" ] |
| }, |
| ] |
| } |
| } |
| |
| sdk_source_set("zxtest") { |
| sdk_name = "zxtest" |
| category = "cts" |
| build_as_static = true |
| |
| public = zxtest_headers |
| sources = zxtest_sources |
| public_deps = zxtest_public_deps |
| public_configs = [ |
| ":prod_config", |
| |
| # TODO(https://fxbug.dev/42085293): zxtest headers use VLA, rather than suppressing |
| # every use of zxtest headers of which there are many, we suppress it here. |
| "//build/config:Wno-vla-cxx-extension", |
| ] |
| deps = zxtest_deps |
| |
| if (is_fuchsia) { |
| sources += [ "death-statement.cc" ] |
| |
| public_deps += [ "//zircon/system/ulib/zx" ] |
| |
| deps += [ |
| "//src/zircon/lib/zircon", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| metadata = zxtest_metadata |
| } |
| } |
| |
| sdk_source_set("zxtest-streams") { |
| sdk_name = "zxtest" |
| category = "cts" |
| build_as_static = true |
| |
| public = zxtest_headers |
| sources = zxtest_sources |
| public_deps = zxtest_public_deps |
| public_configs = [ |
| ":prod_config", |
| ":zxtest_enable_streamable_assertions", |
| |
| # TODO(https://fxbug.dev/42085293): zxtest headers use VLA, rather than suppressing |
| # every use of zxtest headers of which there are many, we suppress it here. |
| "//build/config:Wno-vla-cxx-extension", |
| ] |
| deps = zxtest_deps |
| |
| if (is_fuchsia) { |
| sources += [ "death-statement.cc" ] |
| |
| public_deps += [ "//zircon/system/ulib/zx" ] |
| |
| deps += [ |
| "//src/zircon/lib/zircon", |
| "//zircon/system/ulib/zx", |
| ] |
| |
| metadata = zxtest_metadata |
| } |
| } |
| |
| config("prod_config") { |
| include_dirs = [ "include" ] |
| } |
| |
| # Dependency for "production" callers who use zxtest_prod header, (see that file for more). |
| source_set("prod") { |
| public = [ "include/zxtest/cpp/zxtest_prod.h" ] |
| public_configs = [ ":prod_config" ] |
| } |
| |
| group("tests") { |
| testonly = true |
| deps = [ "test:tests" ] |
| } |