Files
lespiedsdanslecode/files/test_file_concurrency_access.rb
T
Yannick Francois 29d6558b4e changement de procédé
dans une orientation où le thème change pour toutes les pages
2019-02-23 23:53:36 +01:00

41 lines
727 B
Ruby

require 'test/unit'
DUCK="duck"
ELEPHANT="elephant"
SNAKE="snake"
FILE="test_file"
class TestFileConcurrencyAccess < Test::Unit::TestCase
def test_concurrency_access
t1 = Thread.start do
File.open(FILE, "w") do |file|
file.puts SNAKE
file.flush
sleep 8
file.puts DUCK
end
end
File.open(FILE,"r") do |f1|
assert SNAKE, f1.read
end
t2 = Thread.start do
File.open(FILE,"w") do |f|
sleep 2
f.puts ELEPHANT
end
end
t2.join
File.open(FILE,"r") do |f2|
assert ELEPHANT, f2.read
end
t1.join
File.open(FILE,"r") do |f3|
assert SNAKE, f3.readline
assert DUCK, f3.readline
end
end
end