# Path: pip_faster.py
# PY2 = str is bytes
# 
# Path: venv_update.py
# DEFAULT_VIRTUALENV_PATH = 'venv'
# DEFAULT_OPTION_VALUES = {
#     'venv=': (DEFAULT_VIRTUALENV_PATH,),
#     'install=': ('-r', 'requirements.txt',),
#     'pip-command=': ('pip-faster', 'install', '--upgrade', '--prune'),
#     'bootstrap-deps=': ('venv-update==' + __version__,),
# }
# def parseargs(argv):
# def timid_relpath(arg):
# def shellescape(args):
# def colorize(cmd):
# def run(cmd):
# def info(msg):
# def check_output(cmd):
# def samefile(file1, file2):
# def exec_(argv):  # never returns
#     def __init__(self):
# def exec_scratch_virtualenv(args):
# def get_original_path(venv_path):  # TODO-TEST: a unit test
# def get_python_version(interpreter):
# def invalid_virtualenv_reason(venv_path, source_python, destination_python, virtualenv_system_site_packages):
# def ensure_virtualenv(args, return_values):
# def wait_for_all_subprocesses():
# def touch(filename, timestamp):
# def mark_venv_valid(venv_path):
# def mark_venv_invalid(venv_path):
# def dotpy(filename):
# def venv_executable(venv_path, executable):
# def venv_python(venv_path):
# def user_cache_dir():
# def venv_update(
#         venv=DEFAULT_OPTION_VALUES['venv='],
#         install=DEFAULT_OPTION_VALUES['install='],
#         pip_command=DEFAULT_OPTION_VALUES['pip-command='],
#         bootstrap_deps=DEFAULT_OPTION_VALUES['bootstrap-deps='],
# ):
# def execfile_(filename):
# def pip_faster(venv_path, pip_command, install, bootstrap_deps):
# def raise_on_failure(mainfunc, ignore_return=False):
# def main():
# class Scratch(object):
#     class return_values(object):


import pytest
from pip_faster import PY2
from testing import run
from venv_update import __version__
def test_pip_get_installed(tmpdir):
    tmpdir.chdir()

    run('virtualenv', 'myvenv')
    run('rm', '-rf', 'myvenv/local')
    run('myvenv/bin/pip', 'install', 'venv-update==' + __version__)

    assert get_installed() == []

    run(
        'myvenv/bin/pip', 'install',
        'pytest',
        'git+git://github.com/bukzor/cov-core.git@master#egg=cov-core',
        '-e', 'git+git://github.com/bukzor/pytest-cov.git@master#egg=pytest-cov',
    )

    expected = [
        'attrs',
        'cov-core',
        'coverage',
        'importlib-metadata',
        'packaging',
        'pluggy',
        'py',
        'pyparsing',
        'pytest',
        'pytest-cov',
        'zipp',
    ]


# Path: pip_faster.py
# PY2 = str is bytes
# 
# Path: venv_update.py
# DEFAULT_VIRTUALENV_PATH = 'venv'
# DEFAULT_OPTION_VALUES = {
#     'venv=': (DEFAULT_VIRTUALENV_PATH,),
#     'install=': ('-r', 'requirements.txt',),
#     'pip-command=': ('pip-faster', 'install', '--upgrade', '--prune'),
#     'bootstrap-deps=': ('venv-update==' + __version__,),
# }
# def parseargs(argv):
# def timid_relpath(arg):
# def shellescape(args):
# def colorize(cmd):
# def run(cmd):
# def info(msg):
# def check_output(cmd):
# def samefile(file1, file2):
# def exec_(argv):  # never returns
#     def __init__(self):
# def exec_scratch_virtualenv(args):
# def get_original_path(venv_path):  # TODO-TEST: a unit test
# def get_python_version(interpreter):
# def invalid_virtualenv_reason(venv_path, source_python, destination_python, virtualenv_system_site_packages):
# def ensure_virtualenv(args, return_values):
# def wait_for_all_subprocesses():
# def touch(filename, timestamp):
# def mark_venv_valid(venv_path):
# def mark_venv_invalid(venv_path):
# def dotpy(filename):
# def venv_executable(venv_path, executable):
# def venv_python(venv_path):
# def user_cache_dir():
# def venv_update(
#         venv=DEFAULT_OPTION_VALUES['venv='],
#         install=DEFAULT_OPTION_VALUES['install='],
#         pip_command=DEFAULT_OPTION_VALUES['pip-command='],
#         bootstrap_deps=DEFAULT_OPTION_VALUES['bootstrap-deps='],
# ):
# def execfile_(filename):
# def pip_faster(venv_path, pip_command, install, bootstrap_deps):
# def raise_on_failure(mainfunc, ignore_return=False):
# def main():
# class Scratch(object):
#     class return_values(object):


# Path: tests/functional/get_installed_test.py
import pytest
from pip_faster import PY2
from testing import run
from venv_update import __version__

def test_pip_get_installed(tmpdir):
    tmpdir.chdir()

    run('virtualenv', 'myvenv')
    run('rm', '-rf', 'myvenv/local')
    run('myvenv/bin/pip', 'install', 'venv-update==' + __version__)

    assert get_installed() == []

    run(
        'myvenv/bin/pip', 'install',
        'pytest',
        'git+git://github.com/bukzor/cov-core.git@master#egg=cov-core',
        '-e', 'git+git://github.com/bukzor/pytest-cov.git@master#egg=pytest-cov',
    )

    expected = [
        'attrs',
        'cov-core',
        'coverage',
        'importlib-metadata',
        'packaging',
        'pluggy',
        'py',
        'pyparsing',
        'pytest',
        'pytest-cov',
        'zipp',
    ]


    if PY2:  # :pragma:nocover: