o
    Û¾ii  ã                   @   s>   d dl mZ d dlZG dd„ dejƒZedkre ¡  dS dS )é    )Úrun_in_subprocessNc                   @   s   e Zd Zdd„ ZdS )Ú
TestImportc                 C   sD   d}d}t |ƒ\}}tt| ¡ ƒƒ}t|ƒt|ƒ@ }|  |d¡ dS )zí
        Tests that importing cuda doesn't trigger the import of modules
        containing lowering implementation that would likely install things in
        the builtins registry and have side effects impacting other targets.
        )znumba.cpython.slicingznumba.cpython.tupleobjznumba.cpython.enumimplznumba.cpython.hashingznumba.cpython.heapqznumba.cpython.iteratorsznumba.cpython.numbersznumba.cpython.rangeobjznumba.cpython.cmathimplznumba.cpython.mathimplznumba.cpython.printimplznumba.cpython.randomimplznumba.core.optionalznumba.misc.gdb_hookznumba.misc.literalznumba.misc.cffiimplznumba.np.linalgznumba.np.polynomialznumba.np.arraymathznumba.np.npdatetimeznumba.np.npyimplznumba.typed.typeddictznumba.typed.typedlistz numba.experimental.jitclass.basez<import sys; from numba import cuda; print(list(sys.modules))z"some modules unexpectedly importedN)r   ÚsetÚevalÚstripÚassertFalse)ÚselfÚbanlistÚcodeÚoutÚ_ÚmodlistÚ
unexpected© r   úW/home/ubuntu/.local/lib/python3.10/site-packages/numba/cuda/tests/nocuda/test_import.pyÚtest_no_impl_import   s   zTestImport.test_no_impl_importN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r      s    r   Ú__main__)Únumba.tests.supportr   ÚunittestÚTestCaser   r   Úmainr   r   r   r   Ú<module>   s    +ÿ