Project

General

Profile

Backport #5311 ยป pstore_ensure_binary.patch

patch to lib/pstore.rb and to test/pstore_test.rb - camerooni (Cameron Pope), 09/13/2011 12:28 PM

View differences:

lib/pstore.rb (working copy)
def open_and_lock_file(filename, read_only)
if read_only
begin
file = File.new(filename, RD_ACCESS)
file = File.new(filename, RD_ACCESS, external_encoding: Encoding::BINARY)
begin
file.flock(File::LOCK_SH)
return file
......
return nil
end
else
file = File.new(filename, RDWR_ACCESS)
file = File.new(filename, RDWR_ACCESS, external_encoding: Encoding::BINARY)
file.flock(File::LOCK_EX)
return file
end
test/test_pstore.rb (working copy)
pstore.transaction { pstore.transaction { } }
end
end
# Test that PStore's file operations do not blow up when default encodings are set
def test_pstore_files_are_accessed_as_binary_files
Encoding.default_internal = 'utf-8'
Encoding.default_external = 'utf-8'
(1..1000).each do |i|
@pstore.transaction { @pstore["Key#{i}"] = "value #{i}" }
end
end
end
    (1-1/1)