File tree Expand file tree Collapse file tree 2 files changed +22
-0
lines changed
lib/active_record/connection_adapters
test/cases/connection_adapters Expand file tree Collapse file tree 2 files changed +22
-0
lines changed Original file line number Diff line number Diff line change @@ -471,6 +471,7 @@ def open(filename)
471
471
File . atomic_write ( filename ) do |file |
472
472
if File . extname ( filename ) == ".gz"
473
473
zipper = Zlib ::GzipWriter . new file
474
+ zipper . mtime = 0
474
475
yield zipper
475
476
zipper . flush
476
477
zipper . close
Original file line number Diff line number Diff line change @@ -334,6 +334,27 @@ def test_marshal_dump_and_load_with_gzip
334
334
tempfile . unlink
335
335
end
336
336
337
+ def test_gzip_dumps_identical
338
+ # Create an empty cache.
339
+ cache = new_bound_reflection
340
+
341
+ tempfile_a = Tempfile . new ( [ "schema_cache-" , ".dump.gz" ] )
342
+ # Dump it. It should get populated before dumping.
343
+ cache . dump_to ( tempfile_a . path )
344
+ digest_a = Digest ::MD5 . file ( tempfile_a ) . hexdigest
345
+ sleep ( 1 ) # ensure timestamp changes
346
+ tempfile_b = Tempfile . new ( [ "schema_cache-" , ".dump.gz" ] )
347
+ # Dump it. It should get populated before dumping.
348
+ cache . dump_to ( tempfile_b . path )
349
+ digest_b = Digest ::MD5 . file ( tempfile_b ) . hexdigest
350
+
351
+
352
+ assert_equal digest_a , digest_b
353
+ ensure
354
+ tempfile_a . unlink
355
+ tempfile_b . unlink
356
+ end
357
+
337
358
def test_data_source_exist
338
359
assert @cache . data_source_exists? ( "courses" )
339
360
assert_not @cache . data_source_exists? ( "foo" )
You can’t perform that action at this time.
0 commit comments