From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- third_party/libwebrtc/build/copy_test_data_ios.py | 107 ++++++++++++++++++++++ 1 file changed, 107 insertions(+) create mode 100755 third_party/libwebrtc/build/copy_test_data_ios.py (limited to 'third_party/libwebrtc/build/copy_test_data_ios.py') diff --git a/third_party/libwebrtc/build/copy_test_data_ios.py b/third_party/libwebrtc/build/copy_test_data_ios.py new file mode 100755 index 0000000000..cd23fb29bd --- /dev/null +++ b/third_party/libwebrtc/build/copy_test_data_ios.py @@ -0,0 +1,107 @@ +#!/usr/bin/env python +# Copyright (c) 2012 The Chromium Authors. All rights reserved. +# Use of this source code is governed by a BSD-style license that can be +# found in the LICENSE file. + +"""Copies test data files or directories into a given output directory.""" + +from __future__ import print_function + +import optparse +import os +import shutil +import sys + +class WrongNumberOfArgumentsException(Exception): + pass + +def EscapePath(path): + """Returns a path with spaces escaped.""" + return path.replace(" ", "\\ ") + +def ListFilesForPath(path): + """Returns a list of all the files under a given path.""" + output = [] + # Ignore revision control metadata directories. + if (os.path.basename(path).startswith('.git') or + os.path.basename(path).startswith('.svn')): + return output + + # Files get returned without modification. + if not os.path.isdir(path): + output.append(path) + return output + + # Directories get recursively expanded. + contents = os.listdir(path) + for item in contents: + full_path = os.path.join(path, item) + output.extend(ListFilesForPath(full_path)) + return output + +def CalcInputs(inputs): + """Computes the full list of input files for a set of command-line arguments. + """ + # |inputs| is a list of paths, which may be directories. + output = [] + for input in inputs: + output.extend(ListFilesForPath(input)) + return output + +def CopyFiles(relative_filenames, output_basedir): + """Copies files to the given output directory.""" + for file in relative_filenames: + relative_dirname = os.path.dirname(file) + output_dir = os.path.join(output_basedir, relative_dirname) + output_filename = os.path.join(output_basedir, file) + + # In cases where a directory has turned into a file or vice versa, delete it + # before copying it below. + if os.path.exists(output_dir) and not os.path.isdir(output_dir): + os.remove(output_dir) + if os.path.exists(output_filename) and os.path.isdir(output_filename): + shutil.rmtree(output_filename) + + if not os.path.exists(output_dir): + os.makedirs(output_dir) + shutil.copy(file, output_filename) + +def DoMain(argv): + parser = optparse.OptionParser() + usage = 'Usage: %prog -o [--inputs] [--outputs] ' + parser.set_usage(usage) + parser.add_option('-o', dest='output_dir') + parser.add_option('--inputs', action='store_true', dest='list_inputs') + parser.add_option('--outputs', action='store_true', dest='list_outputs') + options, arglist = parser.parse_args(argv) + + if len(arglist) == 0: + raise WrongNumberOfArgumentsException(' required.') + + files_to_copy = CalcInputs(arglist) + escaped_files = [EscapePath(x) for x in CalcInputs(arglist)] + if options.list_inputs: + return '\n'.join(escaped_files) + + if not options.output_dir: + raise WrongNumberOfArgumentsException('-o required.') + + if options.list_outputs: + outputs = [os.path.join(options.output_dir, x) for x in escaped_files] + return '\n'.join(outputs) + + CopyFiles(files_to_copy, options.output_dir) + return + +def main(argv): + try: + result = DoMain(argv[1:]) + except WrongNumberOfArgumentsException as e: + print(e, file=sys.stderr) + return 1 + if result: + print(result) + return 0 + +if __name__ == '__main__': + sys.exit(main(sys.argv)) -- cgit v1.2.3