<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0-alpha1/dist/css/bootstrap.min.css" rel="stylesheet"
        integrity="sha384-GLhlTQ8iRABdZLl6O3oVMWSktQOp6b7In1Zl3/Jr59b6EGGoI1aFkw7cmDA6j6gD" crossorigin="anonymous">
    <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.3.0/css/all.min.css"
        integrity="sha512-SzlrxWUlpfuzQ+pcUCosxcglQRNAq/DZjVsC0lE40xsADsfeQoEypE+enwcOiGjk/bSuGGKHEyjSoQ1zVisanQ=="
        crossorigin="anonymous" referrerpolicy="no-referrer" />
</head>
</html>

hc           @   s!  d  Z  d Z d d l Z d d l Z y d d l Z Wn e k
 rS d d l Z n Xd d l m Z 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 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 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 d e f d     YZ d e e j f d     YZ d e e j f d     YZ d e e j f d     YZ d e f d     YZ d e f d     YZ  d  e f d!     YZ! d" e f d#     YZ" d$ e f d%     YZ# d& e f d'     YZ$ d( e f d)     YZ% d* e j f d+     YZ& e d, d- i e! i e  d. d/ f d0 d1 f g  d2 6e! i e  d3 d4 f d5 d6 f g  d2 6e! i e  d7 d8 f d9 d: f g  d2 6d; e" d/ d2 d7  f d< e$ d1 d=  f g  d> 6d; e" d/ d2 d5  f d< e$ d1 d?  f d@ e# dA d>  f g  dB 6d; e" d/ d2 d0  f dC e# d1 dB  f g dD e' dE 6e! i e  dF dA f dG dH f g  d2 6e! i e  dI dJ f dK dL f g  d2 6e! i e  dM dN f dO dP f g  d2 6d; e" d/ d2 dO  f d< e$ d1 dQ  f g  d> 6d; e" d/ d2 dI  f d< e$ d1 dR  f d@ e# dA d>  f g  dB 6d; e" d/ d2 dF  f dC e# d1 dB  f g  dS 6 Z( e dT d- i e! i e  dU dV f dW dX f g  d2 6e! i e  dY dZ f d[ d\ f g  d2 6e! i e  d] d^ f d_ d` f g  d2 6d; e" d/ d2 d]  f d< e$ d1 da  f g  d> 6d; e" d/ d2 d[  f d< e$ d1 db  f d@ e# dA d>  f g  dB 6d; e" d/ d2 dW  f dC e# d1 dB  f g dc dd e% de dE  f g df 6dg d, dh g di dh g Z) e* dj k re j+   n  d S(k   s*   Tests for google.protobuf.descriptor_pool.s"   matthewtoia@google.com (Matt Toia)iN(   t   unittest_import_pb2(   t   unittest_import_public_pb2(   t   unittest_pb2(   t   descriptor_pb2(   t   api_implementation(   t   descriptor_pool_test1_pb2(   t   descriptor_pool_test2_pb2(   t   factory_test1_pb2(   t   factory_test2_pb2(   t   file_options_test_pb2(   t   more_messages_pb2(   t
   descriptor(   t   descriptor_database(   t   descriptor_pool(   t   message_factory(   t   symbol_databaset   DescriptorPoolTestBasec           B   s   e  Z d    Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z	 d   Z
 d	   Z d
   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z d   Z RS(   c         C   s   d } |  j  j |  } |  j | t j  |  j | | j  |  j d | j  |  j d | j	  d } |  j  j |  } |  j | t j  |  j | | j  |  j d | j  |  j d | j	  d  S(   Ns,   google/protobuf/internal/factory_test1.protos   google.protobuf.python.internalt   Factory1Messages,   google/protobuf/internal/factory_test2.protot   Factory2Message(
   t   poolt   FindFileByNamet   assertIsInstanceR   t   FileDescriptort   assertEqualt   namet   packaget   assertInt   message_types_by_name(   t   selft   name1t
   file_desc1t   name2t
   file_desc2(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindFileByNameA   s    c         C   s*   |  j  t   |  j j d  Wd  QXd  S(   Ns   Does not exist(   t   assertRaisest   KeyErrorR   R   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindFileByNameFailureP   s    c         C   sh  |  j  j d  } |  j | t j  |  j d | j  |  j d | j  |  j d | j	  |  j  j d  } |  j | t j  |  j d | j  |  j d | j  |  j d | j	  |  j  j d  } |  j | t j  |  j d | j  |  j  j d	  } |  j | t j  |  j d | j  |  j  j d
  } |  j | t j  |  j d | j  d  S(   Ns/   google.protobuf.python.internal.Factory1Messages,   google/protobuf/internal/factory_test1.protos   google.protobuf.python.internalR   s/   google.protobuf.python.internal.Factory2Messages,   google/protobuf/internal/factory_test2.protoR   s-   google.protobuf.python.internal.another_fields>   google.protobuf.python.internal.Factory2Message.one_more_fields   protobuf_unittest.TestServices   google/protobuf/unittest.proto(
   R   t   FindFileContainingSymbolR   R   R   R   R   R   R   R   (   R   R   R    t
   file_desc3t
   file_desc4t
   file_desc5(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindFileContainingSymbolT   s:    			
			
			
			
			c         C   s*   |  j  t   |  j j d  Wd  QXd  S(   Ns   Does not exist(   R"   R#   R   R%   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt#   testFindFileContainingSymbolFailurey   s    c   	      C   s  |  j  j d  } |  j | t j  |  j d | j  |  j d | j  |  j d  | j	  |  j
 | j  | j d } |  j d | j  |  j | | j	  | j d } |  j d | j  |  j | | j	  |  j | | j d j  |  j | | j d j  |  j  j d  } |  j | t j  |  j d	 | j  |  j d | j  |  j | j	  | j d } |  j d
 | j  |  j | | j	  | j d } |  j d | j  |  j | | j	  |  j | | j d j  |  j | | j d j  |  j | j d j  |  j d | j d j  |  j | j d j  |  j d | j d j  |  j | j d j  |  j d | j d j  |  j | j d j  |  j
 | j d j  |  j | j d j  |  j d | j d j  |  j  j d  } |  j | |  |  j | j d j  |  j d | j d j  |  j d t | j   |  j d t | j   |  j d t | j d j   xV d d g D]H } |  j | j d | j | j  |  j | j | | j d j  qWd  S(   Ns/   google.protobuf.python.internal.Factory1MessageR   i    t   NestedFactory1Messaget   NestedFactory1Enumt   nested_factory_1_messaget   nested_factory_1_enums/   google.protobuf.python.internal.Factory2MessageR   t   NestedFactory2Messaget   NestedFactory2Enumt   nested_factory_2_messaget   nested_factory_2_enumt   int_with_defaulti  t   double_with_defaultg{G#@t   string_with_defaults   hello worldt   bool_with_defaultt   enum_with_defaulti   sE   google.protobuf.python.internal.Factory2Message.NestedFactory2Messaget   bytes_with_defaults   a ci   t	   oneof_intt   oneof_string(   R   t   FindMessageTypeByNameR   R   t
   DescriptorR   R   t	   full_namet   Nonet   containing_typet   assertFalset   has_optionst   nested_typest
   enum_typest   fields_by_namet   message_typet	   enum_typet   assertIsNonet
   assertTruet   has_default_valuet   default_valuet   lent   oneofst   oneofs_by_namet   fieldst   containing_oneofR   (	   R   t   msg1t   nested_msg1t   nested_enum1t   msg2t   nested_msg2t   nested_enum2t   msg3R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindMessageTypeByName}   s    			
			
		 c         C   sS  |  j  t |  j j d  t j   d k rf |  j  t |  j j d  |  j  t |  j j d  t } n t } |  j  | |  j j	 d  |  j  | |  j j
 d  |  j  | |  j j d  |  j  | |  j j d  |  j  | |  j j d  |  j  | |  j j d  |  j  | |  j j d  t j   d k r6t } n  |  j  | |  j j d  d  S(   Nt    t   cppi    t   python(   R"   t	   TypeErrorR   t   FindExtensionByNumberR   t   Typet   FindMethodByNameR#   t   AttributeErrorR;   t   FindFieldByNamet   FindExtensionByNamet   FindEnumTypeByNamet   FindOneofByNamet   FindServiceByNameR%   R   (   R   t
   error_type(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindTypeErrors   s     		c         C   s*   |  j  t   |  j j d  Wd  QXd  S(   Ns   Does not exist(   R"   R#   R   R;   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt    testFindMessageTypeByNameFailure   s    c         C   sx  |  j  j d  } |  j | t j  |  j d | j d j  |  j d | j d j  |  j | j	  |  j  j d  } |  j | t j  |  j d | j d j  |  j d | j d j  |  j  j d	  } |  j | t j  |  j d | j d
 j  |  j d | j d j  |  j  j d  } |  j | t j  |  j d | j d j  |  j d | j d j  d  S(   Ns,   google.protobuf.python.internal.Factory1Enumi    t   FACTORY_1_VALUE_0i   t   FACTORY_1_VALUE_1sB   google.protobuf.python.internal.Factory1Message.NestedFactory1Enumt   NESTED_FACTORY_1_VALUE_0t   NESTED_FACTORY_1_VALUE_1s,   google.protobuf.python.internal.Factory2Enumt   FACTORY_2_VALUE_0t   FACTORY_2_VALUE_1sB   google.protobuf.python.internal.Factory2Message.NestedFactory2Enumt   NESTED_FACTORY_2_VALUE_0t   NESTED_FACTORY_2_VALUE_1(
   R   Rb   R   R   t   EnumDescriptorR   t   values_by_namet   numberR@   RA   (   R   t   enum1RR   t   enum2RU   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindEnumTypeByName   s2    								c         C   s*   |  j  t   |  j j d  Wd  QXd  S(   Ns   Does not exist(   R"   R#   R   Rb   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindEnumTypeByNameFailure  s    c         C   s   t  |  t  r( t j   d k r( d  Sn  |  j j d  } |  j | j d  |  j | j | j	  |  j
 | j  |  j t   |  j j d  Wd  QXd  S(   NRY   s:   google.protobuf.python.internal.Factory1Message.list_valuet
   list_values   Does not exist(   t
   isinstancet#   SecondaryDescriptorFromDescriptorDBR   R]   R   R`   R   R   t   labelt   LABEL_REPEATEDR@   RA   R"   R#   (   R   t   field(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindFieldByName
  s    		c         C   sw   t  |  t  r( t j   d k r( d  Sn  |  j j d  } |  j | j d  |  j t	   |  j j d  Wd  QXd  S(   NRY   s;   google.protobuf.python.internal.Factory2Message.oneof_fieldt   oneof_fields   Does not exist(
   Rx   Ry   R   R]   R   Rc   R   R   R"   R#   (   R   t   oneof(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindOneofByName  s    		c         C   s   t  |  t  r( t j   d k r( d  Sn  |  j j d  } |  j | j d  |  j j d  } |  j | j d  |  j | j d  |  j	 t
   |  j j d  Wd  QXd  S(   NRY   s>   google.protobuf.python.internal.Factory2Message.one_more_fieldt   one_more_fields-   google.protobuf.python.internal.another_fieldt   another_fieldi  s   Does not exist(   Rx   Ry   R   R]   R   Ra   R   R   Rr   R"   R#   R`   (   R   t	   extension(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindExtensionByName%  s    				c         C   s   |  j  j d  } |  j  j d  } | j d } |  j  j |  |  j  j d  } | j d } |  j  j |  |  j  j |  } t | | g  } |  j | t |   | j d  |  j  j |  } |  j | t |   d  S(   Ns/   google.protobuf.python.internal.Factory1Messages/   google.protobuf.python.internal.Factory2MessageR   s,   google/protobuf/internal/factory_test2.protoR   t   unexpected_element(	   R   R;   t   extensions_by_namet   AddExtensionDescriptorR   t   FindAllExtensionst   setR   t   append(   R   t   factory1_messaget   factory2_messageR   t   factory_test2R   t
   extensionst   expected_extension_numbers(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindAllExtensions7  s     						c         C   s   |  j  j d  } |  j  j d  } | j d } |  j  j |  |  j  j d  } | j d } |  j  j |  |  j  j | d  } |  j | j d  |  j  j | d  } |  j | j d  |  j t	   |  j  j | d  } Wd  QXd  S(	   Ns/   google.protobuf.python.internal.Factory1Messages/   google.protobuf.python.internal.Factory2MessageR   s,   google/protobuf/internal/factory_test2.protoR   i  i  i (
   R   R;   R   R   R   R\   R   R   R"   R#   (   R   R   R   R   R   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindExtensionByNumberO  s     						c         C   sv   |  j  t   |  j j d  Wd  QX|  j  t   |  j j d  Wd  QX|  j  t   |  j j d  Wd  QXd  S(   Ns-   google.protobuf.python.internal.another_fields>   google.protobuf.python.internal.Factory2Message.one_more_fields:   google.protobuf.python.internal.Factory1Message.list_value(   R"   R#   R   R`   Ra   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testExtensionsAreNotFieldsf  s    		c         C   sO   |  j  j d  } |  j | j d  |  j t   |  j  j d  Wd  QXd  S(   Ns   protobuf_unittest.TestServices   Does not exist(   R   Rd   R   R=   R"   R#   (   R   t   service(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindServicep  s    c         C   sL   t  j   } t j |  |  _ | j |  j  | j |  j  |  j   d  S(   N(	   R   t   DescriptorDatabaseR   t   DescriptorPoolR   t   Addt   factory_test1_fdt   factory_test2_fdRW   (   R   t   db(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testUserDefinedDBv  s
    c         C   sw   t  |  t  r( t j   d k r( d  Sn  t j   |  _ |  j j |  j j	    |  j j |  j
 j	    |  j   d  S(   NRY   (   Rx   Ry   R   R]   R   R   R   t   AddSerializedFileR   t   SerializeToStringR   RW   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testAddSerializedFile}  s    c            s     f d   } | t  j  t j   j j d  }   j | t  j  | |  t   t  ry t	 j
   d k ry d Sn  t j j t  j j  }   j j |    j j d  } | |  d S(   s:   Test the default value of enums which don't start at zero.c            s1   |  j  d j d j }   j | t j j  d  S(   Nt   DescriptorPoolTest1t   nested_enum(   R   RD   RJ   R   R   R   t   BETA(   t   file_descriptorRJ   (   R   (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   _CheckDefaultValue  s
    
	s4   google/protobuf/internal/descriptor_pool_test1.protoRY   N(   R   t
   DESCRIPTORR   t   DefaultR   R   t   assertIsRx   Ry   R   R]   R   t   FileDescriptorProtot
   FromStringt   serialized_pbR   (   R   R   R   t   descriptor_proto(    (   R   sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testEnumDefaultValue  s    	
			c            s    f d       f d   } | t  j    t j   } | j t j j t j	 j
   | j t j j t j	 j
   | j t j j t  j	 j
   t j |  j | j t  j j	 j   } | |    d S(   s0   Check the value returned by non-existent fields.c            s$     j  |  |    j |  |  d  S(   N(   R   R   (   t   valuet   expected_valuet   expected_type(   R   (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   _CheckValueAndType  s    c            s   y
 t  } Wn t k
 r# t } n Xy
 t } Wn t k
 rG t } n X  |  j d t    |  j d | t f    |  j d t t f    |  j	 d t t f    |  j
 t t    |  j d |    |  j d t    |  j |  j t  d  S(   Ni    u    RX   (   t   longt	   NameErrort   intt   unicodet   strt   optional_int32t   optional_uint64t   optional_floatt   floatt   optional_doublet   optional_boolt   Falset   boolt   optional_stringt   optional_bytest   bytest   optional_nested_enumt   FOO(   t   msgt   int64t   unicode_type(   R   (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   _CheckDefaultValues  s     



N(   R   t   TestAllTypesR   R   R   R   R   R   R   R   R   R    R   t   MessageFactoryt   GetPrototypeR;   R=   (   R   R   R   t   message_class(    (   R   R   sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt!   testDefaultValueForCustomMessages  s    c         C   sd   t  |  t  r( t j   d k r( d  Sn  t j d d  } |  j j |  |  j j | j	    d  S(   NRY   R   s   some/file.proto(
   Rx   Ry   R   R]   R   R   R   R   R   R   (   R   t	   file_desc(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testAddFileDescriptor  s    c         C   s   t  |  t  r( t j   d k r( d  Sn  t j j t j j	  } t j j t
 j j	  } t j j t j j	  } |  j j |  |  j j |  |  j j |  t j |  |  j  t j |  |  j  d  S(   NRY   (   Rx   Ry   R   R]   R   R   R   R
   R   R   R   R   R   R   t
   TEST1_FILEt	   CheckFilet
   TEST2_FILE(   R   t   more_messages_desct
   test1_desct
   test2_desc(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testComplexNesting  s    			(   t   __name__t
   __module__R!   R$   R)   R*   RW   Rf   Rg   Ru   Rv   R}   R   R   R   R   R   R   R   R   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   ?   s,   			%		R										
				 	&	t   DefaultDescriptorPoolTestc           B   s   e  Z d    Z d   Z RS(   c         C   sI   t  j   |  _ t j j t j j  |  _	 t j j t
 j j  |  _ d  S(   N(   R   R   R   R   R   R   R   R   R   R   R   R   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   setUp  s
    		c         C   s  |  j  |  j j d  t j  |  j  |  j j d  t j j  |  j  |  j j d  t j j j d  |  j  |  j j	 d  t j
 j  |  j  |  j j d  t j j d  |  j  |  j j d  t j j j d	  |  j  |  j j d
  t j j d  d  S(   Ns   google/protobuf/unittest.protos   protobuf_unittest.TestAllTypess-   protobuf_unittest.TestAllTypes.optional_int32R   s   protobuf_unittest.ForeignEnums*   protobuf_unittest.optional_int32_extensiont   optional_int32_extensions*   protobuf_unittest.TestAllTypes.oneof_fieldR~   s   protobuf_unittest.TestServicet   TestService(   R   R   R   R   R   R;   R   R`   RD   Rb   t   ForeignEnumRa   R   Rc   RM   Rd   t   services_by_name(   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFindMethods  s.    
		(   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s   	t   CreateDescriptorPoolTestc           B   s   e  Z d    Z RS(   c         C   s   t  j   |  _ t j j t j j  |  _	 t j j t
 j j  |  _ |  j j |  j	  |  j j |  j  |  j j t j j t j j   |  j j t j j t j j   |  j j t j j t j j   d  S(   N(   R   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    		(   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s   Ry   c           B   s   e  Z d    Z RS(   c         C   s   t  j j t j j  |  _ t  j j t j j  |  _ t	 j
   } | j |  j  | j |  j  | j t  j j t j j   | j t  j j t j j   | j t  j j t j j   t j d |  |  _ d  S(   Nt   descriptor_db(   R   R   R   R   R   R   R   R   R   R   R   R   R   R    R   R   R   R   (   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   (  s    		(   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyRy   %  s   t	   ProtoFilec           B   s    e  Z d d d   Z d   Z RS(   c         C   s=   | |  _  | |  _ | |  _ | p$ g  |  _ | p3 g  |  _ d  S(   N(   R   R   t   messagest   dependenciest   public_dependencies(   R   R   R   R   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   __init__;  s
    			c   	      C   s   | j  |  j  } | j |  j | j  | j |  j | j  g  | j D] } | j ^ qH } | j |  j |  g  | j D] } | j ^ qz } | j |  j |  x3 |  j j   D]" \ } } | j | d  | |  q Wd  S(   N(
   R   R   R   R   R   R   R   t   itemst	   CheckTypeR>   (	   R   t   testR   R   t   ft   dependencies_namest   public_dependencies_namesR   t   msg_type(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   C  s    N(   R   R   R>   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   9  s   t   EnumTypec           B   s   e  Z d    Z d   Z RS(   c         C   s   | |  _  d  S(   N(   t   values(   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   Q  s    c         C   s  | j  | } | j | | j  d j | j | g  } | j | | j  | j | | j  | j | | j  x t |  j  D]~ \ } \ } }	 | j	 | }
 | j | |
 j  | j | |
 j
  | j |	 |
 j  | j | |
 j  | j | | j  q Wd  S(   Nt   .(   t   enum_types_by_nameR   R   t   joinR=   R?   t   filet	   enumerateR   Rq   t   indexRr   t   typeR   t   enum_values_by_name(   R   R   t   msg_descR   R   t	   enum_desct   expected_enum_full_nameR   R   Rr   t
   value_desc(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   T  s    "(   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   O  s   	t   MessageTypec           B   s    e  Z e d d   Z d   Z RS(   c         C   s.   | |  _  | |  _ | |  _ | p$ g  |  _ d  S(   N(   t	   type_dictt
   field_listt   is_extendableR   (   R   R   R   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   f  s    			c   
      C   ss  | d  k r4 | j | } d j | j | g  } n% | j | } d j | j | g  } | j | | j  | j | | j  | j | | j  | j | j	 |  | j |  j
 | j
  x3 |  j j   D]" \ } } | j | | | |  q Wx< t |  j  D]+ \ } \ } }	 |	 j | | | | |  qWx< t |  j  D]+ \ } \ } }	 |	 j | | | | |  q@Wd  S(   NR   (   R>   R   R   R   t   nested_types_by_nameR=   R   R   R?   R   R   R   R   R   R   R   t
   CheckFieldR   (
   R   R   t   containing_type_descR   R   t   desct   expected_full_namet   subtypeR   R|   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   m  s     ""N(   R   R   R   R>   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR   d  s   t	   EnumFieldc           B   s   e  Z d    Z d   Z RS(   c         C   s   | |  _  | |  _ | |  _ d  S(   N(   Rr   t	   type_nameRJ   (   R   Rr   R  RJ   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    		c   	      C   s=  | j  | } | j |  j } | j | | j  d j | j | g  } | j | | j  | j | | j  | j |  j | j  | j t	 j
 j | j  | j t	 j
 j | j  | j | j  | j | j |  j j | j  | j | j |  j j  | j | | j  | j | | j  | j | | j  d  S(   NR   (   RD   R   R  R   R   R   R=   R   Rr   R   t   FieldDescriptort	   TYPE_ENUMR   t   CPPTYPE_ENUMt   cpp_typeRH   RI   Rq   RJ   R@   RA   R?   RF   R   (	   R   R   R   R   R   R   t
   field_descR   t   expected_field_full_name(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s"    

(   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR    s   	t   MessageFieldc           B   s   e  Z d    Z d   Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   Rr   R  (   R   Rr   R  (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    	c   	      C   s.  | j  | } | j |  j } | j | | j  d j | j | g  } | j | | j  | j | | j  | j |  j | j  | j t	 j
 j | j  | j t	 j
 j | j  | j | j  | j | | j  | j | | j  | j | | j  t j   d k r*| j t t | d  n  d  S(   NR   RY   RJ   (   RD   R   R  R   R   R   R=   R   Rr   R   R  t   TYPE_MESSAGER   t   CPPTYPE_MESSAGER  R@   RI   R?   RE   R   R   R]   R"   t   NotImplementedErrort   getattr(	   R   R   R   R   R   R   R	  t   field_type_descR
  (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s"    
(   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR    s   	t   StringFieldc           B   s   e  Z d    Z d   Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   Rr   RJ   (   R   Rr   RJ   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    	c         C   s   | j  | } | j | | j  d j | j | g  } | j | | j  | j | | j  | j |  j | j  | j t j j	 | j
  | j t j j | j  | j | j  | j |  j | j  | j | | j  d  S(   NR   (   RD   R   R   R   R=   R   Rr   R   R  t   TYPE_STRINGR   t   CPPTYPE_STRINGR  RH   RI   RJ   R   (   R   R   R   R   R   R   R	  R
  (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    
(   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR    s   	t   ExtensionFieldc           B   s   e  Z d    Z d   Z RS(   c         C   s   | |  _  | |  _ d  S(   N(   Rr   t   extended_type(   R   Rr   R  (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    	c         C   s  | j  | } | j | | j  d j | j | g  } | j | | j  | j |  j | j  | j | | j  | j t j j	 | j
  | j t j j | j  | j | j  | j | j  | j | | j  | j | | j  | j |  j | j j  | j | | j  d  S(   NR   (   R   R   R   R   R=   Rr   R   R   R  R  R   R  R  R@   RI   RH   t   is_extensiont   extension_scopeRE   R  R?   R   (   R   R   R   R   R   R   R	  R
  (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR     s    
(   R   R   R   R   (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR    s   	t   AddDescriptorTestc           B   s   e  Z d    Z e j e j   d k d  d    Z d   Z e j e j   d k d  d    Z	 e j e j   d k d  d    Z
 e j e j   d k d  d    Z d   Z d	   Z d
   Z d   Z RS(   c         C   s   t  j   } | j t j j  |  j d | j | d  j  |  j	 t
   | j | d  Wd  QX| j t j j j  |  j d | j | d  j  |  j d | j d  j  |  j d | j | d  j  d  S(   Ns   protobuf_unittest.TestAllTypess,   protobuf_unittest.TestAllTypes.NestedMessages   google/protobuf/unittest.proto(   R   R   t   AddDescriptorR   R   R   R   R;   R=   R"   R#   t   NestedMessageR   R   R%   (   R   t   prefixR   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   _TestMessage  s,    RY   s7   With the cpp implementation, Add() must be called firstc         C   s   |  j  d  |  j  d  d  S(   NRX   R   (   R  (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testMessage  s    c         C   s   t  j   } | j t j j  |  j d | j | d  j  |  j	 t
   | j | d  Wd  QX| j t j j j  |  j d | j | d  j  |  j d | j d  j  |  j d | j | d  j  d  S(   Ns   protobuf_unittest.ForeignEnums(   protobuf_unittest.ForeignEnum.NestedEnums)   protobuf_unittest.TestAllTypes.NestedEnums   google/protobuf/unittest.proto(   R   R   t   AddEnumDescriptorR   R   R   R   Rb   R=   R"   R#   R   t
   NestedEnumR   R   R%   (   R   R  R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt	   _TestEnum  s,    c         C   s   |  j  d  |  j  d  d  S(   NRX   R   (   R   (   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testEnum,  s    c         C   s_   t  j   } |  j t   | j d  Wd  QX| j t j  |  j d | j d  j	  d  S(   Ns   protobuf_unittest.TestService(
   R   R   R"   R#   Rd   t   AddServiceDescriptorR   t   _TESTSERVICER   R=   (   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testService2  s    c         C   s_   t  j   } | j t j  |  j d | j d  j  |  j t	   | j
 d  Wd  QXd  S(   Ns   google/protobuf/unittest.protos   protobuf_unittest.TestAllTypes(   R   R   t   AddFileDescriptorR   R   R   R   R   R"   R#   R%   (   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testFile=  s    c         C   sq   t  j   } t j j } |  j t | j |  t j   } t j j	 |  | j
 |  |  j | j |   d  S(   N(   R   R   R   R   R   R"   R#   R   R   t   CopyToProtoR   RH   (   R   R   t   proto_file_nameR   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testEmptyDescriptorPoolM  s    c      	   C   s  t  j   } t j d d d d  } | j j d d  | j |  |  j | j d  j	 d  |  j | j
 d  j	 d  t j d d  } | j j d d  } | j j d d d	 d
 d t j j d t j j  | j j d d  } | j j d d d	 d  | j j d d  t  j   } | j |  |  j d | j
 d  j	  |  j d | j d  j	  |  j d | j d  j	  d  S(   NR   s   some/file.protoR   t   Messages   package.Messages   some/filename/container.protot
   TopMessaget   bbRr   i   R   Rz   t   TopEnumt   FOREIGN_FOOi   t
   TopService(   R   R   R   R   RE   t   addR   R   R   R   R;   R|   t   FieldDescriptorProtot
   TYPE_INT32t   LABEL_OPTIONALRF   R   R   Rb   Rd   (   R   R   R   t
   file_protot   message_protot
   enum_proto(    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testCustomDescriptorPoolY  s6    					c         C   s   t  j   } d } t j d |  } t j } d | j j | _ | j	 |  | j
 |  } | j   } |  j d | j | j  |  j | | j    d  S(   Ns9   file_descriptor_options_with_custom_descriptor_pool.protoR   t   foo(   R   R   R   R   R	   t   foo_optionst   optionst
   Extensionst   foo_nameR   R   t
   GetOptionsR   R   (   R   R   t	   file_namet   file_descriptor_protot   extension_idR   R:  (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt1   testFileDescriptorOptionsWithCustomDescriptorPoolx  s    	c      
   C   s   t  j   } |  j t   | j d  Wd  QX|  j t   | j d  Wd  QX|  j t   | j d  Wd  QX|  j t   | j d  Wd  QX|  j t   | j d  Wd  QXd  S(   Ni    (	   R   R   R"   R[   R  R  R"  R   R%  (   R   R   (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   testAddTypeError  s    (   R   R   R  t   unittestt   skipIfR   R]   R  R   R!  R$  R&  R)  R7  RA  RB  (    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyR    s   		
			s4   google/protobuf/internal/descriptor_pool_test1.protos   google.protobuf.python.internalt   ALPHAi   R   i   R  t   EPSILONi   t   ZETAi   t   ETAi   t   THETAi   R   t   nested_fieldt   thetat   DeepNestedMessaget   betat   deep_nested_messagei   R  t   nested_messageR   R   t   GAMMAt   DELTAi   t   IOTAi	   t   KAPPAi
   t   LAMBDAi   t   MUi   t   lambdat   deltat   DescriptorPoolTest2s4   google/protobuf/internal/descriptor_pool_test2.protot   NUi   t   XIi   t   OMICRONi   t   PIi   t   RHOi   t   SIGMAi   t   sigmat   nuR   t   descriptor_pool_testi  t   DescriptorPoolTest3R   s,   google/protobuf/internal/more_messages.protoR   t   __main__(,   t   __doc__t
   __author__t   ost   syst	   unittest2RC  t   ImportErrort   google.protobufR    R   R   R   t   google.protobuf.internalR   R   R   R   R   R	   R
   R   R   R   R   R   t   objectR   t   TestCaseR   R   Ry   R   R   R   R  R  R  R  R  t   TrueR   R   R   t   main(    (    (    sQ   /usr/lib/python2.7/site-packages/google/protobuf/internal/descriptor_pool_test.pyt   <module>    s    # 
"	