コード例 #1
0
ファイル: conftest.py プロジェクト: bossjones/venv-update
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()
コード例 #2
0
ファイル: conftest.py プロジェクト: jolynch/pip-faster
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()
コード例 #3
0
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))
コード例 #4
0
ファイル: pip_faster.py プロジェクト: Yelp/venv-update
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))
コード例 #5
0
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))
コード例 #6
0
ファイル: pip_faster.py プロジェクト: jolynch/pip-faster
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))
コード例 #7
0
ファイル: __init__.py プロジェクト: Yelp/venv-update
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
コード例 #8
0
ファイル: __init__.py プロジェクト: jon-betts/venv-update
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
コード例 #9
0
ファイル: conftest.py プロジェクト: anthrax3/venv-update
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()
コード例 #10
0
ファイル: conftest.py プロジェクト: Yelp/venv-update
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()