;
"Ic               @   s  d  d l  m Z d  d l m Z d  d l m Z d  d l m Z d  d l m	 Z	 m
 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 m Z m Z m Z d  d l m Z d  d l Z d  d l Z d  d l m Z Gd   d e  Z Gd   d e  Z d   Z  e  d d  Z! d   Z" Gd   d e  Z# Gd   d e  Z$ Gd   d e  Z% Gd   d e
  Z& Gd   d e&  Z' Gd    d! e  Z( d"   Z) e* d# k o e)   n d S($   i    (   u   nested_scopes(   u   TestCase(   u   setup_testing_defaults(   u   Headers(   u   BaseHandleru   BaseCGIHandler(   u   util(   u	   validator(   u
   WSGIServeru   WSGIRequestHandleru   demo_app(   u   make_server(   u   StringIOu   BytesIOu   BufferedReader(   u
   BaseServerN(   u   supportc             B   s&   |  Ee  Z d  Z d   Z d   Z d S(   u   Non-socket HTTP serverc             C   s!   t  j |  | |  |  j   d  S(   N(   u
   BaseServeru   __init__u   server_bind(   u   selfu   server_addressu   RequestHandlerClass(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   __init__   s    c             C   s/   |  j  \ } } | |  _ | |  _ |  j   d  S(   N(   u   server_addressu   server_nameu   server_portu   setup_environ(   u   selfu   hostu   port(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   server_bind   s    		N(   u   __name__u
   __module__u   __doc__u   __init__u   server_bind(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu
   MockServer   s   
	u
   MockServerc             B   s&   |  Ee  Z d  Z d   Z d   Z d S(   u   Non-socket HTTP handlerc             C   s%   |  j  |  _ |  j \ |  _ |  _ d  S(   N(   u   requestu
   connectionu   rfileu   wfile(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   setup    s    c             C   s   d  S(   N(    (   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   finish$   s    N(   u   __name__u
   __module__u   __doc__u   setupu   finish(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   MockHandler   s   
	u   MockHandlerc             C   s   | d d d g  d g S(	   Nu   200 OKu   Content-Typeu
   text/plainu   Dateu   Mon, 05 Jun 2006 18:49:54 GMTu   Hello, world!(   u   Content-Typeu
   text/plain(   u   Dateu   Mon, 05 Jun 2006 18:49:54 GMT(    (   u   environu   start_response(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu	   hello_app+   s    
s   GET / HTTP/1.0

c          
   C   s   t  d d |  t t  } t t |   } t   } t j } t   } t _ z | j | | f d  Wd  | t _ X| j	   | j	   f S(   Nu    iP   u	   127.0.0.1i"  (   u	   127.0.0.1i"  (
   u   make_serveru
   MockServeru   MockHandleru   BufferedReaderu   BytesIOu   StringIOu   sysu   stderru   finish_requestu   getvalue(   u   appu   datau   serveru   inpu   outu   olderru   err(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu	   run_amock2   s    		
c             C   s(  |    } d } x3 | D]+ } | | | k p
 t   n | d 7} q Wy | | Wn t k
 o Yn Xt  d |   y t t f Wn t k
 o Yn X|    } t |  | k	 o
 t   n x+ | D]# } t |  | k p
 t   q q Wy t |  Wn t k
 o Yn Xt  d |   d S(   u  Utility to compare a generic 2.1/2.2+ iterator with an iterable

    If running under Python 2.2+, this tests the iterator using iter()/next(),
    as well as __getitem__.  'make_it' must be a function returning a fresh
    iterator to be tested (since this may test the iterator twice).i    i   u   Too many items from __getitem__u   Too many items from .__next__()N(   u   AssertionErroru
   IndexErroru   iteru   StopIterationu	   NameErroru   next(   u   make_itu   matchu   itu   nu   item(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   compare_generic_iterV   s8    	  
	 
  c             B   s5   |  Ee  Z d d   Z d   Z d   Z d   Z d S(   c             C   s?   |  j  | d t j j   d d | o d p d d  d  S(   Nu/   HTTP/1.0 200 OK
Server: WSGIServer/0.1 Python/i    uA   
Content-Type: text/plain
Date: Mon, 05 Jun 2006 18:49:54 GMT
u   Content-Length: 13
u    u   
Hello, world!(   u   assertEqualu   sysu   versionu   split(   u   selfu   outu
   has_length(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   check_hello   s    	*c             C   s    t    \ } } |  j |  d  S(   N(   u	   run_amocku   check_hello(   u   selfu   outu   err(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   test_plain_hello   s    c             C   s/   t  t t   \ } } |  j | d d d  S(   Nu
   has_lengthF(   u	   run_amocku	   validatoru	   hello_appu   check_hellou   False(   u   selfu   outu   err(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   test_validated_hello   s    c             C   sU   d   } t  t |   \ } } |  j | j d   |  j | j   d d  d  S(   Nc             S   s   | d d  d g S(   Nu   200 OKu   Content-Typeu
   text/plainu   Hello, world!(   u   Content-Typeu
   text/plain(    (   u   environu   start_response(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   bad_app   s    u;   A server error occurred.  Please contact the administrator.iu^   AssertionError: Headers (('Content-Type', 'text/plain')) must be of type list: <class 'tuple'>(   u	   run_amocku	   validatoru
   failUnlessu   endswithu   assertEqualu
   splitlines(   u   selfu   bad_appu   outu   err(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   test_simple_validation_error   s    	
NT(   u   __name__u
   __module__u   Trueu   check_hellou   test_plain_hellou   test_validated_hellou   test_simple_validation_error(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   IntegrationTests   s   
		u   IntegrationTestsc             B   s   |  Ee  Z d    Z d d  Z d   Z d   Z d d  Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d S(   c             C   sf   i | d 6| d 6} t  j |  |  j t  j |  |  |  j | d |  |  j | d |  | S(   Nu   SCRIPT_NAMEu	   PATH_INFO(   u   utilu   setup_testing_defaultsu   assertEqualu   shift_path_info(   u   selfu   sn_inu   pi_inu   partu   sn_outu   pi_outu   env(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu
   checkShift   s    c             C   s   i  } t  j |  t | t  o |  j t | | t   n |  j | | |  i | | 6} t  j |  |  j | | | k  d  S(   N(   u   utilu   setup_testing_defaultsu
   isinstanceu   StringIOu
   failUnlessu   assertEqual(   u   selfu   keyu   valueu   altu   env(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkDefault   s    c             K   s%   t  j |  |  j | | |  d  S(   N(   u   utilu   setup_testing_defaultsu   assertEqual(   u   selfu   keyu   valueu   kw(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkCrossDefault   s    c             K   s*   t  j |  |  j t  j |  |  d  S(   N(   u   utilu   setup_testing_defaultsu   assertEqualu   application_uri(   u   selfu   uriu   kw(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkAppURI   s    i   c             K   s-   t  j |  |  j t  j | |  |  d  S(   N(   u   utilu   setup_testing_defaultsu   assertEqualu   request_uri(   u   selfu   uriu   queryu   kw(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkReqURI   s    c             C   s}   | | d  } t  | |  |   } |  j | j j  x | D] } q? W|  j | j j  | j   |  j | j j  d  S(   Nc             S   s   t  j t |   |  S(   N(   u   utilu   FileWrapperu   StringIO(   u   textu   size(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   make_it   s    (   u   compare_generic_iteru   failIfu   filelikeu   closedu   closeu
   failUnless(   u   selfu   textu   sizeu   matchu   make_itu   itu   item(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkFW   s    	 
c             C   s   |  j  d d d d d  |  j  d d d d d  |  j  d d d  d d  |  j  d d d d d  |  j  d d	 d d d  d  S(
   Nu    u   /u   /xu   xu   /au   /x/yu   /a/xu   /yu   /x/(   u
   checkShiftu   None(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testSimpleShifts   s
    c             C   s  |  j  d d d d d  |  j  d d d d d  |  j  d d d d	 d  |  j  d d
 d d	 d  |  j  d d d d	 d  |  j  d d d d	 d  |  j  d d d d d  |  j  d d d d d  |  j  d d d d d  |  j  d d d d d  |  j  d d d  d d  d  S(   Nu   /a/bu   /../yu   ..u   /au   /yu    u   //yu   yu   /a/b/yu   //y/u   /u   /./yu   /./y/u   ///./..//y/.//u   /y/u   ///u   /a/b/u   /.//u   /x//u   xu   /a/b/xu   /.(   u
   checkShiftu   None(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testNormalizedShifts   s    c             C   sp   xi d d d d d d d d d f d  d! d" d t  d  f d t    f d# g D] \ } } |  j | |  qL Wd  S($   Nu   SERVER_NAMEu	   127.0.0.1u   SERVER_PORTu   80u   SERVER_PROTOCOLu   HTTP/1.0u	   HTTP_HOSTu   REQUEST_METHODu   GETu   SCRIPT_NAMEu    u	   PATH_INFOu   /u   wsgi.versioni   i    u   wsgi.run_onceu   wsgi.multithreadu   wsgi.multiprocessu
   wsgi.inputu   wsgi.errorsu   wsgi.url_schemeu   http(   u   SERVER_NAMEu	   127.0.0.1(   u   SERVER_PORTu   80(   u   SERVER_PROTOCOLu   HTTP/1.0(   u	   HTTP_HOSTu	   127.0.0.1(   u   REQUEST_METHODu   GET(   u   SCRIPT_NAMEu    (   u	   PATH_INFOu   /(   i   i    (   u   wsgi.run_oncei    (   u   wsgi.multithreadi    (   u   wsgi.multiprocessi    (   u   wsgi.url_schemeu   http(   u   StringIOu   checkDefault(   u   selfu   keyu   value(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testDefaults   s"    	 c             C   s   |  j  d d d d |  j  d d d d |  j  d d d d |  j  d d d d	 |  j  d d
 d d |  j  d d d d |  j  d d d d d  S(   Nu	   HTTP_HOSTu   foo.baru   SERVER_NAMEu   wsgi.url_schemeu   httpsu   HTTPSu   onu   1u   yesu   httpu   foou   SERVER_PORTu   80u   443(   u   checkCrossDefault(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testCrossDefaults  s    c             C   s   |  j  t j i   d  |  j  t j i d d 6 d  |  j  t j i d d 6 d  |  j  t j i d d 6 d  |  j  t j i d d 6 d  d  S(   Nu   httpu   foou   HTTPSu   onu   httpsu   yesu   1(   u   assertEqualu   utilu   guess_scheme(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testGuessScheme  s
       c             C   s   |  j  d  |  j  d d d |  j  d d d |  j  d d d	 d
 d |  j  d d d |  j  d d d d d |  j  d d d |  j  d d
 d d d  d  S(   Nu   http://127.0.0.1/u   http://127.0.0.1/spamu   SCRIPT_NAMEu   /spamu   http://127.0.0.1/sp%C3%A4mu   /spämu   http://spam.example.com:2071/u	   HTTP_HOSTu   spam.example.com:2071u   SERVER_PORTu   2071u   http://spam.example.com/u   SERVER_NAMEu   spam.example.comu	   127.0.0.1u   https://127.0.0.1/u   HTTPSu   onu   http://127.0.0.1:8000/u   8000(   u   checkAppURIu   None(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testAppURIs#  s    c          	   C   s   |  j  d  |  j  d d d |  j  d d d |  j  d d d d	 d |  j  d
 d d d	 d d d |  j  d d d d d	 d d d d  S(   Nu   http://127.0.0.1/u   http://127.0.0.1/spamu   SCRIPT_NAMEu   /spamu   http://127.0.0.1/sp%C3%A4mu   /spämu   http://127.0.0.1/spammity/spamu	   /spammityu	   PATH_INFOu%   http://127.0.0.1/spammity/spam?say=niu   QUERY_STRINGu   say=nii    (   u   checkReqURI(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testReqURIs1  s    c             C   s)   |  j  d d d d d d d g  d  S(   Nu   xyzi2   ix   i(   i
   (   u   checkFW(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testFileWrapper<  s    c             C   s   xY d j    D]K } xB | | j   | j   | j   f D] } |  j t j |   q8 Wq WxY d j    D]K } xB | | j   | j   | j   f D] } |  j t j |   q Wqi Wd  S(   Nub   Connection Keep-Alive Proxy-Authenticate Proxy-Authorization TE Trailers Transfer-Encoding Upgradeu4   Accept Cache-Control Date Pragma Trailer Via Warning(   u   splitu   titleu   upperu   loweru
   failUnlessu   utilu   is_hop_by_hopu   failIf(   u   selfu   hopu   alt(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testHopByHop?  s    
 % 
 % N(   u   __name__u
   __module__u
   checkShiftu   Noneu   checkDefaultu   checkCrossDefaultu   checkAppURIu   checkReqURIu   checkFWu   testSimpleShiftsu   testNormalizedShiftsu   testDefaultsu   testCrossDefaultsu   testGuessSchemeu   testAppURIsu   testReqURIsu   testFileWrapperu   testHopByHop(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   UtilityTests   s   
									
				u   UtilityTestsc             B   s)   |  Ee  Z d    Z d   Z d   Z d S(   c             C   s^  d g } |  j  t t g    d  |  j  t t | d  d     d  |  j  t | d  d    j   d g  |  j  t | d  d    j   d g  |  j  t | d  d    j   |  |  j t |  j   | k  t g   } | d =d | d <xr | j | j | j	 | j
 f D]R } |  j | d   |  j | d   |  j | d   |  j | d   qW|  j  | d d  d	 | d <|  j  | d d	  |  j  | j	 d  d	 g  |  j  | j d d
  d	  |  j  | j d d
  d
  |  j  | j d d
  d	  |  j  | j d d
  d
  |  j  | d d	  |  j  | d d
  d  S(   Nu   xu   yi    i   u   foou   baru   Foou   FOOu   bazu   wheeu   zoo(   u   xu   y(   u   assertEqualu   lenu   Headersu   keysu   valuesu   itemsu   failIfu   __contains__u   getu   get_allu   __getitem__u
   failUnlessu
   setdefault(   u   selfu   testu   hu   m(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testMappingInterfaceP  s4    	&))&
 
c             C   s   |  j  t t d  d  S(   Nu   foo(   u   assertRaisesu	   TypeErroru   Headers(   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testRequireListo  s    c             C   s   t  g   } |  j t |  d  | j d d d d |  j | d d  |  j t |  d  | j d d d	 d  |  j | j d  d d
 g  |  j t |  d  d  S(   Nu   
u   foou   baru   bazu   spamu   bar; baz="spam"u   foo: bar; baz="spam"

u   Foou   cheeseu   bar; cheeseu*   foo: bar; baz="spam"
Foo: bar; cheese

(   u   Headersu   assertEqualu   stru
   add_headeru   Noneu   get_all(   u   selfu   h(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu
   testExtrass  s    N(   u   __name__u
   __module__u   testMappingInterfaceu   testRequireListu
   testExtras(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   HeaderTestsN  s   
		u   HeaderTestsc             B   s   |  Ee  Z d  Z d   Z d S(   u/   Simple handler subclass for testing BaseHandlerc          
   K   s?   t  |  t j |  t d  t   t   | d d d d d  S(   Nu    u   multithreadu   multiprocessT(   u   setup_testing_defaultsu   BaseCGIHandleru   __init__u   StringIOu   True(   u   selfu   kw(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   __init__  s    
N(   u   __name__u
   __module__u   __doc__u   __init__(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   ErrorHandler  s   
u   ErrorHandlerc             B   s   |  Ee  Z d  Z d   Z d S(   uA   Simple handler subclass for testing BaseHandler, w/error passthruc             C   s     d  S(   N(    (   u   self(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   handle_error  s    N(   u   __name__u
   __module__u   __doc__u   handle_error(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   TestHandler  s   
u   TestHandlerc             B   sh   |  Ee  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
 S(   c             C   sv   | j  } xf d d d d d g D]O } | d k o | j d  k o q n |  j t | d |  | d |  q Wd  S(   Nu   versionu   multithreadu   multiprocessu   run_onceu   file_wrapperu   wsgi_u   wsgi.(   u   environu   wsgi_file_wrapperu   Noneu   assertEqualu   getattr(   u   selfu   handleru   envu   attr(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkEnvironAttrs  s    	 c             C   s   i  } t  |  | j } d d l m } x? | j   D]1 \ } } | | k o |  j | | |  q6 q6 Wx- | j   D] \ } } |  j | | k  qx Wd  S(   Ni    (   u   environ(   u   setup_testing_defaultsu   environu   osu   itemsu   assertEqualu
   failUnless(   u   selfu   handleru   emptyu   envu   environu   ku   v(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   checkOSEnviron  s     
	  c             C   sN   t  d d  } | j   |  j |  |  j |  |  j | j d d  d  S(   Nu   Xu   Y(   u   TestHandleru   setup_environu   checkEnvironAttrsu   checkOSEnvironu   assertEqualu   environ(   u   selfu   h(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testEnviron  s
    
c             C   sJ   t  d  d  d  i   } | j   x$ d D] } |  j | | j k  q& Wd  S(   Nu   wsgi.url_schemeu
   wsgi.inputu   wsgi.errors(   u   wsgi.url_schemeu
   wsgi.inputu   wsgi.errors(   u   BaseCGIHandleru   Noneu   setup_environu   assert_u   environ(   u   selfu   hu   key(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testCGIEnviron  s
    
 c             C   s^   t  d d  } | j   |  j | j d d  t    } | j   |  j | j d d  d  S(   Nu   HTTPSu   onu   wsgi.url_schemeu   httpsu   http(   u   TestHandleru   setup_environu   assertEqualu   environ(   u   selfu   h(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu
   testScheme  s     
	 
c             C   sY   t    } x3 d d d d g D] } |  j t t | |   q W|  j t | j d  d  S(   Nu   _flushu	   get_stdinu
   get_stderru   add_cgi_varsu   test(   u   BaseHandleru   assertRaisesu   NotImplementedErroru   getattru   _write(   u   selfu   hu   name(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testAbstractMethods  s    	 c             C   st   d   } d   } t    } | j |  |  j | j j   d  t    } | j |  |  j | j j   d  d  S(   Nc             S   s   | d g   |  d g S(   Nu   200 OKu   wsgi.url_scheme(    (   u   eu   s(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   trivial_app1  s    c             S   s   | d g   |  d  g  S(   Nu   200 OKu   wsgi.url_scheme(    (   u   eu   s(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   trivial_app2  s    u)   Status: 200 OK
Content-Length: 4

httpu   Status: 200 OK

http(   u   TestHandleru   runu   assertEqualu   stdoutu   getvalue(   u   selfu   trivial_app1u   trivial_app2u   h(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testContentLength  s    				c             C   s   d   } d   } t    } | j |  |  j | j j   d  |  j | j j   d  t    } | j |  |  j | j j   d | j t | j  | j f  |  j	 d | j j   k  d  S(   Nc             S   s   | d g   g  S(   Nu   200 OK(    (   u   eu   s(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   non_error_app  s    c             S   s   t  d   d  S(   Nu    This should be caught by handler(   u   AssertionError(   u   eu   s(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu	   error_app  s    u%   Status: 200 OK
Content-Length: 0

u    u>   Status: %s
Content-Type: text/plain
Content-Length: %d

%su   AssertionError(
   u   ErrorHandleru   runu   assertEqualu   stdoutu   getvalueu   stderru   error_statusu   lenu
   error_bodyu
   failUnless(   u   selfu   non_error_appu	   error_appu   h(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testBasicErrorOutput  s    				 c                sh   d     f d   } t    } | j |  |  j | j j   d    |  j d | j j   k  d  S(   Nu   Some output has been sentc                s#   | d g      t  d   d  S(   Nu   200 OKu    This should be caught by handler(   u   AssertionError(   u   eu   s(   u   MSG(    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu	   error_app  s    u   Status: 200 OK

u   AssertionError(   u   ErrorHandleru   runu   assertEqualu   stdoutu   getvalueu
   failUnlessu   stderr(   u   selfu	   error_appu   h(    (   u   MSGu.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testErrorAfterOutput  s    	c       	      C   s]  d   } d } d } xAd D]9} | o d | p d } xd D]} xd D] } t d |  } d | _ | | _ | | _ | j |  |  j | | j j	    t d |  } d | _ | | _ | | _ | j |  | d	 k o |  j | j j	   d  qN |  j t j | | | f | j j	    | | | f | j j	   f  qN WqA Wq Wd  S(   Nc             S   s   | d g   g  S(   Nu   200 OK(    (   u   eu   s(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   non_error_app  s    uf   HTTP/%s 200 OK\r\nDate: \w{3}, [ 0123]\d \w{3} \d{4} \d\d:\d\d:\d\d GMT\r\n%sContent-Length: 0\r\n\r\nu%   Status: 200 OK
Content-Length: 0

u
   FooBar/1.0u   Server: %s
u    u   1.0u   1.1u   HTTP/0.9u   HTTP/1.0u   HTTP/1.1u   SERVER_PROTOCOL(   u
   FooBar/1.0N(   u   1.0u   1.1(   u   HTTP/0.9u   HTTP/1.0u   HTTP/1.1FT(   u   Noneu   TestHandleru   Falseu   origin_serveru   http_versionu   server_softwareu   runu   assertEqualu   stdoutu   getvalueu   Trueu
   failUnlessu   reu   match(	   u   selfu   non_error_appu   stdpatu   shortpatu   sswu   swu   versionu   protou   h(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   testHeaderFormats  s4    	   						"N(   u   __name__u
   __module__u   checkEnvironAttrsu   checkOSEnvironu   testEnvironu   testCGIEnvironu
   testSchemeu   testAbstractMethodsu   testContentLengthu   testBasicErrorOutputu   testErrorAfterOutputu   testHeaderFormats(   u
   __locals__(    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   HandlerTests  s   
			
						 		u   HandlerTestsc               C   s   t  j t  d  S(   N(   u   supportu   run_unittestu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu	   test_mainF  s    u   __main__(+   u
   __future__u   nested_scopesu   unittestu   TestCaseu   wsgiref.utilu   setup_testing_defaultsu   wsgiref.headersu   Headersu   wsgiref.handlersu   BaseHandleru   BaseCGIHandleru   wsgirefu   utilu   wsgiref.validateu	   validatoru   wsgiref.simple_serveru
   WSGIServeru   WSGIRequestHandleru   demo_appu   make_serveru   iou   StringIOu   BytesIOu   BufferedReaderu   socketserveru
   BaseServeru   reu   sysu   testu   supportu
   MockServeru   MockHandleru	   hello_appu	   run_amocku   compare_generic_iteru   IntegrationTestsu   UtilityTestsu   HeaderTestsu   ErrorHandleru   TestHandleru   HandlerTestsu	   test_mainu   __name__(    (    (    u.   /mit/python/lib/python3.0/test/test_wsgiref.pyu   <module>   s4   	$	))8
	