| # Copyright (C) 2017 The Android Open Source Project |
| # |
| # 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 |
| # |
| # http://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. |
| |
| import("//build_overrides/build.gni") |
| |
| config("ftrace_reader_config") { |
| include_dirs = [ |
| "include", |
| "..", |
| ] |
| |
| if (build_with_chromium) { |
| include_dirs += [ "//testing/gtest/include" ] |
| } |
| } |
| |
| executable("ftrace_reader_unittests") { |
| testonly = true |
| deps = [ |
| ":ftrace_reader", |
| "../gn:default_deps", |
| "../gn:gtest_deps", |
| "../gn:protobuf_full_deps", |
| "../protos/ftrace:full", |
| ] |
| |
| sources = [ |
| "src/cpu_reader_unittest.cc", |
| "src/format_parser_unittest.cc", |
| "src/ftrace_controller_unittest.cc", |
| "src/ftrace_to_proto_unittest.cc", |
| "src/proto_translation_table_unittest.cc", |
| "src/scattered_stream_delegate_for_testing.h", |
| ] |
| } |
| |
| # These tests require access to a real ftrace implementation and must |
| # run with sudo. |
| executable("ftrace_reader_integrationtests") { |
| testonly = true |
| deps = [ |
| ":ftrace_reader", |
| "../gn:default_deps", |
| "../gn:gtest_deps", |
| "../perfetto_base", |
| "../protos/ftrace:full", |
| ] |
| |
| sources = [ |
| "src/end_to_end_integrationtest.cc", |
| "src/ftrace_procfs_integrationtest.cc", |
| ] |
| } |
| |
| executable("ftrace_reader_demo") { |
| testonly = true |
| sources = [ |
| "src/main.cc", |
| ] |
| deps = [ |
| ":ftrace_reader", |
| "../gn:default_deps", |
| "../perfetto_base", |
| ] |
| } |
| |
| source_set("ftrace_reader") { |
| all_dependent_configs = [ ":ftrace_reader_config" ] |
| |
| deps = [ |
| "../perfetto_base", |
| "../protozero", |
| ] |
| |
| if (!build_with_chromium) { |
| all_dependent_configs += [ "//buildtools:googletest_prod_config" ] |
| } |
| |
| public_deps = [ |
| "../protos/ftrace:zero", |
| ] |
| sources = [ |
| "include/ftrace_reader/format_parser.h", |
| "include/ftrace_reader/ftrace_controller.h", |
| "include/ftrace_reader/ftrace_to_proto.h", |
| "src/cpu_reader.cc", |
| "src/cpu_reader.h", |
| "src/format_parser.cc", |
| "src/ftrace_controller.cc", |
| "src/ftrace_procfs.cc", |
| "src/ftrace_procfs.h", |
| "src/ftrace_to_proto.cc", |
| "src/proto_translation_table.cc", |
| "src/proto_translation_table.h", |
| ] |
| } |