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