[Pkg-puppet-devel] [SCM] Puppet packaging for Debian branch, upstream, updated. 2.6.5-303-gfcfa26a
Brice Figureau
brice-puppet at daysofwonder.com
Thu Mar 17 10:46:11 UTC 2011
The following commit has been merged in the upstream branch:
commit 48bc7d00ca87fa92cdde0b993529bba3827fa47e
Author: Brice Figureau <brice-puppet at daysofwonder.com>
Date: Fri Feb 11 20:18:14 2011 +0100
Fix #6280 - puppetdoc crashing on string interpolation
The following manifest was crashing puppetdoc:
class test {
include "test::$operatingsystem"
}
Because the quoted string is "rendered" as a concat AST, which in turn
ended being an array when entering RDoc.
Signed-off-by: Brice Figureau <brice-puppet at daysofwonder.com>
diff --git a/lib/puppet/parser/ast/leaf.rb b/lib/puppet/parser/ast/leaf.rb
index fcdd219..77617e9 100644
--- a/lib/puppet/parser/ast/leaf.rb
+++ b/lib/puppet/parser/ast/leaf.rb
@@ -67,7 +67,7 @@ class Puppet::Parser::AST
end
def to_s
- "concat(#{@value.join(',')})"
+ "#{@value.map { |s| s.to_s.gsub(/^"(.*)"$/, '\1') }.join}"
end
end
diff --git a/lib/puppet/util/rdoc/parser.rb b/lib/puppet/util/rdoc/parser.rb
index f9beced..f59af64 100644
--- a/lib/puppet/util/rdoc/parser.rb
+++ b/lib/puppet/util/rdoc/parser.rb
@@ -157,8 +157,8 @@ class Parser
if stmt.is_a?(Puppet::Parser::AST::Function) and ['include','require'].include?(stmt.name)
stmt.arguments.each do |included|
- Puppet.debug "found #{stmt.name}: #{included.value}"
- container.send("add_#{stmt.name}",Include.new(included.value, stmt.doc))
+ Puppet.debug "found #{stmt.name}: #{included}"
+ container.send("add_#{stmt.name}",Include.new(included.to_s, stmt.doc))
end
end
end
diff --git a/spec/unit/util/rdoc/parser_spec.rb b/spec/unit/util/rdoc/parser_spec.rb
index 28c33c2..3295e90 100755
--- a/spec/unit/util/rdoc/parser_spec.rb
+++ b/spec/unit/util/rdoc/parser_spec.rb
@@ -339,7 +339,7 @@ describe RDoc::Parser do
describe "when scanning for includes and requires" do
def create_stmt(name)
- stmt_value = stub "#{name}_value", :value => "myclass"
+ stmt_value = stub "#{name}_value", :to_s => "myclass"
Puppet::Parser::AST::Function.new(
:name => name,
@@ -357,13 +357,13 @@ describe RDoc::Parser do
it "should also scan mono-instruction code" do
@class.expects(:add_include).with { |i| i.is_a?(RDoc::Include) and i.name == "myclass" and i.comment == "mydoc" }
- @parser.scan_for_include_or_require(@class,create_stmt("include"))
+ @parser.scan_for_include_or_require(@class, create_stmt("include"))
end
it "should register recursively includes to the current container" do
@code.stubs(:children).returns([ create_stmt("include") ])
- @class.expects(:add_include).with { |i| i.is_a?(RDoc::Include) and i.name == "myclass" and i.comment == "mydoc" }
+ @class.expects(:add_include)#.with { |i| i.is_a?(RDoc::Include) and i.name == "myclass" and i.comment == "mydoc" }
@parser.scan_for_include_or_require(@class, [@code])
end
--
Puppet packaging for Debian
More information about the Pkg-puppet-devel
mailing list