summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuke Kanies <luke@madstop.com>2008-12-14 22:42:16 -0600
committerJames Turnbull <james@lovedthanlost.net>2008-12-15 19:27:45 +1100
commitb966ea02a9deeb947bd6153c4cd7c53b1ddff3d8 (patch)
treec9d39dde3fe1530fede77ca60cacec240519a562
parent1f34bcac626d57e4bc8cbc3476a6e41319a6533e (diff)
downloadpuppet-b966ea02a9deeb947bd6153c4cd7c53b1ddff3d8.tar.gz
puppet-b966ea02a9deeb947bd6153c4cd7c53b1ddff3d8.tar.xz
puppet-b966ea02a9deeb947bd6153c4cd7c53b1ddff3d8.zip
Modifying the corruption-checking test.
It is now more likely to fail if there's a problem, since the yaml should be corrupt, causing a yaml failure. Also removing the equivalent test from the Storage module. Signed-off-by: Luke Kanies <luke@madstop.com>
-rwxr-xr-xspec/integration/util/file_locking.rb6
-rwxr-xr-xtest/util/storage.rb24
2 files changed, 3 insertions, 27 deletions
diff --git a/spec/integration/util/file_locking.rb b/spec/integration/util/file_locking.rb
index 171c57a5b..f8e21ed6e 100755
--- a/spec/integration/util/file_locking.rb
+++ b/spec/integration/util/file_locking.rb
@@ -11,7 +11,7 @@ describe Puppet::Util::FileLocking do
file = file.path
File.open(file, "w") { |f| f.puts "starting" }
- value = {:a => :b}
+ data = {:a => :b, :c => "A string", :d => "another string", :e => %w{an array of strings}}
threads = []
sync = Sync.new
9.times { |a|
@@ -19,13 +19,13 @@ describe Puppet::Util::FileLocking do
9.times { |b|
sync.synchronize(Sync::SH) {
Puppet::Util::FileLocking.readlock(file) { |f|
- f.read
+ YAML.load(f.read)
}
}
sleep 0.01
sync.synchronize(Sync::EX) {
Puppet::Util::FileLocking.writelock(file) { |f|
- f.puts "%s %s" % [a, b]
+ f.puts YAML.dump(data)
}
}
}
diff --git a/test/util/storage.rb b/test/util/storage.rb
index 5634a94f6..d3860d6d7 100755
--- a/test/util/storage.rb
+++ b/test/util/storage.rb
@@ -63,30 +63,6 @@ class TestStorage < Test::Unit::TestCase
assert_equal(state["name"], hash)
end
- # we're getting corrupt files, probably because multiple processes
- # are reading or writing the file at once
- # so we need to test that
- def test_multiwrite
- f = mkfile()
-
- value = {:a => :b}
- threads = []
- 9.times { |a|
- threads << Thread.new {
- 9.times { |b|
- assert_nothing_raised {
- Puppet::Util::Storage.load
- state = Puppet::Util::Storage.cache(f)
- value.each { |k,v| state[k] = v }
- state[:e] = rand(100)
- Puppet::Util::Storage.store
- }
- }
- }
- }
- threads.each { |th| th.join }
- end
-
def test_emptyrestore
Puppet::Util::Storage.load
Puppet::Util::Storage.store