summaryrefslogtreecommitdiff
path: root/tests/test_freeze.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/test_freeze.py')
-rw-r--r--tests/test_freeze.py64
1 files changed, 51 insertions, 13 deletions
diff --git a/tests/test_freeze.py b/tests/test_freeze.py
index c89ae8b15..4412c1435 100644
--- a/tests/test_freeze.py
+++ b/tests/test_freeze.py
@@ -32,6 +32,7 @@ def _check_output(result, expected):
return '\n========== %s ==========\n' % msg
assert checker.check_output(expected, actual, ELLIPSIS), banner('EXPECTED')+expected+banner('ACTUAL')+actual+banner(6*'=')
+
def test_freeze_basic():
"""
Some tests of freeze, first we have to install some stuff. Note that
@@ -57,6 +58,7 @@ def test_freeze_basic():
<BLANKLINE>""")
_check_output(result, expected)
+
def test_freeze_svn():
"""Now lets try it with an svn checkout"""
env = reset_env()
@@ -64,12 +66,12 @@ def test_freeze_svn():
local_repo('svn+http://svn.colorstudy.com/INITools/trunk'),
'initools-trunk')
result = env.run('python', 'setup.py', 'develop',
- cwd=env.scratch_path/ 'initools-trunk')
+ cwd=env.scratch_path/ 'initools-trunk', expect_stderr=True)
result = run_pip('freeze', expect_stderr=True)
expected = textwrap.dedent("""\
Script result: ...pip freeze
-- stdout: --------------------
- -e %s@10#egg=INITools-0.3.1dev_r10-py...-dev_r10
+ -e %s@10#egg=INITools-0.3.1dev...-dev_r10
...""" % local_checkout('svn+http://svn.colorstudy.com/INITools/trunk'))
_check_output(result, expected)
@@ -80,28 +82,28 @@ def test_freeze_git_clone():
"""
env = reset_env()
- result = env.run('git', 'clone', local_repo('git+http://github.com/jezdez/django-pagination.git'), 'django-pagination')
- result = env.run('git', 'checkout', '1df6507872d73ee387eb375428eafbfc253dfcd8',
- cwd=env.scratch_path/'django-pagination', expect_stderr=True)
+ result = env.run('git', 'clone', local_repo('git+http://github.com/pypa/pip-test-package.git'), 'pip-test-package')
+ result = env.run('git', 'checkout', '7d654e66c8fa7149c165ddeffa5b56bc06619458',
+ cwd=env.scratch_path / 'pip-test-package', expect_stderr=True)
result = env.run('python', 'setup.py', 'develop',
- cwd=env.scratch_path / 'django-pagination')
+ cwd=env.scratch_path / 'pip-test-package')
result = run_pip('freeze', expect_stderr=True)
expected = textwrap.dedent("""\
Script result: ...pip freeze
-- stdout: --------------------
- -e %s@...#egg=django_pagination-...
- ...""" % local_checkout('git+http://github.com/jezdez/django-pagination.git'))
+ -e %s@...#egg=pip_test_package-...
+ ...""" % local_checkout('git+http://github.com/pypa/pip-test-package.git'))
_check_output(result, expected)
result = run_pip('freeze', '-f',
- '%s#egg=django_pagination' % local_checkout('git+http://github.com/jezdez/django-pagination.git'),
+ '%s#egg=pip_test_package' % local_checkout('git+http://github.com/pypa/pip-test-package.git'),
expect_stderr=True)
expected = textwrap.dedent("""\
- Script result: pip freeze -f %(repo)s#egg=django_pagination
+ Script result: pip freeze -f %(repo)s#egg=pip_test_package
-- stdout: --------------------
- -f %(repo)s#egg=django_pagination
- -e %(repo)s@...#egg=django_pagination-dev
- ...""" % {'repo': local_checkout('git+http://github.com/jezdez/django-pagination.git')})
+ -f %(repo)s#egg=pip_test_package
+ -e %(repo)s@...#egg=pip_test_package-dev
+ ...""" % {'repo': local_checkout('git+http://github.com/pypa/pip-test-package.git')})
_check_output(result, expected)
@@ -201,3 +203,39 @@ def test_freeze_with_local_option():
INITools==0.2
<BLANKLINE>""")
_check_output(result, expected)
+
+
+def test_freeze_with_requirement_option():
+ """
+ Test that new requirements are created correctly with --requirement hints
+
+ """
+ reset_env()
+ ignores = textwrap.dedent("""\
+ # Unchanged requirements below this line
+ -r ignore.txt
+ --requirement ignore.txt
+ -Z ignore
+ --always-unzip ignore
+ -f http://ignore
+ -i http://ignore
+ --extra-index-url http://ignore
+ --find-links http://ignore
+ --index-url http://ignore
+ """)
+ write_file('hint.txt', textwrap.dedent("""\
+ INITools==0.1
+ NoExist==4.2
+ """) + ignores)
+ result = run_pip('install', 'initools==0.2')
+ result = run_pip('install', 'MarkupSafe')
+ result = run_pip('freeze', '--requirement', 'hint.txt', expect_stderr=True)
+ expected = textwrap.dedent("""\
+ Script result: pip freeze --requirement hint.txt
+ -- stderr: --------------------
+ Requirement file contains NoExist==4.2, but that package is not installed
+
+ -- stdout: --------------------
+ INITools==0.2
+ """) + ignores + "## The following requirements were added by pip --freeze:..."
+ _check_output(result, expected)