media/webrtc/trunk/testing/gtest/scripts/upload_gtest.py

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/media/webrtc/trunk/testing/gtest/scripts/upload_gtest.py	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,78 @@
     1.4 +#!/usr/bin/env python
     1.5 +#
     1.6 +# Copyright 2009, Google Inc.
     1.7 +# All rights reserved.
     1.8 +#
     1.9 +# Redistribution and use in source and binary forms, with or without
    1.10 +# modification, are permitted provided that the following conditions are
    1.11 +# met:
    1.12 +#
    1.13 +#     * Redistributions of source code must retain the above copyright
    1.14 +# notice, this list of conditions and the following disclaimer.
    1.15 +#     * Redistributions in binary form must reproduce the above
    1.16 +# copyright notice, this list of conditions and the following disclaimer
    1.17 +# in the documentation and/or other materials provided with the
    1.18 +# distribution.
    1.19 +#     * Neither the name of Google Inc. nor the names of its
    1.20 +# contributors may be used to endorse or promote products derived from
    1.21 +# this software without specific prior written permission.
    1.22 +#
    1.23 +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
    1.24 +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
    1.25 +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
    1.26 +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
    1.27 +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
    1.28 +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
    1.29 +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
    1.30 +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
    1.31 +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
    1.32 +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
    1.33 +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
    1.34 +
    1.35 +"""upload_gtest.py v0.1.0 -- uploads a Google Test patch for review.
    1.36 +
    1.37 +This simple wrapper passes all command line flags and
    1.38 +--cc=googletestframework@googlegroups.com to upload.py.
    1.39 +
    1.40 +USAGE: upload_gtest.py [options for upload.py]
    1.41 +"""
    1.42 +
    1.43 +__author__ = 'wan@google.com (Zhanyong Wan)'
    1.44 +
    1.45 +import os
    1.46 +import sys
    1.47 +
    1.48 +CC_FLAG = '--cc='
    1.49 +GTEST_GROUP = 'googletestframework@googlegroups.com'
    1.50 +
    1.51 +
    1.52 +def main():
    1.53 +  # Finds the path to upload.py, assuming it is in the same directory
    1.54 +  # as this file.
    1.55 +  my_dir = os.path.dirname(os.path.abspath(__file__))
    1.56 +  upload_py_path = os.path.join(my_dir, 'upload.py')
    1.57 +
    1.58 +  # Adds Google Test discussion group to the cc line if it's not there
    1.59 +  # already.
    1.60 +  upload_py_argv = [upload_py_path]
    1.61 +  found_cc_flag = False
    1.62 +  for arg in sys.argv[1:]:
    1.63 +    if arg.startswith(CC_FLAG):
    1.64 +      found_cc_flag = True
    1.65 +      cc_line = arg[len(CC_FLAG):]
    1.66 +      cc_list = [addr for addr in cc_line.split(',') if addr]
    1.67 +      if GTEST_GROUP not in cc_list:
    1.68 +        cc_list.append(GTEST_GROUP)
    1.69 +      upload_py_argv.append(CC_FLAG + ','.join(cc_list))
    1.70 +    else:
    1.71 +      upload_py_argv.append(arg)
    1.72 +
    1.73 +  if not found_cc_flag:
    1.74 +    upload_py_argv.append(CC_FLAG + GTEST_GROUP)
    1.75 +
    1.76 +  # Invokes upload.py with the modified command line flags.
    1.77 +  os.execv(upload_py_path, upload_py_argv)
    1.78 +
    1.79 +
    1.80 +if __name__ == '__main__':
    1.81 +  main()

mercurial