From 8be9bd482eee91c503f623bb3b802c9fa8e371b2 Mon Sep 17 00:00:00 2001 From: naruse Date: Sat, 18 Mar 2017 12:02:27 +0000 Subject: [PATCH] merge revision(s) 57972: [Backport #13198] Fix bug of Tempfile#size if nothing is written [Bug #13198] * lib/tempfile.rb (Tempfile#size): Fix its behavior when nothing is written. Tempfile#size should return 0 in this case. The patch is from nobu . git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_4@58013 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- lib/tempfile.rb | 2 +- test/test_tempfile.rb | 7 +++++++ version.h | 6 +++--- 3 files changed, 11 insertions(+), 4 deletions(-) diff --git a/lib/tempfile.rb b/lib/tempfile.rb index 36b0e1a481..38d6e5ce24 100644 --- a/lib/tempfile.rb +++ b/lib/tempfile.rb @@ -227,7 +227,7 @@ class Tempfile < DelegateClass(File) if !@tmpfile.closed? @tmpfile.size # File#size calls rb_io_flush_raw() else - File.size?(@tmpfile.path) + File.size(@tmpfile.path) end end alias length size diff --git a/test/test_tempfile.rb b/test/test_tempfile.rb index 2149aaf77c..a31ea67fd0 100644 --- a/test/test_tempfile.rb +++ b/test/test_tempfile.rb @@ -247,6 +247,13 @@ puts Tempfile.new('foo').path assert_equal 5, t.size end + def test_size_on_empty_file + t = tempfile("foo") + t.write("") + t.close + assert_equal 0, t.size + end + def test_concurrency threads = [] tempfiles = [] diff --git a/version.h b/version.h index eb3d8b91b9..93f4bbb456 100644 --- a/version.h +++ b/version.h @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.4.0" -#define RUBY_RELEASE_DATE "2017-03-17" -#define RUBY_PATCHLEVEL 105 +#define RUBY_RELEASE_DATE "2017-03-18" +#define RUBY_PATCHLEVEL 106 #define RUBY_RELEASE_YEAR 2017 #define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 17 +#define RUBY_RELEASE_DAY 18 #include "ruby/version.h"