xref: /aosp_15_r20/external/cronet/base/tracing/test/run_perfetto_diff_tests.py (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1#!/usr/bin/env vpython3
2# Copyright 2023 The Chromium Authors
3# Use of this source code is governed by a BSD-style license that can be
4# found in the LICENSE file.
5
6# A wrapper script for //third_party/perfetto/diff_test_trace_processor.py.
7
8import argparse
9import subprocess
10import sys
11import os
12import time
13import json
14
15def main():
16  parser = argparse.ArgumentParser()
17  parser.add_argument('--trace-descriptor', type=str, required=True)
18  parser.add_argument('--test-extensions-descriptor', type=str, required=True)
19  parser.add_argument('--metrics-descriptor', type=str, required=True)
20  parser.add_argument(
21    '--all-chrome-metrics-descriptor', type=str, required=True)
22  parser.add_argument(
23    '--chrome-track-event-descriptor', type=str, required=True)
24  parser.add_argument(
25      '--chrome-stdlib', type=str, required=True)
26  parser.add_argument('--test-dir', type=str, required=True)
27  parser.add_argument(
28      '--trace-processor-shell', type=str, required=True)
29  parser.add_argument("--name-filter", default="", type=str, required=False)
30  parser.add_argument("--script", type=str, required=True)
31  args, _ = parser.parse_known_args()
32
33  cmd = [
34    "vpython3", args.script,
35    "--trace-descriptor", args.trace_descriptor,
36    "--test-extensions", args.test_extensions_descriptor,
37    "--metrics-descriptor", args.metrics_descriptor,
38                            args.all_chrome_metrics_descriptor,
39    "--chrome-track-event-descriptor", args.chrome_track_event_descriptor,
40    "--override-sql-module", os.path.abspath(args.chrome_stdlib),
41    "--test-dir", args.test_dir,
42    "--name-filter",
43    args.name_filter,
44    args.trace_processor_shell,
45  ]
46
47  test_start_time = time.time()
48  completed_process = subprocess.run(cmd, capture_output=True)
49
50  sys.stderr.buffer.write(completed_process.stderr)
51  sys.stdout.buffer.write(completed_process.stdout)
52  return completed_process.returncode
53
54if __name__ == '__main__':
55  sys.exit(main())
56