#!/usr/bin/env python # Copyright (c) 2009, Giampaolo Rodola'. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE file. """ Run unit tests. This is invoked by: $ python -m psutil.tests """ import contextlib import optparse import os import sys import tempfile try: from urllib.request import urlopen # py3 except ImportError: from urllib2 import urlopen from psutil.tests import PYTHON_EXE from psutil.tests import run_suite HERE = os.path.abspath(os.path.dirname(__file__)) GET_PIP_URL = "https://bootstrap.pypa.io/get-pip.py" TEST_DEPS = [] if sys.version_info[:2] == (2, 6): TEST_DEPS.extend(["ipaddress", "unittest2", "argparse", "mock==1.0.1"]) elif sys.version_info[:2] == (2, 7) or sys.version_info[:2] <= (3, 2): TEST_DEPS.extend(["ipaddress", "mock"]) def install_pip(): try: import pip # NOQA except ImportError: import ssl f = tempfile.NamedTemporaryFile(suffix='.py') with contextlib.closing(f): print("downloading %s to %s" % (GET_PIP_URL, f.name)) if hasattr(ssl, '_create_unverified_context'): ctx = ssl._create_unverified_context() else: ctx = None kwargs = dict(context=ctx) if ctx else {} req = urlopen(GET_PIP_URL, **kwargs) data = req.read() f.write(data) f.flush() print("installing pip") code = os.system('%s %s --user' % (PYTHON_EXE, f.name)) return code def install_test_deps(deps=None): """Install test dependencies via pip.""" if deps is None: deps = TEST_DEPS deps = set(deps) if deps: is_venv = hasattr(sys, 'real_prefix') opts = "--user" if not is_venv else "" install_pip() code = os.system('%s -m pip install %s --upgrade %s' % ( PYTHON_EXE, opts, " ".join(deps))) return code def main(): usage = "%s -m psutil.tests [opts]" % PYTHON_EXE parser = optparse.OptionParser(usage=usage, description="run unit tests") parser.add_option("-i", "--install-deps", action="store_true", default=False, help="don't print status messages to stdout") opts, args = parser.parse_args() if opts.install_deps: install_pip() install_test_deps() else: for dep in TEST_DEPS: try: __import__(dep.split("==")[0]) except ImportError: sys.exit("%r lib is not installed; run %s -m psutil.tests " "--install-deps" % (dep, PYTHON_EXE)) run_suite() main()
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
__init__.py | File | 38.34 KB | 0644 |
|
__main__.py | File | 2.66 KB | 0644 |
|
test_aix.py | File | 4.38 KB | 0644 |
|
test_bsd.py | File | 18.35 KB | 0644 |
|
test_connections.py | File | 20.2 KB | 0644 |
|
test_contracts.py | File | 23.29 KB | 0644 |
|
test_linux.py | File | 81.02 KB | 0644 |
|
test_memory_leaks.py | File | 17.84 KB | 0644 |
|
test_misc.py | File | 37.13 KB | 0644 |
|
test_osx.py | File | 9.44 KB | 0644 |
|
test_posix.py | File | 15.99 KB | 0644 |
|
test_process.py | File | 59.06 KB | 0644 |
|
test_sunos.py | File | 1.29 KB | 0644 |
|
test_system.py | File | 34.36 KB | 0644 |
|
test_unicode.py | File | 12.6 KB | 0644 |
|
test_windows.py | File | 32.64 KB | 0644 |
|