3 JZ @s:dZddlZddlZddlZddlZddlZddlZyddlmZWn e k rdddl mZYnXddl m Z ddl m Z ejjejjeZdZgZejdddkrejd d d d gnVejdddksejdddkrejd dgn ejdddkrejd gddZdddZddZedS)z? Run unit tests. This is invoked by: $ python -m psutil.tests N)urlopen) PYTHON_EXE) run_suitez$https://bootstrap.pypa.io/get-pip.pyZ ipaddressZ unittest2argparsez mock==1.0.1ZmockcCsy ddl}Wntk rtjdd}tj|tdt|jft t drZt j }nd}|rlt |dni}t tf|}|j}|j||jtdtjdt|jf}|SQRXYnXdS) Nrz.py)suffixzdownloading %s to %s_create_unverified_context)contextzinstalling pipz %s %s --user)pip ImportErrortempfileZNamedTemporaryFile contextlibclosingprint GET_PIP_URLnamehasattrsslr dictrreadwriteflushossystemr)r fZctxkwargsZreqdatacoder! /usr/lib64/python3.6/__main__.py install_pip&s"       r#cCsV|dkr t}t|}|rRttd}|s*dnd}ttjdt|dj|f}|SdS)z"Install test dependencies via pip.NZ real_prefixz--userz!%s -m pip install %s --upgrade %s ) TEST_DEPSsetrsysr#rrrjoin)ZdepsZis_venvoptsr r!r!r"install_test_deps<s  r+c Csdt}tj|dd}|jdddddd |j\}}|jrJttnRxJtD]B}yt |j d d WqPt k rt j d |tfYqPXqPWtdS) Nz%s -m psutil.tests [opts]zrun unit tests)usage descriptionz-iz--install-deps store_trueFz%don't print status messages to stdout)actiondefaulthelpz==rz>%r lib is not installed; run %s -m psutil.tests --install-deps)roptparseZ OptionParserZ add_option parse_argsZ install_depsr#r+r& __import__splitrr(exitr)r,parserr*argsZdepr!r!r"mainJs   r9)rr)rr)r r)r r )N)__doc__rr2rrr(rZurllib.requestrrZurllib2Z psutil.testsrrpathabspathdirname__file__ZHERErr& version_infoextendr#r+r9r!r!r!r" s2  &