From 05966b889e84f58554979831118cce587c6235f9 Mon Sep 17 00:00:00 2001 From: l Date: Fri, 24 Jun 2011 12:25:58 +0200 Subject: fixed bug that caused a parse-error on lines containing = ( closes #1 ) --- lib/puppet/provider/sudoers/parsed.rb | 2 +- spec/unit/provider/sudoers/parsed_spec.rb | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/puppet/provider/sudoers/parsed.rb b/lib/puppet/provider/sudoers/parsed.rb index 750d009..9c79788 100644 --- a/lib/puppet/provider/sudoers/parsed.rb +++ b/lib/puppet/provider/sudoers/parsed.rb @@ -45,7 +45,7 @@ Puppet::Type.type(:sudoers).provide( elsif (hash[:line] =~ /^\s*(Defaults\S*)\s*(.*)$/) Puppet.debug("parsed line as Defaults") parsed.parse_defaults($1, $2, hash) - elsif (hash[:line] =~ /^\s*(.*)?=(.*)$/) + elsif (hash[:line] =~ /^\s*(.*?)?=(.*)$/) Puppet.debug("parsed line as User Spec") parsed.parse_user_spec($1, $2, hash) else diff --git a/spec/unit/provider/sudoers/parsed_spec.rb b/spec/unit/provider/sudoers/parsed_spec.rb index 1bcdfae..28ab80d 100644 --- a/spec/unit/provider/sudoers/parsed_spec.rb +++ b/spec/unit/provider/sudoers/parsed_spec.rb @@ -115,5 +115,18 @@ describe Puppet::Type.type(:sudoers).provider(:parsed) do # test to_line end + + context "failing for commands containing =",:issue => 1 do + before do + @init_records = {:type => 'user_spec'} + end + + it "can parse users and hosts for lines containing =" do + line = "root ALL=(ALL) NOPASSWD: /bin/grep --color=auto example /var/log/messages" + lambda{ + @provider.parse_line(line) + }.should_not raise_error + end + end end -- cgit v1.2.3 From 7aecf1a8b343a3f38bb77055b3042968ad3a92c3 Mon Sep 17 00:00:00 2001 From: l Date: Fri, 24 Jun 2011 12:33:22 +0200 Subject: fixed issue reference in spec meta-data --- spec/unit/provider/sudoers/parsed_spec.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spec/unit/provider/sudoers/parsed_spec.rb b/spec/unit/provider/sudoers/parsed_spec.rb index 28ab80d..ace181e 100644 --- a/spec/unit/provider/sudoers/parsed_spec.rb +++ b/spec/unit/provider/sudoers/parsed_spec.rb @@ -116,7 +116,7 @@ describe Puppet::Type.type(:sudoers).provider(:parsed) do end - context "failing for commands containing =",:issue => 1 do + context "failing for commands containing =",:issue => 2 do before do @init_records = {:type => 'user_spec'} end -- cgit v1.2.3