def start_pypi_server(packages, port, pypi_fallback): port = str(port) cmd = ('pypi-server', '-vvvvvv', '-i', '127.0.0.1', '-p', port) if not pypi_fallback: cmd += ('--disable-fallback',) cmd += (str(packages),) print(colorize(cmd)) server = subprocess.Popen(cmd, cwd=str(TOP), stderr=1) limit = 10 poll = .1 pypi_url = 'http://localhost:' + str(port) while True: if server.poll() is not None: raise AssertionError('pypi ended! (code %i)' % server.returncode) elif service_up(pypi_url): break elif limit > 0: time.sleep(poll) limit -= poll else: raise AssertionError('pypi server never became ready!') os.environ['PIP_INDEX_URL'] = pypi_url + '/simple' try: yield pypi_url finally: server.terminate() server.wait()
def start_pypi_server(packages, port, pypi_fallback): port = str(port) cmd = ("pypi-server", "-i", "127.0.0.1", "-p", port) if not pypi_fallback: cmd += ("--disable-fallback",) cmd += (str(packages),) print(colorize(cmd)) server = subprocess.Popen(cmd, close_fds=True, cwd=str(TOP)) limit = 10 poll = 0.1 while True: if server.poll() is not None: raise AssertionError("pypi ended! (code %i)" % server.returncode) elif service_up(port): break elif limit > 0: time.sleep(poll) limit -= poll else: raise AssertionError("pypi server never became ready!") os.environ["PIP_INDEX_URL"] = "http://localhost:" + str(port) + "/simple" try: yield finally: server.terminate() server.wait()
def pip(args): """Run pip, in-process.""" from sys import stdout stdout.write(colorize(('pip', ) + args)) stdout.write('\n') stdout.flush() return pipmodule._internal.main(list(args))
def pip(args): """Run pip, in-process.""" from sys import stdout stdout.write(colorize(('pip',) + args)) stdout.write('\n') stdout.flush() return pipmodule._internal.main(list(args))
def pip(args): """Run pip, in-process.""" # pip<1.6 needs its logging config reset on each invocation, or else we get duplicate outputs -.- pipmodule.logger.consumers = [] from sys import stdout stdout.write(colorize(('pip', ) + args)) stdout.write('\n') stdout.flush() # TODO: we probably can do bettter than calling pipmodule.main() now. return pipmodule.main(list(args))
def pip(args): """Run pip, in-process.""" # pip<1.6 needs its logging config reset on each invocation, or else we get duplicate outputs -.- pipmodule.logger.consumers = [] from sys import stdout stdout.write(colorize(('pip',) + args)) stdout.write('\n') stdout.flush() # TODO: we probably can do bettter than calling pipmodule.main() now. return pipmodule.main(list(args))
def run(*cmd, **env): if env: from os import environ tmp = env env = environ.copy() env.update(tmp) else: env = None from .capture_subprocess import capture_subprocess from venv_update import info, colorize info('\nTEST> ' + colorize(cmd)) out, err = capture_subprocess(cmd, env=env) err = strip_coverage_warnings(err) return out, err
def start_pypi_server(packages, port, pypi_fallback): port = str(port) cmd = ( 'pypi-server', '-vvvvvv', '-i', '127.0.0.1', '-p', port, # Default fallback is HTTP, which is no longer supported. # TODO: revert after a new pypiserver is released with this patch: # https://github.com/pypiserver/pypiserver/pull/182 '--fallback-url', 'https://pypi.python.org/simple', ) if not pypi_fallback: cmd += ('--disable-fallback', ) cmd += (str(packages), ) print(colorize(cmd)) server = subprocess.Popen(cmd, cwd=str(TOP), stderr=1) limit = 10 poll = .1 pypi_url = 'http://localhost:' + str(port) while True: if server.poll() is not None: raise AssertionError('pypi ended! (code %i)' % server.returncode) elif service_up(pypi_url): break elif limit > 0: time.sleep(poll) limit -= poll else: raise AssertionError('pypi server never became ready!') os.environ['PIP_INDEX_URL'] = pypi_url + '/simple' try: yield pypi_url finally: server.terminate() server.wait()
def start_pypi_server(packages, port, pypi_fallback): port = str(port) cmd = ( 'pypi-server', '-vvvvvv', '-i', '127.0.0.1', '-p', port, # Default fallback is HTTP, which is no longer supported. # TODO: revert after a new pypiserver is released with this patch: # https://github.com/pypiserver/pypiserver/pull/182 '--fallback-url', 'https://pypi.python.org/simple', ) if not pypi_fallback: cmd += ('--disable-fallback',) cmd += (str(packages),) print(colorize(cmd)) server = subprocess.Popen(cmd, cwd=str(TOP), stderr=1) limit = 10 poll = .1 pypi_url = 'http://localhost:' + str(port) while True: if server.poll() is not None: raise AssertionError('pypi ended! (code %i)' % server.returncode) elif service_up(pypi_url): break elif limit > 0: time.sleep(poll) limit -= poll else: raise AssertionError('pypi server never became ready!') os.environ['PIP_INDEX_URL'] = pypi_url + '/simple' try: yield pypi_url finally: server.terminate() server.wait()