You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			Python
		
	
import builtins
 | 
						|
import os
 | 
						|
import sys
 | 
						|
import textwrap
 | 
						|
 | 
						|
from matplotlib.testing import subprocess_run_for_testing
 | 
						|
 | 
						|
 | 
						|
def test_simple():
 | 
						|
    assert 1 + 1 == 2
 | 
						|
 | 
						|
 | 
						|
def test_override_builtins():
 | 
						|
    import pylab  # type: ignore[import]
 | 
						|
    ok_to_override = {
 | 
						|
        '__name__',
 | 
						|
        '__doc__',
 | 
						|
        '__package__',
 | 
						|
        '__loader__',
 | 
						|
        '__spec__',
 | 
						|
        'any',
 | 
						|
        'all',
 | 
						|
        'sum',
 | 
						|
        'divmod'
 | 
						|
    }
 | 
						|
    overridden = {key for key in {*dir(pylab)} & {*dir(builtins)}
 | 
						|
                  if getattr(pylab, key) != getattr(builtins, key)}
 | 
						|
    assert overridden <= ok_to_override
 | 
						|
 | 
						|
 | 
						|
def test_lazy_imports():
 | 
						|
    source = textwrap.dedent("""
 | 
						|
    import sys
 | 
						|
 | 
						|
    import matplotlib.figure
 | 
						|
    import matplotlib.backend_bases
 | 
						|
    import matplotlib.pyplot
 | 
						|
 | 
						|
    assert 'matplotlib._tri' not in sys.modules
 | 
						|
    assert 'matplotlib._qhull' not in sys.modules
 | 
						|
    assert 'matplotlib._contour' not in sys.modules
 | 
						|
    assert 'urllib.request' not in sys.modules
 | 
						|
    """)
 | 
						|
 | 
						|
    subprocess_run_for_testing(
 | 
						|
        [sys.executable, '-c', source],
 | 
						|
        env={**os.environ, "MPLBACKEND": "", "MATPLOTLIBRC": os.devnull},
 | 
						|
        check=True)
 |