diff options
author | Daniel Pittman <daniel@puppetlabs.com> | 2011-05-25 14:25:32 -0700 |
---|---|---|
committer | Daniel Pittman <daniel@puppetlabs.com> | 2011-05-25 14:25:32 -0700 |
commit | 520cbc0292ec0cf75b6871bb0a4bc12bce506bb0 (patch) | |
tree | 3e6a0306a4276beaf443e71389ce28127987cee7 | |
parent | 4d6703ca2eb295975d4dd5f8244af3313e959872 (diff) | |
parent | 78657fcd7f779af475dad8df9fe954b39c041fb4 (diff) | |
download | puppet-520cbc0292ec0cf75b6871bb0a4bc12bce506bb0.tar.gz puppet-520cbc0292ec0cf75b6871bb0a4bc12bce506bb0.tar.xz puppet-520cbc0292ec0cf75b6871bb0a4bc12bce506bb0.zip |
Merge branch '2.7.x'
Conflicts:
acceptance/tests/ticket_7117_broke_env_criteria_authconf.rb
-rwxr-xr-x | spec/integration/util/file_locking_spec.rb | 4 | ||||
-rwxr-xr-x | spec/unit/type/schedule_spec.rb | 115 |
2 files changed, 75 insertions, 44 deletions
diff --git a/spec/integration/util/file_locking_spec.rb b/spec/integration/util/file_locking_spec.rb index 3b6964e8b..624ba033c 100755 --- a/spec/integration/util/file_locking_spec.rb +++ b/spec/integration/util/file_locking_spec.rb @@ -3,7 +3,7 @@ require 'spec_helper' require 'puppet/util/file_locking' -describe Puppet::Util::FileLocking do +describe Puppet::Util::FileLocking, :'fails_on_ruby_1.9.2' => true do before :each do @file = Tempfile.new("puppetspec") filepath = @file.path @@ -13,7 +13,7 @@ describe Puppet::Util::FileLocking do File.open(@file, "w") { |f| f.puts YAML.dump(@data) } end - it "should be able to keep file corruption from happening when there are multiple writers threads", :'fails_in_ruby_1.9.2' => true do + it "should be able to keep file corruption from happening when there are multiple writers threads" do threads = [] sync = Sync.new 9.times { |a| diff --git a/spec/unit/type/schedule_spec.rb b/spec/unit/type/schedule_spec.rb index 08ec70cd7..b302d95cd 100755 --- a/spec/unit/type/schedule_spec.rb +++ b/spec/unit/type/schedule_spec.rb @@ -3,10 +3,6 @@ require 'spec_helper' module ScheduleTesting - def format(time) - time.strftime("%H:%M:%S") - end - def diff(unit, incr, method, count) diff = Time.now.to_i.send(method, incr * count) Time.at(diff) @@ -54,7 +50,7 @@ describe Puppet::Type.type(:schedule) do it "should never match when the period is :never" do @schedule[:period] = :never - @schedule.match?.should be_false + @schedule.should_not be_match end end @@ -80,19 +76,44 @@ describe Puppet::Type.type(:schedule) do describe Puppet::Type.type(:schedule), "when matching ranges" do include ScheduleTesting + before do + Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0)) + end + it "should match when the start time is before the current time and the end time is after the current time" do - @schedule[:range] = "#{format(Time.now - 10)} - #{format(Time.now + 10)}" - @schedule.match?.should be_true + @schedule[:range] = "10:59:50 - 11:00:10" + @schedule.should be_match end it "should not match when the start time is after the current time" do - @schedule[:range] = "#{format(Time.now + 5)} - #{format(Time.now + 10)}" - @schedule.match?.should be_false + @schedule[:range] = "11:00:05 - 11:00:10" + @schedule.should_not be_match end it "should not match when the end time is previous to the current time" do - @schedule[:range] = "#{format(Time.now - 10)} - #{format(Time.now - 5)}" - @schedule.match?.should be_false + @schedule[:range] = "10:59:50 - 10:59:55" + @schedule.should be_match + end + + it "should throw an error if the upper limit is less than the lower limit" do + pending "bug #7639" + @schedule[:range] = "01:02:03 - 01:00:00" + @schedule.should_throw Puppet::Error + end + + it "should not match the current time fails between an array of ranges" do + @schedule[:range] = ["4-6", "20-23"] + @schedule.should_not be_match + end + + it "should match the lower array of ranges" do + @schedule[:range] = ["9-11", "14-16"] + @schedule.should be_match + end + + it "should match the upper array of ranges" do + @schedule[:range] = ["4-6", "11-12"] + @schedule.should be_match end end @@ -102,18 +123,20 @@ describe Puppet::Type.type(:schedule) do before do @schedule[:period] = :hourly @schedule[:periodmatch] = :distance + + Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0)) end - it "should match an hour ago" do - @schedule.match?(hour("-", 1)).should be_true + it "should match when the previous time was an hour ago" do + @schedule.should be_match(hour("-", 1)) end - it "should not match now" do - @schedule.match?(Time.now).should be_false + it "should not match when the previous time was now" do + @schedule.should_not be_match(Time.now) end - it "should not match 59 minutes ago" do - @schedule.match?(min("-", 59)).should be_false + it "should not match when the previous time was 59 minutes ago" do + @schedule.should_not be_match(min("-", 59)) end end @@ -123,18 +146,20 @@ describe Puppet::Type.type(:schedule) do before do @schedule[:period] = :daily @schedule[:periodmatch] = :distance + + Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0)) end it "should match when the previous time was one day ago" do - @schedule.match?(day("-", 1)).should be_true + @schedule.should be_match(day("-", 1)) end it "should not match when the previous time is now" do - @schedule.match?(Time.now).should be_false + @schedule.should_not be_match(Time.now) end it "should not match when the previous time was 23 hours ago" do - @schedule.match?(hour("-", 23)).should be_false + @schedule.should_not be_match(hour("-", 23)) end end @@ -144,18 +169,20 @@ describe Puppet::Type.type(:schedule) do before do @schedule[:period] = :weekly @schedule[:periodmatch] = :distance + + Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0)) end - it "should match seven days ago" do - @schedule.match?(day("-", 7)).should be_true + it "should match when the previous time was seven days ago" do + @schedule.should be_match(day("-", 7)) end - it "should not match now" do - @schedule.match?(Time.now).should be_false + it "should not match when the previous time was now" do + @schedule.should be_match(Time.now) end - it "should not match six days ago" do - @schedule.match?(day("-", 6)).should be_false + it "should not match when the previous time was six days ago" do + @schedule.should_not be_match(day("-", 6)) end end @@ -165,18 +192,20 @@ describe Puppet::Type.type(:schedule) do before do @schedule[:period] = :monthly @schedule[:periodmatch] = :distance + + Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0)) end - it "should match 32 days ago" do - @schedule.match?(day("-", 32)).should be_true + it "should match when the previous time was 32 days ago" do + @schedule.should be_match(day("-", 32)) end - it "should not match now" do - @schedule.match?(Time.now).should be_false + it "should not match when the previous time was now" do + @schedule.should_not be_match(Time.now) end - it "should not match 27 days ago" do - @schedule.match?(day("-", 27)).should be_false + it "should not match when the previous time was 27 days ago" do + @schedule.should_not be_match(day("-", 27)) end end @@ -193,7 +222,7 @@ describe Puppet::Type.type(:schedule) do previous = Time.utc(2007, 12, 31, 23, 59, 0) Time.stubs(:now).returns(current) - @schedule.match?(previous).should be_true + @schedule.should be_match(previous) end it "should not match if the times are 59 minutes apart and the current minute is 59" do @@ -201,7 +230,7 @@ describe Puppet::Type.type(:schedule) do previous = Time.utc(2009, 2, 1, 12, 0, 0) Time.stubs(:now).returns(current) - @schedule.match?(previous).should be_false + @schedule.should_not be_match(previous) end end @@ -220,7 +249,7 @@ describe Puppet::Type.type(:schedule) do previous = current - 60 Time.stubs(:now).returns(current) - @schedule.match?(previous).should be_true + @schedule.should be_match(previous) end it "should not match if the times are 23 hours and 58 minutes apart and the current hour is 23 and the current minute is 59" do @@ -232,7 +261,7 @@ describe Puppet::Type.type(:schedule) do now = previous + (23 * 3600) + (59 * 60) Time.stubs(:now).returns(now) - @schedule.match?(previous).should be_false + @schedule.should_not be_match(previous) end end @@ -249,7 +278,7 @@ describe Puppet::Type.type(:schedule) do Time.stubs(:now).returns(now) previous = Time.utc(2010, "nov", 6, 23, 59, 59) # Sat - @schedule.match?(previous).should be_true + @schedule.should be_match(previous) end it "should not match if the previous time is after the most recent Saturday" do @@ -257,7 +286,7 @@ describe Puppet::Type.type(:schedule) do Time.stubs(:now).returns(now) previous = Time.utc(2010, "nov", 7, 0, 0, 0) # Sunday - @schedule.match?(previous).should be_false + @schedule.should_not be_match(previous) end end @@ -274,7 +303,7 @@ describe Puppet::Type.type(:schedule) do Time.stubs(:now).returns(now) previous = Time.utc(2010, "oct", 31, 23, 59, 59) - @schedule.match?(previous).should be_true + @schedule.should be_match(previous) end it "should not match when the previous time is after the last day of last month" do @@ -282,7 +311,7 @@ describe Puppet::Type.type(:schedule) do Time.stubs(:now).returns(now) previous = Time.utc(2010, "nov", 1, 0, 0, 0) - @schedule.match?(previous).should be_false + @schedule.should_not be_match(previous) end end @@ -292,6 +321,8 @@ describe Puppet::Type.type(:schedule) do before do @schedule[:period] = :daily @schedule[:repeat] = 2 + + Time.stubs(:now).returns(Time.local(2011, "may", 23, 11, 0, 0)) end it "should fail if the periodmatch is 'number'" do @@ -301,12 +332,12 @@ describe Puppet::Type.type(:schedule) do it "should match if the previous run was further away than the distance divided by the repeat" do previous = Time.now - (3600 * 13) - @schedule.match?(previous).should be_true + @schedule.should be_match(previous) end it "should not match if the previous run was closer than the distance divided by the repeat" do previous = Time.now - (3600 * 11) - @schedule.match?(previous).should be_false + @schedule.should_not be_match(previous) end end end |