def test_non_absolute_error_base_python_dir(venv, capsys): ret = virtualenv_tools.main(( '--base-python-dir=.', venv.before.strpath, )) out, _ = capsys.readouterr() assert ret == 1 assert out == '--base-python-dir must be absolute: .\n'
def test_move_with_auto(venv, capsys): venv.app_before.move(venv.app_after) ret = virtualenv_tools.main(('--update-path=auto', venv.after.strpath)) out, _ = capsys.readouterr() expected = 'Updated: {1} ({0} -> {1})\n'.format(venv.before, venv.after) assert ret == 0 assert out == expected assert_virtualenv_state(venv.after)
def test_not_a_virtualenv_missing_versioned_lib_directory(fake_venv, capsys): fake_venv.join('lib/python2.7').remove() ret = virtualenv_tools.main(('--update-path=auto', fake_venv.strpath)) out, _ = capsys.readouterr() assert ret == 1 expected = '{} is not a virtualenv: not a directory: {}\n'.format( fake_venv, fake_venv.join('lib/python#.#'), ) assert out == expected
def test_not_a_virtualenv_missing_activate_file(fake_venv, capsys): fake_venv.join('bin/activate').remove() ret = virtualenv_tools.main(('--update-path=auto', fake_venv.strpath)) out, _ = capsys.readouterr() assert ret == 1 expected = '{} is not a virtualenv: not a file: {}\n'.format( fake_venv, fake_venv.join('bin/activate'), ) assert out == expected
def test_not_a_virtualenv_missing_bindir(fake_venv, capsys): fake_venv.join('bin').remove() ret = virtualenv_tools.main((fake_venv.strpath, )) out, _ = capsys.readouterr() assert ret == 1 expected = '{} is not a virtualenv: not a directory: {}\n'.format( fake_venv, fake_venv.join('bin'), ) assert out == expected
def test_not_a_virtualenv_missing_site_packages(fake_venv, capsys): fake_venv.join('lib/python2.7/site-packages').remove() ret = virtualenv_tools.main((fake_venv.strpath, )) out, _ = capsys.readouterr() assert ret == 1 expected = '{} is not a virtualenv: not a directory: {}\n'.format( fake_venv, fake_venv.join('lib/python2.7/site-packages'), ) assert out == expected
def test_move_with_venv(venv, capsys): assert_virtualenv_state(venv.before) os.environ['WORKON_HOME'] = venv.app_after.strpath venv.app_before.move(venv.app_after) ret = virtualenv_tools.main(('venv', )) out, _ = capsys.readouterr() expected = 'Updated: {0} ({0} -> {1})\n'.format(venv.before, venv.after) assert ret == 0 assert out == expected assert_virtualenv_state(venv.after)
def test_move_with_pyvencfg(venv, capsys): assert_virtualenv_state(venv.before) venv.app_before.move(venv.app_after) ret = virtualenv_tools.main(( '--base-python-dir=/usr/bin/python', venv.after.strpath, )) pyvenv = venv.after.join('pyvenv.cfg') pyvenv_content = pyvenv.readlines() expected = 'home = /usr/bin/python\n' assert ret == 0 assert pyvenv_content[0] == expected assert_virtualenv_state(venv.after)
def test_help(capsys, helpargs): with pytest.raises(SystemExit): virtualenv_tools.main(helpargs) out, err = capsys.readouterr() assert 'usage: ' in out + err
def run(before, after, args=()): ret = virtualenv_tools.main( (before.strpath, '--update-path={}'.format(after.strpath)) + args, ) assert ret == 0
def test_non_absolute_error(capsys): ret = virtualenv_tools.main(('--update-path', 'notabs')) out, _ = capsys.readouterr() assert ret == 1 assert out == '--update-path must be absolute: notabs\n'
def test_main_nux(capsys): ret = virtualenv_tools.main(('--main', )) out, _ = capsys.readouterr() assert ret == 0 assert out == "On *nux, Python installation is not hardcoded in binaries\n"