blob: 10a524f201c940b7b6d52fa2462ee200bf9609bb [file] [log] [blame]
# Copyright 2016 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/package.gni")
import("//build/test/test_package.gni")
import("//build/testing/environments.gni")
group("tests") {
testonly = true
deps = [
":basic_integration_test_app",
":integration_test_utils",
":integration_test_utils_with_trace_with_static_engine",
":nested_environment_test",
":run_integration_test",
":run_test",
":self_contained_provider",
":trace_integration_tests",
":trace_tests",
":trace_tests_bin",
":two_providers_one_engine",
":two_providers_two_engines_test_app",
]
}
source_set("component_context") {
testonly = true
sources = [
"component_context.cc",
"component_context.h",
]
deps = [
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/zx",
]
public_deps = [
"//garnet/public/lib/gtest",
"//sdk/lib/sys/cpp",
]
}
# Generic main entry point target for GTest executables.
# This augments src/lib/fxl/test by adding component context.
source_set("gtest_main") {
testonly = true
sources = [ "gtest_main.cc" ]
deps = [
"//src/lib/fxl",
"//src/lib/fxl/test:test_settings",
]
public_deps = [
":component_context",
"//third_party/googletest:gtest",
]
}
executable("trace_tests_bin") {
testonly = true
output_name = "trace_tests"
deps = [
":gtest_main",
"//garnet/bin/trace:unittests",
"//garnet/lib/measure:unittests",
]
# TODO(46850): Fix the leaks and remove this.
deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}
source_set("run_test") {
testonly = true
sources = [
"run_test.cc",
"run_test.h",
]
public_deps = [
"//sdk/lib/sys/cpp",
"//zircon/public/lib/zx",
]
deps = [
":component_context",
":integration_test_utils",
"//garnet/bin/trace:spec",
"//src/developer/tracing/lib/test_utils",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/fdio",
]
}
source_set("integration_test_utils") {
testonly = true
sources = [
"integration_test_utils.cc",
"integration_test_utils.h",
]
public_deps = [
"//garnet/bin/trace:spec",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/trace-provider",
"//zircon/public/lib/zx",
]
deps = [
"//src/lib/fxl",
"//third_party/rapidjson",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/fdio",
"//zircon/public/lib/trace",
"//zircon/system/ulib/trace-reader",
]
}
# Same as "integration_test_utils" except uses trace-with-static-engine.
# This is done in order to ensure trace-engine-static is used.
source_set("integration_test_utils_with_trace_with_static_engine") {
testonly = true
defines = [ "USE_STATIC_ENGINE" ]
sources = [
"integration_test_utils.cc",
"integration_test_utils.h",
]
public_deps = [
"//garnet/bin/trace:spec",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/trace-provider-with-static-engine",
"//zircon/public/lib/zx",
]
deps = [
"//src/lib/fxl",
"//third_party/rapidjson",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/fdio",
"//zircon/public/lib/trace-with-static-engine",
"//zircon/system/ulib/trace-reader",
]
}
executable("trace_integration_tests") {
testonly = true
output_name = "trace_integration_tests"
sources = [ "trace_integration_tests.cc" ]
deps = [
":gtest_main",
":integration_test_utils",
":run_test",
"//src/developer/tracing/lib/test_utils",
"//src/lib/fxl/test:test_settings",
"//third_party/googletest:gtest",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
]
# TODO(46850): Fix the leaks and remove this.
deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}
executable("run_integration_test") {
testonly = true
output_name = "run_integration_test"
sources = [ "run_integration_test.cc" ]
deps = [
":component_context",
":integration_test_utils",
":run_test",
"//sdk/lib/sys/cpp",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
]
}
executable("basic_integration_test_app") {
testonly = true
output_name = "basic_integration_test_app"
sources = [
"basic_integration_tests.cc",
"basic_integration_tests.h",
"fill_buffer_integration_test.cc",
"integration_test_main.cc",
"simple_integration_test.cc",
]
deps = [
":integration_test_utils",
"//garnet/lib/measure",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider",
"//zircon/public/lib/zx",
]
# TODO(46850): Fix the leaks and remove this.
deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}
executable("two_providers_one_engine") {
testonly = true
output_name = "two_providers_one_engine"
sources = [ "two_providers_one_engine.cc" ]
deps = [
"//src/lib/fxl",
"//zircon/public/lib/async-cpp",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider",
"//zircon/public/lib/zx",
]
}
shared_library("self_contained_provider") {
testonly = true
sources = [
"self_contained_provider.cc",
"self_contained_provider.h",
]
deps = [
":integration_test_utils_with_trace_with_static_engine",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace-provider-fdio-connect",
"//zircon/public/lib/trace-provider-with-static-engine",
"//zircon/public/lib/trace-with-static-engine",
]
}
executable("two_providers_two_engines_test_app") {
testonly = true
output_name = "two_providers_two_engines_test_app"
sources = [
"integration_test_main.cc",
"self_contained_provider.h",
"two_providers_two_engines.cc",
]
deps = [
":integration_test_utils",
":self_contained_provider",
"//garnet/bin/trace:spec",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider",
"//zircon/public/lib/zx",
]
}
executable("nested_environment_test") {
testonly = true
output_name = "nested_environment_test"
sources = [ "nested_environment_test.cc" ]
deps = [
"//src/lib/fxl",
"//zircon/public/lib/task-utils",
"//zircon/public/lib/zx",
]
# TODO(46850): Fix the leaks and remove this.
deps += [ "//build/config/sanitizers:suppress-lsan.DO-NOT-USE-THIS" ]
}
executable("return_1234") {
testonly = true
output_name = "return_1234"
sources = [ "return_1234.cc" ]
}
executable("return_child_result_tests") {
testonly = true
output_name = "return_child_result_tests"
sources = [ "return_child_result_tests.cc" ]
deps = [
":gtest_main",
":integration_test_utils",
":run_test",
"//src/developer/tracing/lib/test_utils",
"//third_party/googletest:gtest",
]
}
executable("run_awhile") {
testonly = true
output_name = "run_awhile"
sources = [ "run_awhile.cc" ]
deps = [ "//zircon/public/lib/zx" ]
}
executable("detach_tests") {
testonly = true
output_name = "detach_tests"
sources = [ "detach_tests.cc" ]
deps = [
":gtest_main",
":integration_test_utils",
":run_test",
"//third_party/googletest:gtest",
"//zircon/public/lib/zx",
]
}
executable("ktrace_integration_tests") {
testonly = true
output_name = "ktrace_integration_tests"
sources = [ "ktrace_integration_tests.cc" ]
deps = [
":gtest_main",
":integration_test_utils",
":run_test",
"//src/developer/tracing/lib/test_utils",
"//third_party/googletest:gtest",
"//zircon/public/lib/zx",
"//zircon/system/ulib/trace-reader",
]
}
executable("shared_provider_app") {
testonly = true
sources = [ "shared_provider.cc" ]
deps = [
":integration_test_utils",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider-so",
"//zircon/public/lib/zx",
]
}
executable("shared_provider_integration_tests") {
testonly = true
sources = [ "shared_provider_integration_tests.cc" ]
deps = [
":gtest_main",
":integration_test_utils",
":run_test",
"//third_party/googletest:gtest",
"//zircon/public/lib/zx",
"//zircon/system/ulib/trace-reader",
]
}
executable("provider_destruction_app") {
testonly = true
sources = [ "provider_destruction.cc" ]
deps = [
":integration_test_utils",
"//src/lib/fxl",
"//zircon/public/lib/async-loop-cpp",
"//zircon/public/lib/async-loop-default",
"//zircon/public/lib/trace",
"//zircon/public/lib/trace-provider",
"//zircon/public/lib/zx",
]
}
executable("provider_destruction_tests") {
testonly = true
sources = [ "provider_destruction_tests.cc" ]
deps = [
":gtest_main",
":integration_test_utils",
":run_test",
"//third_party/googletest:gtest",
"//zircon/public/lib/zx",
"//zircon/system/ulib/trace-reader",
]
}
test_package("trace_tests") {
rootjob_svc = "//build"
deps = [
":basic_integration_test_app",
":detach_tests",
":ktrace_integration_tests",
":nested_environment_test",
":provider_destruction_app",
":provider_destruction_tests",
":return_1234",
":return_child_result_tests",
":run_awhile",
":run_integration_test",
":shared_provider_app",
":shared_provider_integration_tests",
":trace_integration_tests",
":trace_tests_bin",
":two_providers_one_engine",
":two_providers_two_engines_test_app",
]
tests = [
{
name = "detach_tests"
environments = basic_envs
},
{
name = "ktrace_integration_tests"
environments = basic_envs
},
{
name = "provider_destruction_tests"
environments = basic_envs
},
{
name = "return_child_result_tests"
environments = basic_envs
},
{
name = "shared_provider_integration_tests"
environments = basic_envs
},
{
name = "trace_integration_tests"
environments = basic_envs
},
{
name = "trace_tests"
environments = basic_envs
},
]
binaries = [
{
name = "basic_integration_test_app"
},
{
name = "nested_environment_test"
},
{
name = "provider_destruction_app"
},
{
name = "return_1234"
},
{
name = "run_awhile"
},
{
name = "run_integration_test"
},
{
name = "shared_provider_app"
},
{
name = "two_providers_one_engine"
},
{
name = "two_providers_two_engines_test_app"
},
]
# Since this is a "test_package" there is no need to list the cmx files
# for the "tests" entries.
meta = [
{
path = rebase_path("meta/basic_integration_test_app.cmx")
dest = "basic_integration_test_app.cmx"
},
{
path = rebase_path("meta/run_integration_test.cmx")
dest = "run_integration_test.cmx"
},
{
path = rebase_path("meta/nested_environment_test.cmx")
dest = "nested_environment_test.cmx"
},
{
path = rebase_path("meta/provider_destruction_app.cmx")
dest = "provider_destruction_app.cmx"
},
{
path = rebase_path("meta/shared_provider_app.cmx")
dest = "shared_provider_app.cmx"
},
{
path = rebase_path("meta/two_providers_two_engines_test_app.cmx")
dest = "two_providers_two_engines_test_app.cmx"
},
]
resources = [
{
path = rebase_path("oneshot.tspec")
dest = "oneshot.tspec"
},
{
path = rebase_path("circular.tspec")
dest = "circular.tspec"
},
{
path = rebase_path("streaming.tspec")
dest = "streaming.tspec"
},
{
path = rebase_path("simple.tspec")
dest = "simple.tspec"
},
{
path = rebase_path("nested_environment_test.tspec")
dest = "nested_environment_test.tspec"
},
{
path = rebase_path("two_providers_two_engines.tspec")
dest = "two_providers_two_engines.tspec"
},
]
}