
    R?g                     N    S SK r S SKrS SKrSrSr " S S\R
                  5      rg)    Nss  
# The event loop is not fork-safe, and it's easy to initialize an asyncio.Future
# at startup, which in turn creates the default event loop and prevents forking.
# Explicitly disallow the default event loop so that an error will be raised
# if something tries to touch it.
import asyncio
asyncio.set_event_loop(None)

import importlib
import tornado

for mod in tornado.__all__:
    if mod == "curl_httpclient":
        # This module has extra dependencies; skip it if they're not installed.
        try:
            import pycurl
        except ImportError:
            continue
    importlib.import_module(f"tornado.{mod}")
s.  
import sys
import tornado

if "tornado.web" in sys.modules:
    raise Exception("unexpected eager import")

# Trigger a lazy import by referring to something in a submodule.
tornado.web.RequestHandler

if "tornado.web" not in sys.modules:
    raise Exception("lazy import did not update sys.modules")
c                   &    \ rS rSrS rS rS rSrg)
ImportTest*   c                     [         R                  " [        R                  /[         R                  S9nUR                  [        5        U R                  UR                  S5        g N)stdinr   )	
subprocessPopensys
executablePIPEcommunicate_import_everythingassertEqual
returncodeselfprocs     :/usr/lib/python3/dist-packages/tornado/test/import_test.pytest_import_everything!ImportTest.test_import_everything+   sD    
  0
H+,!,    c                     [         R                  " [        R                  /[         R                  S9nUR                  [        5        U R                  UR                  S5        g r   )	r	   r
   r   r   r   r   _import_lazyr   r   r   s     r   test_lazy_importImportTest.test_lazy_import4   sA     0
H&!,r   c                 \   SS K nSS KnU R                  UR                  R                  UR
                  R                  5        U R                  UR                  R                  UR
                  R                  5        U R                  UR
                  R                  UR                  5        g )Nr   )tornadoasyncioassertIsioloopTimeoutErrorutilgen)r   r   r   s      r   test_import_aliasesImportTest.test_import_aliases:   sj    gnn117<<3L3LMgkk..0I0IJgll//1E1EFr    N)__name__
__module____qualname____firstlineno__r   r   r%   __static_attributes__r'   r   r   r   r   *   s    --Gr   r   )r	   r   unittestr   r   TestCaser   r'   r   r   <module>r/      s1     
  *G"" Gr   