diff options
| author | James Turnbull <james@lovedthanlost.net> | 2010-01-14 14:14:19 +1100 |
|---|---|---|
| committer | James Turnbull <james@lovedthanlost.net> | 2010-01-14 14:14:19 +1100 |
| commit | 441879f7999f4724e8ab344e796015a7ffbfb21b (patch) | |
| tree | 11f7207748744c70911425906906f3828b5d71b5 | |
| parent | f7e14356ad7781fafa52a459d3c24372fa6c0900 (diff) | |
Revert "Fix #2845 Cron entries using "special" parameter lose their title when changed"
This reverts commit c99f394bf8c10d13f3fa7d3ab7ab43ecf454c081.
The fix broke cron jobs in 0.25.3 and was reverted for the 0.25.4 release.
| -rwxr-xr-x | lib/puppet/provider/cron/crontab.rb | 13 | ||||
| -rwxr-xr-x | spec/unit/provider/cron/crontab.rb | 21 |
2 files changed, 9 insertions, 25 deletions
diff --git a/lib/puppet/provider/cron/crontab.rb b/lib/puppet/provider/cron/crontab.rb index 28ef05974..6dee2e515 100755 --- a/lib/puppet/provider/cron/crontab.rb +++ b/lib/puppet/provider/cron/crontab.rb @@ -27,13 +27,18 @@ Puppet::Type.type(:cron).provide(:crontab, text_line :environment, :match => %r{^\w+=} - crontab = record_line :crontab, :fields => %w{special minute hour monthday month weekday command}, - :match => %r{^\s*(?:@(\w+)|(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+))\s+(.+)$}, - :optional => %w{special minute hour weekday month monthday}, :absent => "*" + record_line :freebsd_special, :fields => %w{special command}, + :match => %r{^@(\w+)\s+(.+)$}, :pre_gen => proc { |record| + record[:special] = "@" + record[:special] + } + + crontab = record_line :crontab, :fields => %w{minute hour monthday month weekday command}, + :match => %r{^\s*(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(\S+)\s+(.+)$}, + :optional => %w{minute hour weekday month monthday}, :absent => "*" class << crontab def numeric_fields - fields - [:command, :special] + fields - [:command] end # Do some post-processing of the parsed record. Basically just # split the numeric fields on ','. diff --git a/spec/unit/provider/cron/crontab.rb b/spec/unit/provider/cron/crontab.rb deleted file mode 100755 index 5904a58b7..000000000 --- a/spec/unit/provider/cron/crontab.rb +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env ruby - -Dir.chdir(File.dirname(__FILE__)) { (s = lambda { |f| File.exist?(f) ? require(f) : Dir.chdir("..") { s.call(f) } }).call("spec/spec_helper.rb") } - -describe Puppet::Type.type(:cron).provider(:crontab) do - before :each do - @cron_type = Puppet::Type.type(:cron) - @provider = @cron_type.provider(:crontab) - end - - it "should round-trip the name as a comment for @special events" do - parse = @provider.parse <<-CRON -# Puppet Name: test -@reboot /bin/echo > /tmp/puppet.txt - CRON - prefetch = @provider.prefetch_hook(parse) - - @provider.to_line(prefetch[0]).should =~ /Puppet Name: test/ - end - -end |
