File tree Expand file tree Collapse file tree 2 files changed +11
-0
lines changed
lib/puppet/provider/package
spec/unit/provider/package Expand file tree Collapse file tree 2 files changed +11
-0
lines changed Original file line number Diff line number Diff line change @@ -101,9 +101,12 @@ def self.instances(target_command = nil)
101101
102102 # Parse lines of output from `pip freeze`, which are structured as:
103103 # _package_==_version_ or _package_===_version_
104+ # or _package_ @ someURL@_version_
104105 def self . parse ( line )
105106 if line . chomp =~ /^([^=]+)===?([^=]+)$/
106107 { :ensure => Regexp . last_match ( 2 ) , :name => Regexp . last_match ( 1 ) , :provider => name }
108+ elsif line . chomp =~ /^([^@]+) @ [^@]+@(.+)$/
109+ { :ensure => Regexp . last_match ( 2 ) , :name => Regexp . last_match ( 1 ) , :provider => name }
107110 end
108111 end
109112
Original file line number Diff line number Diff line change 3838 } )
3939 end
4040
41+ it "should correctly parse URL format" do
42+ expect ( described_class . parse ( "real_package @ git+https://github.com/example/test.git@6b4e203b66c1de7345984882e2b13bf87c700095" ) ) . to eq ( {
43+ :ensure => "6b4e203b66c1de7345984882e2b13bf87c700095" ,
44+ :name => "real_package" ,
45+ :provider => :pip ,
46+ } )
47+ end
48+
4149 it "should return nil on invalid input" do
4250 expect ( described_class . parse ( "foo" ) ) . to eq ( nil )
4351 end
You can’t perform that action at this time.
0 commit comments