@@ -385,3 +385,59 @@ def test_freeze_user(script, virtualenv):
385
385
<BLANKLINE>""" )
386
386
_check_output (result , expected )
387
387
assert 'simple2' not in result .stdout
388
+
389
+
390
+ def test_freeze_distributions (script ):
391
+ """Test that output is filtered if arguments are specified."""
392
+ # Install some distributions.
393
+ script .scratch_path .join ("initools-req.txt" ).write (textwrap .dedent ("""\
394
+ simple==2.0
395
+ requiresupper==1.0
396
+ """ ))
397
+ script .pip_install_local (
398
+ '-r' , script .scratch_path / 'initools-req.txt' ,
399
+ )
400
+ # Freeze a single package.
401
+ result = script .pip ('freeze' , 'simple' , expect_stderr = True )
402
+ expected = textwrap .dedent ("""\
403
+ Script result: pip freeze simple
404
+ -- stdout: --------------------
405
+ simple==2.0
406
+ <BLANKLINE>""" )
407
+ _check_output (result , expected )
408
+ # Freeze a single package does not show dependencies by default.
409
+ result = script .pip ('freeze' , 'requiresupper' , expect_stderr = True )
410
+ expected = textwrap .dedent ("""\
411
+ Script result: pip freeze requiresupper
412
+ -- stdout: --------------------
413
+ requiresupper==1.0
414
+ <BLANKLINE>""" )
415
+ _check_output (result , expected )
416
+ # Freeze multiple packages.
417
+ result = script .pip ('freeze' , 'simple' , 'requiresupper' ,
418
+ expect_stderr = True )
419
+ expected = textwrap .dedent ("""\
420
+ Script result: pip freeze simple requiresupper
421
+ -- stdout: --------------------
422
+ requiresupper==1.0
423
+ simple==2.0
424
+ <BLANKLINE>""" )
425
+ _check_output (result , expected )
426
+ # Freeze is case insensitive.
427
+ result = script .pip ('freeze' , 'SiMPLe' , expect_stderr = True )
428
+ expected = textwrap .dedent ("""\
429
+ Script result: pip freeze SiMPLe
430
+ -- stdout: --------------------
431
+ simple==2.0
432
+ <BLANKLINE>""" )
433
+ _check_output (result , expected )
434
+ # Freeze is optionally recursive.
435
+ result = script .pip ('freeze' , '--recursive' , 'requiresupper' ,
436
+ expect_stderr = True )
437
+ expected = textwrap .dedent ("""\
438
+ Script result: pip freeze --recursive requiresupper
439
+ -- stdout: --------------------
440
+ requiresupper==1.0
441
+ Upper==2.0
442
+ <BLANKLINE>""" )
443
+ _check_output (result , expected )
0 commit comments