summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Benvenuto <mark.benvenuto@mongodb.com>2017-03-09 13:47:54 -0500
committerMark Benvenuto <mark.benvenuto@mongodb.com>2017-03-09 13:47:54 -0500
commit7ca96b371e71adf565941c17b3d807e7dead734e (patch)
tree099e46d6d84626d0073e0f8f9f2d5b43ab0fe0e5
parent4bda560cd9b0061afa83e097ad9196b1ac76b073 (diff)
downloadmongo-7ca96b371e71adf565941c17b3d807e7dead734e.tar.gz
SERVER-27462 Remove Python 2.6 compatibility code from scripts in buildscripts/ directory
-rw-r--r--buildscripts/buildlogger.py18
-rw-r--r--buildscripts/burn_in_tests.py53
-rwxr-xr-xbuildscripts/clang_format.py53
-rwxr-xr-xbuildscripts/eslint.py54
-rwxr-xr-xbuildscripts/hang_analyzer.py37
-rwxr-xr-xbuildscripts/scons.py5
6 files changed, 9 insertions, 211 deletions
diff --git a/buildscripts/buildlogger.py b/buildscripts/buildlogger.py
index 531c9cc9e9a..163c10aeccf 100644
--- a/buildscripts/buildlogger.py
+++ b/buildscripts/buildlogger.py
@@ -101,23 +101,7 @@ auth_handler.add_password(
user=username,
passwd=password)
-# This version of HTTPErrorProcessor is copied from
-# Python 2.7, and allows REST response codes (e.g.
-# "201 Created") which are treated as errors by
-# older versions.
-class HTTPErrorProcessor(urllib2.HTTPErrorProcessor):
- def http_response(self, request, response):
- code, msg, hdrs = response.code, response.msg, response.info()
-
- # According to RFC 2616, "2xx" code indicates that the client's
- # request was successfully received, understood, and accepted.
- if not (200 <= code < 300):
- response = self.parent.error(
- 'http', request, response, code, msg, hdrs)
-
- return response
-
-url_opener = urllib2.build_opener(auth_handler, HTTPErrorProcessor())
+url_opener = urllib2.build_opener(auth_handler, urllib2.HTTPErrorProcessor())
def url(endpoint):
if not endpoint.endswith('/'):
diff --git a/buildscripts/burn_in_tests.py b/buildscripts/burn_in_tests.py
index 2279ae5ce4b..215673d877d 100644
--- a/buildscripts/burn_in_tests.py
+++ b/buildscripts/burn_in_tests.py
@@ -79,61 +79,10 @@ def parse_command_line():
return parser.parse_args()
-# Copied from python 2.7 version of subprocess.py
-# Exception classes used by this module.
-class CalledProcessError(Exception):
- """This exception is raised when a process run by check_call() or
- check_output() returns a non-zero exit status.
- The exit status will be stored in the returncode attribute;
- check_output() will also store the output in the output attribute.
- """
- def __init__(self, returncode, cmd, output=None):
- self.returncode = returncode
- self.cmd = cmd
- self.output = output
- def __str__(self):
- return ("Command '%s' returned non-zero exit status %d with output %s" %
- (self.cmd, self.returncode, self.output))
-
-
-# Copied from python 2.7 version of subprocess.py
-def check_output(*popenargs, **kwargs):
- """Run command with arguments and return its output as a byte string.
-
- If the exit code was non-zero it raises a CalledProcessError. The
- CalledProcessError object will have the return code in the returncode
- attribute and output in the output attribute.
-
- The arguments are the same as for the Popen constructor. Example:
-
- >>> check_output(["ls", "-l", "/dev/null"])
- 'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
-
- The stdout argument is not allowed as it is used internally.
- To capture standard error in the result, use stderr=STDOUT.
-
- >>> check_output(["/bin/sh", "-c",
- ... "ls -l non_existent_file ; exit 0"],
- .. stderr=STDOUT)
- 'ls: non_existent_file: No such file or directory\n'
- """
- if 'stdout' in kwargs:
- raise ValueError('stdout argument not allowed, it will be overridden.')
- process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
- output, unused_err = process.communicate()
- retcode = process.poll()
- if retcode:
- cmd = kwargs.get("args")
- if cmd is None:
- cmd = popenargs[0]
- raise CalledProcessError(retcode, cmd, output)
- return output
-
-
def callo(args):
"""Call a program, and capture its output
"""
- return check_output(args)
+ return subprocess.check_output(args)
def read_evg_config():
diff --git a/buildscripts/clang_format.py b/buildscripts/clang_format.py
index 86f3dbc055b..c3910f6b1c3 100755
--- a/buildscripts/clang_format.py
+++ b/buildscripts/clang_format.py
@@ -62,61 +62,10 @@ CLANG_FORMAT_SOURCE_TAR_BASE = string.Template("clang+llvm-$version-$tar_path/bi
MODULE_DIR = "src/mongo/db/modules"
##############################################################################
-
-# Copied from python 2.7 version of subprocess.py
-# Exception classes used by this module.
-class CalledProcessError(Exception):
- """This exception is raised when a process run by check_call() or
- check_output() returns a non-zero exit status.
- The exit status will be stored in the returncode attribute;
- check_output() will also store the output in the output attribute.
- """
- def __init__(self, returncode, cmd, output=None):
- self.returncode = returncode
- self.cmd = cmd
- self.output = output
- def __str__(self):
- return ("Command '%s' returned non-zero exit status %d with output %s" %
- (self.cmd, self.returncode, self.output))
-
-
-# Copied from python 2.7 version of subprocess.py
-def check_output(*popenargs, **kwargs):
- r"""Run command with arguments and return its output as a byte string.
-
- If the exit code was non-zero it raises a CalledProcessError. The
- CalledProcessError object will have the return code in the returncode
- attribute and output in the output attribute.
-
- The arguments are the same as for the Popen constructor. Example:
-
- >>> check_output(["ls", "-l", "/dev/null"])
- 'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
-
- The stdout argument is not allowed as it is used internally.
- To capture standard error in the result, use stderr=STDOUT.
-
- >>> check_output(["/bin/sh", "-c",
- ... "ls -l non_existent_file ; exit 0"],
- ... stderr=STDOUT)
- 'ls: non_existent_file: No such file or directory\n'
- """
- if 'stdout' in kwargs:
- raise ValueError('stdout argument not allowed, it will be overridden.')
- process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
- output, unused_err = process.communicate()
- retcode = process.poll()
- if retcode:
- cmd = kwargs.get("args")
- if cmd is None:
- cmd = popenargs[0]
- raise CalledProcessError(retcode, cmd, output)
- return output
-
def callo(args):
"""Call a program, and capture its output
"""
- return check_output(args)
+ return subprocess.check_output(args)
def get_tar_path(version, tar_path):
""" Get the path to clang-format in the llvm tarball
diff --git a/buildscripts/eslint.py b/buildscripts/eslint.py
index 06562f2f8da..0bcf567dab0 100755
--- a/buildscripts/eslint.py
+++ b/buildscripts/eslint.py
@@ -59,60 +59,10 @@ ESLINT_SOURCE_TAR_BASE = string.Template(ESLINT_PROGNAME + "-$platform-$arch")
# Has to match the string in SConstruct.
MODULE_DIR = "src/mongo/db/modules"
-# Copied from python 2.7 version of subprocess.py
-# Exception classes used by this module.
-class CalledProcessError(Exception):
- """This exception is raised when a process run by check_call() or
- check_output() returns a non-zero exit status.
- The exit status will be stored in the returncode attribute;
- check_output() will also store the output in the output attribute.
- """
- def __init__(self, returncode, cmd, output=None):
- self.returncode = returncode
- self.cmd = cmd
- self.output = output
- def __str__(self):
- return ("Command '%s' returned non-zero exit status %d with output %s" %
- (self.cmd, self.returncode, self.output))
-
-
-# Copied from python 2.7 version of subprocess.py
-def check_output(*popenargs, **kwargs):
- r"""Run command with arguments and return its output as a byte string.
-
- If the exit code was non-zero it raises a CalledProcessError. The
- CalledProcessError object will have the return code in the returncode
- attribute and output in the output attribute.
-
- The arguments are the same as for the Popen constructor. Example:
-
- >>> check_output(["ls", "-l", "/dev/null"])
- 'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
-
- The stdout argument is not allowed as it is used internally.
- To capture standard error in the result, use stderr=STDOUT.
-
- >>> check_output(["/bin/sh", "-c",
- ... "ls -l non_existent_file ; exit 0"],
- ... stderr=STDOUT)
- 'ls: non_existent_file: No such file or directory\n'
- """
- if 'stdout' in kwargs:
- raise ValueError('stdout argument not allowed, it will be overridden.')
- process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
- output, unused_err = process.communicate()
- retcode = process.poll()
- if retcode:
- cmd = kwargs.get("args")
- if cmd is None:
- cmd = popenargs[0]
- raise CalledProcessError(retcode, cmd, output)
- return output
-
def callo(args):
"""Call a program, and capture its output
"""
- return check_output(args)
+ return subprocess.check_output(args)
def extract_eslint(tar_path, target_file):
tarfp = tarfile.open(tar_path)
@@ -223,7 +173,7 @@ class ESLint(object):
# so only enter the printing logic if we have an error.
try:
eslint_output = callo([self.path, "-f", "unix", file_name])
- except CalledProcessError as e:
+ except subprocess.CalledProcessError as e:
if print_diff:
# Take a lock to ensure error messages do not get mixed when printed to the screen
with self.print_lock:
diff --git a/buildscripts/hang_analyzer.py b/buildscripts/hang_analyzer.py
index 6be459ae750..da000998711 100755
--- a/buildscripts/hang_analyzer.py
+++ b/buildscripts/hang_analyzer.py
@@ -49,45 +49,10 @@ def call(a, logger):
raise Exception()
-# Copied from python 2.7 version of subprocess.py
-def check_output(*popenargs, **kwargs):
- r"""Run command with arguments and return its output as a byte string.
-
- If the exit code was non-zero it raises a CalledProcessError. The
- CalledProcessError object will have the return code in the returncode
- attribute and output in the output attribute.
-
- The arguments are the same as for the Popen constructor. Example:
-
- >>> check_output(["ls", "-l", "/dev/null"])
- 'crw-rw-rw- 1 root root 1, 3 Oct 18 2007 /dev/null\n'
-
- The stdout argument is not allowed as it is used internally.
- To capture standard error in the result, use stderr=STDOUT.
-
- >>> check_output(["/bin/sh", "-c",
- ... "ls -l non_existent_file ; exit 0"],
- ... stderr=STDOUT)
- 'ls: non_existent_file: No such file or directory\n'
- """
- if 'stdout' in kwargs:
- raise ValueError('stdout argument not allowed, it will be overridden.')
- process = subprocess.Popen(stdout=subprocess.PIPE, *popenargs, **kwargs)
- output, unused_err = process.communicate()
- retcode = process.poll()
- if retcode:
- cmd = kwargs.get("args")
- if cmd is None:
- cmd = popenargs[0]
- raise CalledProcessError(retcode, cmd, output=output)
-
- return output
-
-
def callo(a, logger):
logger.info("%s" % str(a))
- return check_output(a)
+ return subprocess.check_output(a)
def find_program(prog, paths):
diff --git a/buildscripts/scons.py b/buildscripts/scons.py
index e7860162eb6..ee2800e8d41 100755
--- a/buildscripts/scons.py
+++ b/buildscripts/scons.py
@@ -9,8 +9,9 @@ SCONS_VERSION = os.environ.get('SCONS_VERSION', "2.5.0")
mongodb_root = os.path.dirname(os.path.dirname(__file__))
scons_dir = os.path.join(mongodb_root, 'src', 'third_party', 'scons-' + SCONS_VERSION)
+args = [sys.executable, os.path.join(scons_dir, 'scons.py')] + sys.argv[1:]
+
if sys.platform == 'win32':
- args = [sys.executable, os.path.join(scons_dir, 'scons.py')] + sys.argv[1:]
sys.exit(subprocess.call(args))
else:
- os.execv(os.path.join(scons_dir, 'scons.py'), sys.argv)
+ os.execv(sys.executable, args)