1# Copyright 2023 The Chromium Authors 2# Use of this source code is governed by a BSD-style license that can be 3# found in the LICENSE file. 4 5import("//build/util/generate_wrapper.gni") 6import("//build_overrides/build.gni") 7 8if (enable_base_tracing) { 9 generate_wrapper("perfetto_diff_tests") { 10 testonly = true 11 12 _protos_path = "$root_gen_dir/third_party/perfetto/protos" 13 _trace_descriptor = "$_protos_path/perfetto/trace/trace.descriptor" 14 _rebased_trace_descriptor = rebase_path(_trace_descriptor, root_build_dir) 15 _test_extensions_descriptor = 16 "$_protos_path/perfetto/trace/test_extensions.descriptor" 17 _rebased_test_extensions_descriptor = 18 rebase_path(_test_extensions_descriptor, root_build_dir) 19 _metrics_descriptor = "$_protos_path/perfetto/metrics/metrics.descriptor" 20 _rebased_metrics_descriptor = 21 rebase_path(_metrics_descriptor, root_build_dir) 22 _all_chrome_metrics_descriptor = 23 "$_protos_path/perfetto/metrics/chrome/all_chrome_metrics.descriptor" 24 _rebased_all_chrome_metrics_descriptor = 25 rebase_path(_all_chrome_metrics_descriptor, root_build_dir) 26 _chrome_track_event_descriptor = 27 "$root_gen_dir/base/tracing/protos/chrome_track_event.descriptor" 28 _rebased_chrome_track_event_descriptor = 29 rebase_path(_chrome_track_event_descriptor, root_build_dir) 30 31 _perfetto_script = 32 rebase_path("//third_party/perfetto/tools/diff_test_trace_processor.py", 33 root_build_dir) 34 _chrome_stdlib = rebase_path("//base/tracing/stdlib/chrome", root_build_dir) 35 _test_dir = rebase_path("//base/tracing", root_build_dir) 36 37 executable = "//base/tracing/test/run_perfetto_diff_tests.py" 38 wrapper_script = "$root_build_dir/bin/run_perfetto_diff_tests" 39 40 executable_args = [ 41 "--trace-processor-shell", 42 "@WrappedPath(./trace_processor_shell)", 43 "--chrome-stdlib", 44 "@WrappedPath($_chrome_stdlib)", 45 "--test-dir", 46 "@WrappedPath($_test_dir)", 47 "--trace-descriptor", 48 "@WrappedPath($_rebased_trace_descriptor)", 49 "--test-extensions-descriptor", 50 "@WrappedPath($_rebased_test_extensions_descriptor)", 51 "--metrics-descriptor", 52 "@WrappedPath($_rebased_metrics_descriptor)", 53 "--all-chrome-metrics-descriptor", 54 "@WrappedPath($_rebased_all_chrome_metrics_descriptor)", 55 "--chrome-track-event-descriptor", 56 "@WrappedPath($_rebased_chrome_track_event_descriptor)", 57 "--script", 58 "@WrappedPath($_perfetto_script)", 59 ] 60 61 data_deps = [ 62 "//base/tracing/protos:chrome_track_event", 63 "//third_party/perfetto/protos/perfetto/metrics:descriptor", 64 "//third_party/perfetto/protos/perfetto/metrics/chrome:descriptor", 65 "//third_party/perfetto/protos/perfetto/trace:descriptor", 66 "//third_party/perfetto/protos/perfetto/trace:test_extensions_descriptor", 67 "//third_party/perfetto/src/trace_processor:trace_processor_shell", 68 ] 69 70 data = [ 71 "//third_party/perfetto/tools/diff_test_trace_processor.py", 72 "//third_party/perfetto/python/generators/diff_tests/", 73 "//base/tracing/", 74 _trace_descriptor, 75 _test_extensions_descriptor, 76 _metrics_descriptor, 77 _all_chrome_metrics_descriptor, 78 _chrome_track_event_descriptor, 79 ] 80 } 81} 82