<s> import sys <EOL> import pytest <EOL> from moult import utils <EOL> from moult . classes import PyModule <EOL> python2_stdlib = ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:abc>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:code>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:email>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT:test>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:time>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ) <EOL> python3_stdlib = ( <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:abc>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:code>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:email>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:html>' , '<STR_LIT:http>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:string>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT:test>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT:time>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , '<STR_LIT>' , <EOL> ) <EOL> def test_installed_packages ( data ) : <EOL> installed = data . copy_installed ( ) <EOL> assert len ( installed ) <EOL> for pkg in installed : <EOL> assert isinstance ( pkg , PyModule ) , '<STR_LIT>' <EOL> assert len ( pkg . import_names ) , '<STR_LIT>' <EOL> pkg2 = PyModule ( pkg . name , pkg . version , pkg . location , pkg . missing ) <EOL> assert hash ( pkg ) == hash ( pkg2 ) , '<STR_LIT>' <EOL> @ pytest . mark . skipif ( sys . version_info [ : <NUM_LIT:2> ] > ( <NUM_LIT:2> , <NUM_LIT:7> ) , reason = '<STR_LIT>' ) <EOL> def test_python2_stdlib ( ) : <EOL> print ( sys . version_info ) <EOL> for lib in python2_stdlib : <EOL> assert utils . is_stdlib ( lib ) <EOL> @ pytest . mark . skipif ( sys . version_info [ : <NUM_LIT:2> ] < ( <NUM_LIT:3> , <NUM_LIT:2> ) , reason = '<STR_LIT>' ) <EOL> def test_python3_stdlib ( ) : <EOL> print ( sys . version_info ) <EOL> for lib in python3_stdlib : <EOL> assert utils . is_stdlib ( lib ) <EOL> def test_not_stdlib ( ) : <EOL> assert not utils . is_stdlib ( '<STR_LIT>' ) <EOL> assert not utils . is_stdlib ( '<STR_LIT>' ) <EOL> assert not utils . is_stdlib ( '<STR_LIT>' ) <EOL> assert not utils . is_stdlib ( '<STR_LIT>' ) <EOL> assert not utils . is_stdlib ( '<STR_LIT>' ) <EOL> assert not utils . is_stdlib ( '<STR_LIT>' ) <EOL> def test_is_import_str ( ) : <EOL> assert utils . is_import_str ( '<STR_LIT>' ) <EOL> assert not utils . is_import_str ( '<STR_LIT>' ) <EOL> assert not utils . is_import_str ( '<STR_LIT>' ) <EOL> def test_resolve_import ( ) : <EOL> from_module = '<STR_LIT>' <EOL> assert utils . resolve_import ( '<STR_LIT>' , from_module ) == '<STR_LIT>' <EOL> assert utils . resolve_import ( '<STR_LIT>' , from_module ) == '<STR_LIT>' <EOL> assert utils . resolve_import ( '<STR_LIT>' , from_module ) == '<STR_LIT>' <EOL> assert utils . resolve_import ( '<STR_LIT>' , from_module ) == '<STR_LIT>' <EOL> def test_find_package ( data ) : <EOL> installed = data . copy_installed ( ) <EOL> pkg = utils . find_package ( '<STR_LIT>' , installed , package = True ) <EOL> assert pkg and pkg . name == '<STR_LIT>' <EOL> pkg = utils . find_package ( '<STR_LIT>' , installed , package = True ) <EOL> assert pkg is None <EOL> pkg = utils . find_package ( '<STR_LIT>' , installed ) <EOL> assert pkg is None <EOL> pkg = utils . find_package ( '<STR_LIT>' , installed ) <EOL> assert pkg and pkg . name == '<STR_LIT>' <EOL> pkg = utils . find_package ( '<STR_LIT>' , installed ) <EOL> assert pkg is None <EOL> pkg = utils . find_package ( '<STR_LIT>' , installed ) <EOL> assert pkg and pkg . name == '<STR_LIT>' <EOL> def test_find_file ( data ) : <EOL> data_dir = data . copy_data ( ) <EOL> filename = str ( data_dir . join ( '<STR_LIT>' ) ) <EOL> root = str ( data_dir . join ( '<STR_LIT>' ) ) <EOL> import_file = utils . file_containing_import ( '<STR_LIT>' , root ) <EOL> assert import_file == filename <EOL> def test_file_types ( data ) : <EOL> datadir = data . copy_data ( ) <EOL> bash_script = str ( datadir . join ( '<STR_LIT>' ) ) <EOL> py_script = str ( datadir . join ( '<STR_LIT>' ) ) <EOL> assert utils . is_script ( bash_script ) <EOL> assert not utils . is_python_script ( bash_script ) <EOL> assert utils . is_script ( py_script ) <EOL> assert utils . is_python_script ( py_script ) </s>
