Your IP : 216.73.216.213
���]t � @ s( d d l Z d d l Z d d l Z d d l Z d d l m Z d d l m Z d d l m Z m
Z
m Z d d l m
Z
d d l Z d d l m Z m Z Gd d � d e j � Z d d
� Z e
d d � � Z d
d � Z d d � Z i Z d e d <d e d <d e d <e d k r$e � d S)� N)�unified_diff)�StringIO)�TESTFN�run_unittest�unlink)�contextmanager)�testfunc�timerc @ s� e Z d Z e j Z e Z d d d g Z d Z d d � Z d d � Z
e d d
� � Z d d � Z
d
d � Z d d � Z d d � Z d S)�ProfileTest�print_stats�
print_callers�
print_calleesz:0(max)c C s t t � d S)N)r r )�self� r �1/opt/alt/python35/lib64/python3.5/test_profile.py�tearDown s zProfileTest.tearDownc C s t S)N)�_ProfileOutput)r r r r �get_expected_output s zProfileTest.get_expected_outputc s g } | j t d � } t � } | j d t � t � � | j t � | � x� | j D]� } t � } t j | d | �} | j
� j d � t | | � � | j
� j � } t j j d d � d � � f d d � | D� } | j d j | � � qX W| S)
Ng����MbP?z
testfunc()�streamZstdname�.� c s( g | ] } � | k r | j � � q Sr )�rstrip)�.0�line)�mod_namer r �
<listcomp>. s z,ProfileTest.do_profiling.<locals>.<listcomp>�
)�
profilerclassr �runctx�globals�locals�append�methodnamesr �pstats�StatsZ
strip_dirsZ
sort_stats�getattr�getvalue�
splitlinesr �
__module__�rsplit�join)�cls�results�profZstart_timerZ
methodname�s�stats�outputr )r r �do_profiling s zProfileTest.do_profilingc C s� | j � } | j � } | j | d d � x� t | j � D]x \ } } | | d | | k r<