blob: 3ddd116ced071cb4fa26244d7783534327f72695 [file] [log] [blame]
Hector Dearman3d8970f2017-10-31 09:27:15 +00001# Copyright (C) 2017 The Android Open Source Project
2#
3# Licensed under the Apache License, Version 2.0 (the "License");
4# you may not use this file except in compliance with the License.
5# You may obtain a copy of the License at
6#
7# http://www.apache.org/licenses/LICENSE-2.0
8#
9# Unless required by applicable law or agreed to in writing, software
10# distributed under the License is distributed on an "AS IS" BASIS,
11# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12# See the License for the specific language governing permissions and
13# limitations under the License.
14
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080015import("//build_overrides/build.gni")
16
Hector Dearman3d8970f2017-10-31 09:27:15 +000017config("ftrace_reader_config") {
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080018 include_dirs = [
19 "include",
20 "..",
21 ]
22
23 if (build_with_chromium) {
24 include_dirs += [ "//testing/gtest/include" ]
25 }
Hector Dearman3d8970f2017-10-31 09:27:15 +000026}
27
28executable("ftrace_reader_unittests") {
29 testonly = true
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080030 deps = [
Hector Dearman3d8970f2017-10-31 09:27:15 +000031 ":ftrace_reader",
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080032 "../gn:default_deps",
33 "../gn:gtest_deps",
34 "../gn:protobuf_full_deps",
35 "../protos/ftrace:full",
Hector Dearman3d8970f2017-10-31 09:27:15 +000036 ]
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080037
Hector Dearman3d8970f2017-10-31 09:27:15 +000038 sources = [
Hector Dearman0d300332017-11-22 11:05:34 +000039 "src/cpu_reader_unittest.cc",
Hector Dearman2193ff42017-11-08 14:15:19 +000040 "src/format_parser_unittest.cc",
Hector Dearman0d300332017-11-22 11:05:34 +000041 "src/ftrace_controller_unittest.cc",
Hector Dearman2193ff42017-11-08 14:15:19 +000042 "src/ftrace_to_proto_unittest.cc",
Hector Dearman0d300332017-11-22 11:05:34 +000043 "src/proto_translation_table_unittest.cc",
Hector Dearmanbefe55b2017-11-24 19:02:59 +000044 "src/scattered_stream_delegate_for_testing.h",
Hector Dearman3d8970f2017-10-31 09:27:15 +000045 ]
46}
47
Hector Dearman650fb842017-11-06 15:03:41 +000048# These tests require access to a real ftrace implementation and must
49# run with sudo.
50executable("ftrace_reader_integrationtests") {
51 testonly = true
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080052 deps = [
Hector Dearman650fb842017-11-06 15:03:41 +000053 ":ftrace_reader",
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080054 "../gn:default_deps",
55 "../gn:gtest_deps",
56 "../perfetto_base",
57 "../protos/ftrace:full",
Hector Dearman650fb842017-11-06 15:03:41 +000058 ]
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080059
Hector Dearman650fb842017-11-06 15:03:41 +000060 sources = [
Hector Dearman8d8ccd32017-11-27 16:06:34 +000061 "src/end_to_end_integrationtest.cc",
Hector Dearman0d300332017-11-22 11:05:34 +000062 "src/ftrace_procfs_integrationtest.cc",
Hector Dearman650fb842017-11-06 15:03:41 +000063 ]
64}
65
Hector Dearman3d8970f2017-10-31 09:27:15 +000066executable("ftrace_reader_demo") {
Hector Dearmanbefe55b2017-11-24 19:02:59 +000067 testonly = true
Hector Dearman3d8970f2017-10-31 09:27:15 +000068 sources = [
Hector Dearmanbefe55b2017-11-24 19:02:59 +000069 "src/main.cc",
Hector Dearman3d8970f2017-10-31 09:27:15 +000070 ]
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080071 deps = [
Hector Dearmanbefe55b2017-11-24 19:02:59 +000072 ":ftrace_reader",
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080073 "../gn:default_deps",
74 "../perfetto_base",
Hector Dearmanbefe55b2017-11-24 19:02:59 +000075 ]
Hector Dearman3d8970f2017-10-31 09:27:15 +000076}
77
78source_set("ftrace_reader") {
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080079 all_dependent_configs = [ ":ftrace_reader_config" ]
80
81 deps = [
82 "../perfetto_base",
83 "../protozero",
Hector Dearman385adde2017-11-14 12:21:42 +000084 ]
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080085
86 if (!build_with_chromium) {
87 all_dependent_configs += [ "//buildtools:googletest_prod_config" ]
88 }
89
Hector Dearman2c650f82017-11-08 10:51:45 +000090 public_deps = [
Oystein Eftevaagdd727e42017-12-05 08:49:55 -080091 "../protos/ftrace:zero",
Hector Dearman2c650f82017-11-08 10:51:45 +000092 ]
Hector Dearman3d8970f2017-10-31 09:27:15 +000093 sources = [
Hector Dearman2193ff42017-11-08 14:15:19 +000094 "include/ftrace_reader/format_parser.h",
Hector Dearman650fb842017-11-06 15:03:41 +000095 "include/ftrace_reader/ftrace_controller.h",
Hector Dearman2193ff42017-11-08 14:15:19 +000096 "include/ftrace_reader/ftrace_to_proto.h",
Hector Dearman0d300332017-11-22 11:05:34 +000097 "src/cpu_reader.cc",
98 "src/cpu_reader.h",
Hector Dearman2193ff42017-11-08 14:15:19 +000099 "src/format_parser.cc",
Hector Dearman650fb842017-11-06 15:03:41 +0000100 "src/ftrace_controller.cc",
Hector Dearman0d300332017-11-22 11:05:34 +0000101 "src/ftrace_procfs.cc",
102 "src/ftrace_procfs.h",
Hector Dearman2193ff42017-11-08 14:15:19 +0000103 "src/ftrace_to_proto.cc",
Hector Dearman0d300332017-11-22 11:05:34 +0000104 "src/proto_translation_table.cc",
105 "src/proto_translation_table.h",
Hector Dearman3d8970f2017-10-31 09:27:15 +0000106 ]
107}