;
Ìâ"Ic               @   sE  d  d l  Z  d  d l Z d  d l Z d  d l Z d  d l Z d  d l m Z y e Wn$ e	 k
 o d  d l
 m Z Yn Xd  d l Z e j ƒ  Z e e j j e  j ƒ g Z d d d d d g d g d	 g d
 g Z d d d d d d g d g d	 g d g Z d d d d d d d g d d g g  d g Z d d d d d d d d d d g	 d d g g  d g Z d d d d d d d d d d d d d g g  g  d g Z d d d d  d d d d d d d d! d d" g g  g  d# g Z d d d g d$ g g  d% g Z d& „  Z d' „  Z Gd( „  d) e j ƒ Z d* „  Z e d+ k o e j  ƒ  n d S(,   i    N(   u   support(   u   Setu   a.moduleu   au   sysu   bu   cu   b.somethinguÊ   a/__init__.py
a/module.py
                                from b import something
                                from c import something
b/__init__.py
                                from sys import *
u
   __future__u  a/__init__.py
a/module.py
                                from b import something
                                from c import something
b/__init__.py
                                from __future__ import absolute_import
                                from sys import *
u   a.bu   a.cu   mymoduleu   blahblahu  mymodule.py
a/__init__.py
                                import blahblah
                                from a import b
                                import c
a/module.py
                                import sys
                                from a import b as x
                                from a.c import sillyname
a/b.py
a/c.py
                                from a.module import x
                                import mymodule as sillyname
                                from sys import version_info
u   b.xu   b.yu   b.zu   gcu   zuj  mymodule.py
a/__init__.py
a/module.py
                                from __future__ import absolute_import
                                import sys # sys
                                import blahblah # fails
                                import gc # gc
                                import b.x # b.x
                                from b import y # b.y
                                from b.z import * # b.z.*
a/gc.py
a/sys.py
                                import mymodule
a/b/__init__.py
a/b/x.py
a/b/y.py
a/b/z.py
b/__init__.py
                                import z
b/unused.py
b/x.py
b/y.py
b/z.py
u   a.b.yu   a.b.zu   a.b.cu   a.b.c.moduleCu   a.b.c.du   a.b.c.eu   a.b.xu§  mymodule.py
a/__init__.py
                                from .b import y, z # a.b.y, a.b.z
a/module.py
                                from __future__ import absolute_import # __future__
                                import gc # gc
a/gc.py
a/sys.py
a/b/__init__.py
                                from ..b import x # a.b.x
                                #from a.b.c import moduleC
                                from .c import moduleC # a.b.moduleC
a/b/x.py
a/b/y.py
a/b/z.py
a/b/g.py
a/b/c/__init__.py
                                from ..c import e # a.b.c.e
a/b/c/moduleC.py
                                from ..c import d # a.b.c.d
a/b/c/d.py
a/b/c/e.py
a/b/c/x.py
u   a.sysu   a.b.c.fu	   a.anotheruÈ  mymodule.py
a/__init__.py
                                from . import sys # a.sys
a/another.py
a/module.py
                                from .b import y, z # a.b.y, a.b.z
a/gc.py
a/sys.py
a/b/__init__.py
                                from .c import moduleC # a.b.c.moduleC
                                from .c import d # a.b.c.d
a/b/x.py
a/b/y.py
a/b/z.py
a/b/c/__init__.py
                                from . import e # a.b.c.e
a/b/c/moduleC.py
                                #
                                from . import f   # a.b.c.f
                                from .. import x  # a.b.x
                                from ... import another # a.another
a/b/c/d.py
a/b/c/e.py
a/b/c/f.py
u   a.baru®   a/__init__.py
                                def foo(): pass
a/module.py
                                from . import foo
                                from . import bar
c             C   s/   t  j j |  ƒ } t j j | ƒ t |  d ƒ S(   Nu   w(   u   osu   pathu   dirnameu	   distutilsu   dir_utilu   mkpathu   open(   u   pathu   dirname(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu	   open_fileÎ   s    c             C   s}   d  } xp |  j ƒ  D]b } | j d ƒ p | j d ƒ o | j | j ƒ  d ƒ q t t j j t	 | j ƒ  ƒ ƒ } q Wd  S(   Nu    u   	u   
(
   u   Noneu
   splitlinesu
   startswithu   writeu   stripu	   open_fileu   osu   pathu   joinu   TEST_DIR(   u   sourceu   ofiu   line(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   create_packageÔ   s      c             B   sp   |  Ee  Z d
 d  „ Z d „  Z d „  Z e e d d	 ƒ o1 d „  Z	 d „  Z
 d „  Z d „  Z d „  Z n d	 S(   c          
   C   sþ   | \ } } } } } t  | ƒ zÇ t j d t ƒ } | j | ƒ | o | j ƒ  n t | ƒ } t | j j ƒ  ƒ }	 t	 |	 | ƒ }
 t	 | |	 ƒ } |  j
 |
 | f g  g  f ƒ | j ƒ  \ } } |  j
 | | ƒ |  j
 | | ƒ Wd  t j j t ƒ Xd  S(   Nu   path(   u   create_packageu   modulefinderu   ModuleFinderu	   TEST_PATHu   import_hooku   reportu   setu   modulesu   keysu   listu   failUnlessEqualu   any_missing_maybeu	   distutilsu   dir_utilu   remove_treeu   TEST_DIR(   u   selfu   infou   reportu   import_thisu   modulesu   missingu   maybe_missingu   sourceu   mfu   foundu   moreu   lessu   badu   maybe(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   _do_testÝ   s     

c             C   s   |  j  t ƒ d  S(   N(   u   _do_testu   package_test(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   test_packageü   s    c             C   s   |  j  t ƒ d  S(   N(   u   _do_testu
   maybe_test(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu
   test_maybeÿ   s    u   absolute_importc             C   s   |  j  t ƒ d  S(   N(   u   _do_testu   maybe_test_new(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   test_maybe_new  s    c             C   s   |  j  t ƒ d  S(   N(   u   _do_testu   absolute_import_test(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   test_absolute_imports  s    c             C   s   |  j  t ƒ d  S(   N(   u   _do_testu   relative_import_test(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   test_relative_imports
  s    c             C   s   |  j  t ƒ d  S(   N(   u   _do_testu   relative_import_test_2(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   test_relative_imports_2  s    c             C   s   |  j  t ƒ d  S(   N(   u   _do_testu   relative_import_test_3(   u   self(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   test_relative_imports_3  s    NF(   u   __name__u
   __module__u   Falseu   _do_testu   test_packageu
   test_maybeu   getattru
   __future__u   Noneu   test_maybe_newu   test_absolute_importsu   test_relative_importsu   test_relative_imports_2u   test_relative_imports_3(   u
   __locals__(    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   ModuleFinderTestÜ   s   
						u   ModuleFinderTestc               C   s'   t  j j t  j j ƒ t j t ƒ d  S(   N(   u	   distutilsu   logu   set_thresholdu   WARNu   supportu   run_unittestu   ModuleFinderTest(    (    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu	   test_main  s    u   __main__(!   u
   __future__u   osu   unittestu   distutils.dir_utilu	   distutilsu   tempfileu   testu   supportu   setu	   NameErroru   setsu   Setu   modulefinderu   mkdtempu   TEST_DIRu   pathu   dirnameu   __file__u	   TEST_PATHu
   maybe_testu   maybe_test_newu   package_testu   absolute_import_testu   relative_import_testu   relative_import_test_2u   relative_import_test_3u	   open_fileu   create_packageu   TestCaseu   ModuleFinderTestu	   test_mainu   __name__u   main(    (    (    u3   /mit/python/lib/python3.0/test/test_modulefinder.pyu   <module>   s‚     																7	