shell bypass 403
�
?��cc @ s� d Z d d l m Z m Z d d l Z d d l m Z m Z m Z m Z d d l
Z
d d l m Z e
e d � � � Z e
e d � � � Z e d d e �d d
l m Z d e f d � � YZ d
� Z e d k r� e � n d S( s/
Test cases for pyclbr.py
Nick Mathewson
i����( t run_unittestt
import_moduleN( t ClassTypet FunctionTypet
MethodTypet BuiltinFunctionType( t TestCasec C s d S( N( t None( ( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyt <lambda> t c C s d S( N( R ( t c( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyR R t commandst
deprecated( t getstatust
PyclbrTestc B s_ e Z d � Z d � Z d � Z d � Z d d
d � Z d � Z d � Z d � Z
d � Z RS( c C s^ t | � t | � At | � } | rZ t j d | | | f IJ| j d | j � � n d S( s0 succeed iff {l1} - {ignore} == {l2} - {ignore} s l1=%r
l2=%r
ignore=%rs
%r missingN( t sett syst stderrt failt pop( t selft l1t l2t ignoret missing( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyt assertListEq s c C sR | | k r d St | | � s+ d G| GHn | j t | | � d | | f � d S( s2 succeed iff hasattr(obj,attr) or attr in ignore. Ns ???s expected hasattr(%r, %r)( t hasattrt
assertTrue( R t objt attrR ( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyt
assertHasattr$ s c C sF | | k r d S| | k r2 t j d I| IJn | j | | � d S( s* succeed iff key in obj or key in ignore. Ns ***( R R t assertIn( R R t keyR ( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyt assertHaskey, s
c C s/ | | k r+ | | k r+ | j | | � n d S( s2 succeed iff a == b or a in ignore or b in ignore N( t assertEqual( R t at bR ( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyt assertEqualsOrIgnored3 s c C s | d
k r* t | t � i d g � } n t j | � } d � } x_| j � D]Q\ } } | | k rm qO n | j | | | � t | | � } t | t j � r� | j
| t t f � | j
| k r� qO n | j | j
| j � qO | j
| t t f � | j
| k rqO n g | j D] } | j ^ q}
g | j D] } t | d | � ^ q9} y | j |
| | � Wn t j d | IJ� n Xg } xB | j j � D]1 }
| | t | |
� |
� r�| j |
� q�q�Wg } x\ | j j � D]K }
|
d d k r+|
d d k r+| j d | |
� q�| j |
� q�WyF | j | | | � | j | j
| j � | j | j | j | � WqO t j d | IJ� qO XqO Wd � } x` t | � D]R } t | | � } t | t t f � r�| | | � r| j | | | � qq�q�Wd
S( s� succeed iff pyclbr.readmodule_ex(modulename) corresponds
to the actual module object, module. Any identifiers in
ignore are ignored. If no module is provided, the appropriate
module is loaded with __import__.s <silly>c S s� | j } t | t � r2 t | | t � s� t Snc t | t � sE t S| j d k r~ t | | t � sw | j | k r� t Sn t | | t � s� t S| j } | j
d � r� | j d � r� d | j j | f } n | | k S( Nt __s _%s%s(
t __dict__t
isinstanceR t StaticMethodTypet FalseR t im_selfR t ClassMethodTypet __name__t
startswitht endswitht im_class( t oclassR t namet classdictt objname( ( s7 /usr/local/python-2.7/lib/python2.7/test/test_pyclbr.pyt ismethodE s R2 s class=%si R&