def scripts(self, venv: VEnv, packages: Iterable[str]) -> Iterable[Tuple[str, str]]: if venv.create(update=True): if venv.requirements: venv.install(*venv.requirements) venv.install(*packages) try: import pkg_resources except ImportError: echo("Unable to import pkg_resources to register %s into %s" % (sorted(packages), venv)) return [] if platform == 'win32': libpath = venv.abs_path / 'lib' / 'site-packages' else: ver_path = 'python%d.%d' % version_info[:2] libpath = venv.abs_path / 'lib' / ver_path pkg_env = pkg_resources.Environment( search_path=[str(libpath / 'site-packages')]) def pkg_scripts(p: str) -> Iterable[str]: scripts = {} # type: Dict dist = pkg_env[p] if len(dist): scripts = dist[0].get_entry_map().get('console_scripts') or {} return scripts.keys() return ((s, p) for p in packages for s in pkg_scripts(p))
def init(pyver='2.7', dir='.', upgrade=False, clientonly=False): """Create a virtualenv and setup entry points """ virtualenv = venv.init(pyver=pyver, dir=dir, upgrade=upgrade, apy=True) # extra required packages extra = ['pytest'] for p in extra: venv.install(p, dir)
def init(pyver='2.7', dir='.', upgrade=False, clientonly=False): """Create a virtualenv and setup entry points """ virtualenv = venv.init( pyver=pyver, dir=dir, upgrade=upgrade, apy=True ) # extra required packages extra = ['pytest'] for p in extra: venv.install(p, dir)
def test(k=None): """Run tests""" venv.install('pytest') py_test = venv.get_script('py.test') test_script = P.join('applib', 'test', 'all.py') if not P.exists('tmp'): os.mkdir('tmp') if k is not None: args = " -k " + k else: args = "" local('{0} -x -v {1} {2} --junitxml=tmp/testreport.xml'.format( py_test, test_script, args), capture=False)
def test(k=None): """Run tests""" venv.install('pytest') py_test = venv.get_script('py.test') test_script = P.join('applib', 'test', 'all.py') if not P.exists('tmp'): os.mkdir('tmp') if k is not None: args = " -k " + k else: args = "" local( '{0} -x -v {1} {2} --junitxml=tmp/testreport.xml'.format(py_test, test_script, args), capture=False)