diff options
author | Daniel Pittman <daniel@rimspace.net> | 2011-03-07 18:44:28 -0800 |
---|---|---|
committer | Daniel Pittman <daniel@rimspace.net> | 2011-03-07 18:44:28 -0800 |
commit | 9a1c3b5ad48a254ff2a6becc72f54feb37bb3de1 (patch) | |
tree | 7a175e70442c4ead4285ffc4538a7b06a48c53e2 /spec | |
parent | 28095d7435bcab15b76ddfa4435d61653f2f890d (diff) | |
download | puppet-9a1c3b5ad48a254ff2a6becc72f54feb37bb3de1.tar.gz puppet-9a1c3b5ad48a254ff2a6becc72f54feb37bb3de1.tar.xz puppet-9a1c3b5ad48a254ff2a6becc72f54feb37bb3de1.zip |
maint: spec/integration/configurer has races in time checking.
This code depended on the time written by the configurer, and Time.now about
half a dozen lines later, being the same integer value. This would work
almost all the time, because our code is pretty fast, but can race.
We now capture the time on both sides of the call, and verify that the emitted
time was in that range; this actually tests the whole purpose much better, and
more thoroughly.
Reviewed-by: Paul Berry <paul@puppetlabs.com>
Diffstat (limited to 'spec')
-rwxr-xr-x | spec/integration/configurer_spec.rb | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/spec/integration/configurer_spec.rb b/spec/integration/configurer_spec.rb index 825b6322e..05b3d6146 100755 --- a/spec/integration/configurer_spec.rb +++ b/spec/integration/configurer_spec.rb @@ -50,7 +50,12 @@ describe Puppet::Configurer do Puppet[:lastrunfile] = tmpfile("lastrunfile") Puppet[:report] = true + # We only record integer seconds in the timestamp, and truncate + # backwards, so don't use a more accurate timestamp in the test. + # --daniel 2011-03-07 + t1 = Time.now.tv_sec @configurer.run :catalog => @catalog, :report => report + t2 = Time.now.tv_sec summary = nil File.open(Puppet[:lastrunfile], "r") do |fd| @@ -62,7 +67,7 @@ describe Puppet::Configurer do summary.should be_key(key) end summary["time"].should be_key("notify") - summary["time"]["last_run"].should >= Time.now.tv_sec + summary["time"]["last_run"].should be_between(t1, t2) end end end |