8
8
9
9
from tests .lib import (
10
10
_create_test_package , _create_test_package_with_srcdir , need_bzr ,
11
- need_mercurial ,
11
+ need_mercurial , path_to_url ,
12
12
)
13
13
14
14
distribute_re = re .compile ('^distribute==[0-9.]+\n ' , re .MULTILINE )
@@ -419,6 +419,26 @@ def test_freeze_bazaar_clone(script, tmpdir):
419
419
""" )
420
420
421
421
422
+ def test_freeze_with_requirement_option_file_url_egg_not_installed (script ):
423
+ """
424
+ Test "freeze -r requirements.txt" with a local file URL whose egg name
425
+ is not installed.
426
+ """
427
+
428
+ url = path_to_url ('my-package.tar.gz' ) + '#egg=Does.Not-Exist'
429
+ requirements_path = script .scratch_path .join ('requirements.txt' )
430
+ requirements_path .write (url + '\n ' )
431
+
432
+ result = script .pip (
433
+ 'freeze' , '--requirement' , 'requirements.txt' , expect_stderr = True ,
434
+ )
435
+ expected_err = (
436
+ 'Requirement file [requirements.txt] contains {}, but package '
437
+ "'Does.Not-Exist' is not installed\n "
438
+ ).format (url )
439
+ assert result .stderr == expected_err
440
+
441
+
422
442
def test_freeze_with_requirement_option (script ):
423
443
"""
424
444
Test that new requirements are created correctly with --requirement hints
@@ -444,8 +464,8 @@ def test_freeze_with_requirement_option(script):
444
464
expected += "## The following requirements were added by pip freeze:..."
445
465
_check_output (result .stdout , expected )
446
466
assert (
447
- "Requirement file [hint.txt] contains NoExist==4.2, but that package "
448
- "is not installed"
467
+ "Requirement file [hint.txt] contains NoExist==4.2, but package "
468
+ "'NoExist' is not installed"
449
469
) in result .stderr
450
470
451
471
@@ -486,12 +506,12 @@ def test_freeze_with_requirement_option_multiple(script):
486
506
""" )
487
507
_check_output (result .stdout , expected )
488
508
assert (
489
- "Requirement file [hint1.txt] contains NoExist==4.2, but that "
490
- "package is not installed"
509
+ "Requirement file [hint1.txt] contains NoExist==4.2, but package "
510
+ "'NoExist' is not installed"
491
511
) in result .stderr
492
512
assert (
493
- "Requirement file [hint2.txt] contains NoExist2==2.0, but that "
494
- "package is not installed"
513
+ "Requirement file [hint2.txt] contains NoExist2==2.0, but package "
514
+ "'NoExist2' is not installed"
495
515
) in result .stderr
496
516
# any options like '--index-url http://ignore' should only be emitted once
497
517
# even if they are listed in multiple requirements files
@@ -524,7 +544,7 @@ def test_freeze_with_requirement_option_package_repeated_one_file(script):
524
544
""" )
525
545
_check_output (result .stdout , expected_out )
526
546
err1 = ("Requirement file [hint1.txt] contains NoExist, "
527
- "but that package is not installed\n " )
547
+ "but package 'NoExist' is not installed\n " )
528
548
err2 = "Requirement simple2 included multiple times [hint1.txt]\n "
529
549
assert err1 in result .stderr
530
550
assert err2 in result .stderr
@@ -560,8 +580,8 @@ def test_freeze_with_requirement_option_package_repeated_multi_file(script):
560
580
""" )
561
581
_check_output (result .stdout , expected_out )
562
582
563
- err1 = ("Requirement file [hint2.txt] contains NoExist, but that "
564
- "package is not installed\n " )
583
+ err1 = ("Requirement file [hint2.txt] contains NoExist, but package "
584
+ "'NoExist' is not installed\n " )
565
585
err2 = ("Requirement simple included multiple times "
566
586
"[hint1.txt, hint2.txt]\n " )
567
587
assert err1 in result .stderr
0 commit comments