Merge pull request #49166 from aleksclark/ensure-identical-dump-files
ensure identical md5 sums for gzip schema cache
This commit is contained in:
commit
9044d35c2f
@ -471,6 +471,7 @@ def open(filename)
|
||||
File.atomic_write(filename) do |file|
|
||||
if File.extname(filename) == ".gz"
|
||||
zipper = Zlib::GzipWriter.new file
|
||||
zipper.mtime = 0
|
||||
yield zipper
|
||||
zipper.flush
|
||||
zipper.close
|
||||
|
@ -334,6 +334,27 @@ def test_marshal_dump_and_load_with_gzip
|
||||
tempfile.unlink
|
||||
end
|
||||
|
||||
def test_gzip_dumps_identical
|
||||
# Create an empty cache.
|
||||
cache = new_bound_reflection
|
||||
|
||||
tempfile_a = Tempfile.new(["schema_cache-", ".dump.gz"])
|
||||
# Dump it. It should get populated before dumping.
|
||||
cache.dump_to(tempfile_a.path)
|
||||
digest_a = Digest::MD5.file(tempfile_a).hexdigest
|
||||
sleep(1) # ensure timestamp changes
|
||||
tempfile_b = Tempfile.new(["schema_cache-", ".dump.gz"])
|
||||
# Dump it. It should get populated before dumping.
|
||||
cache.dump_to(tempfile_b.path)
|
||||
digest_b = Digest::MD5.file(tempfile_b).hexdigest
|
||||
|
||||
|
||||
assert_equal digest_a, digest_b
|
||||
ensure
|
||||
tempfile_a.unlink
|
||||
tempfile_b.unlink
|
||||
end
|
||||
|
||||
def test_data_source_exist
|
||||
assert @cache.data_source_exists?("courses")
|
||||
assert_not @cache.data_source_exists?("foo")
|
||||
|
Loading…
Reference in New Issue
Block a user