Project

General

Profile

Bug #3244

the behavior of Tempfile#size was changed

Added by mame (Yusuke Endoh) about 10 years ago. Updated about 9 years ago.

Status:
Closed
Priority:
Normal
Target version:
ruby -v:
-
Backport:
[ruby-dev:41140]

Description

=begin
なかださん
遠藤です。

r27578 のせいで rubyspec のエラーが増えました。
よほどの事情がない限り revert しようと思います。
個人的には納得できる変更なので、残念ですが……。

1)
Tempfile#length returns 0 when self is closed FAILED
Expected 5
to have same value and type as 0

/home/mame/work/ruby/spec/rubyspec/library/tempfile/shared/length.rb:15:in
block (2 levels) in <top (required)>'
/home/mame/work/ruby/spec/rubyspec/library/tempfile/length_spec.rb:5:in
'

2)
Tempfile#size returns 0 when self is closed FAILED
Expected 5
to have same value and type as 0

/home/mame/work/ruby/spec/rubyspec/library/tempfile/shared/length.rb:15:in
block (2 levels) in <top (required)>'
/home/mame/work/ruby/spec/rubyspec/library/tempfile/size_spec.rb:5:in
'

--
Yusuke Endoh mame@tsg.ne.jp
=end

#1

Updated by matz (Yukihiro Matsumoto) about 10 years ago

=begin
Hi,

In message "Re: [ruby-dev:41140] [Bug:trunk] the behavior of Tempfile#size was changed"
on Tue, 4 May 2010 06:08:24 +0900, Yusuke ENDOH mame@tsg.ne.jp writes:

|r27578 のせいで rubyspec のエラーが増えました。
|よほどの事情がない限り revert しようと思います。
|個人的には納得できる変更なので、残念ですが……。

rubyspec変えたらいいんじゃないのかな。そこまで絶対的なものじゃ
ないでしょ、まだ。

=end

#2

Updated by mame (Yusuke Endoh) about 10 years ago

=begin
遠藤です。

2010年5月4日7:56 Yukihiro Matsumoto matz@ruby-lang.org:

In message "Re: [ruby-dev:41140] [Bug:trunk] the behavior of Tempfile#size was changed"
on Tue, 4 May 2010 06:08:24 +0900, Yusuke ENDOH mame@tsg.ne.jp writes:

|r27578 のせいで rubyspec のエラーが増えました。
|よほどの事情がない限り revert しようと思います。
|個人的には納得できる変更なので、残念ですが……。

rubyspec変えたらいいんじゃないのかな。そこまで絶対的なものじゃ
ないでしょ、まだ。

rubyspec にあるから、ではなく、仕様フリーズ後なので、仕様変更は
(よほどの事情がない限り) ダメだと思います。

仕様変更に気がつかなかったならしょうがない、と言い訳できたのです
が、rubyspec によって気がつかされてしまったので、残念です。

--
Yusuke Endoh mame@tsg.ne.jp

=end

#3

Updated by matz (Yukihiro Matsumoto) about 10 years ago

=begin
まつもと ゆきひろです

In message "Re: [ruby-dev:41142] Re: [Bug:trunk] the behavior of Tempfile#size was changed"
on Tue, 4 May 2010 08:17:00 +0900, Yusuke ENDOH mame@tsg.ne.jp writes:

|> rubyspec変えたらいいんじゃないのかな。そこまで絶対的なものじゃ
|> ないでしょ、まだ。

|rubyspec にあるから、ではなく、仕様フリーズ後なので、仕様変更は
|(よほどの事情がない限り) ダメだと思います。
|
|仕様変更に気がつかなかったならしょうがない、と言い訳できたのです
|が、rubyspec によって気がつかされてしまったので、残念です。

正直、「1日くらいいいじゃん」と思わないでもないのですが、過去
そうやって仕様フリーズをなしくずしにして、結果としてリリース
品質を下げちゃった私にはなにも言う資格はないでしょうね。

=end

#4

Updated by mame (Yusuke Endoh) about 10 years ago

=begin
遠藤です。

2010年5月4日8:24 Yukihiro Matsumoto matz@ruby-lang.org:

正直、「1日くらいいいじゃん」と思わないでもないのですが、過去
そうやって仕様フリーズをなしくずしにして、結果としてリリース
品質を下げちゃった私にはなにも言う資格はないでしょうね。

仕様フリーズは 3 月末なので、1 日じゃなくて 1 ヶ月強です。

4 月末に予定されていたのはコードフリーズですが、ささださんの
嘆願によりブランチを切られるのが 5/6 (木) まで延期されている
そうです (Yugui さん情報) 。

まつもとさんの気持ちもよくわかります。
みんなが幸せになる方法はないんでしょうかねえ。

--
Yusuke Endoh mame@tsg.ne.jp

=end

#5

Updated by nobu (Nobuyoshi Nakada) about 10 years ago

=begin
なかだです。

At Tue, 4 May 2010 06:08:24 +0900,
Yusuke ENDOH wrote in [ruby-dev:41140]:

r27578 のせいで rubyspec のエラーが増えました。
よほどの事情がない限り revert しようと思います。
個人的には納得できる変更なので、残念ですが……。

1)
Tempfile#length returns 0 when self is closed FAILED
Expected 5
to have same value and type as 0

2)
Tempfile#size returns 0 when self is closed FAILED
Expected 5
to have same value and type as 0

これは、元々のtest/test_tempfile.rbのassertionの間違いのために、
結果に関わらず通ってしまっていたものです。lib/tempfile.rbを戻す
なら、test_size_works_if_file_is_closedも直さないといけません。
むしろこちらのほうが仕様変更のように思われたので、tempfile.rbの
ほうを直しました。

テストで本来意図されていたものを優先するか、現状のコードを優先す
るか、悩ましいところですが。

--
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
中田 伸悦

=end

#6

Updated by naruse (Yui NARUSE) about 10 years ago

=begin
成瀬です。

(2010/05/04 10:21), Nobuyoshi Nakada wrote:

なかだです。

At Tue, 4 May 2010 06:08:24 +0900,
Yusuke ENDOH wrote in [ruby-dev:41140]:

r27578 のせいで rubyspec のエラーが増えました。
よほどの事情がない限り revert しようと思います。
個人的には納得できる変更なので、残念ですが……。

1)
Tempfile#length returns 0 when self is closed FAILED
Expected 5
to have same value and type as 0

2)
Tempfile#size returns 0 when self is closed FAILED
Expected 5
to have same value and type as 0

これは、元々のtest/test_tempfile.rbのassertionの間違いのために、
結果に関わらず通ってしまっていたものです。lib/tempfile.rbを戻す
なら、test_size_works_if_file_is_closedも直さないといけません。
むしろこちらのほうが仕様変更のように思われたので、tempfile.rbの
ほうを直しました。

テストで本来意図されていたものを優先するか、現状のコードを優先す
るか、悩ましいところですが。

悩ましい問題の時は、変更時にその変更の背景とその変更に至った理由を
ログメッセージに書いて頂けませんか。
チケットを作ってそれへの参照でもかまいませんけれど。

--
NARUSE, Yui naruse@airemix.jp

=end

#7

Updated by mame (Yusuke Endoh) about 10 years ago

  • Category set to lib
  • Assignee set to yugui (Yuki Sonoda)
  • Target version set to 1.9.2
  • ruby -v set to -

=begin
遠藤です。

2010年5月4日10:21 Nobuyoshi Nakada nobu@ruby-lang.org:

これは、元々のtest/test_tempfile.rbのassertionの間違いのために、
結果に関わらず通ってしまっていたものです。lib/tempfile.rbを戻す
なら、test_size_works_if_file_is_closedも直さないといけません。
むしろこちらのほうが仕様変更のように思われたので、tempfile.rbの
ほうを直しました。

テストで本来意図されていたものを優先するか、現状のコードを優先す
るか、悩ましいところですが。

つまり、元の挙動はバグだったけれど、テストにもバグがあったために
発覚していなかった。テストのバグを直したらテストが失敗するように
なって発覚したので修正した、ということですね。

そういう事情があるなら、個人的には rubyspec 側を直すということでも
構わないと思いました。元の挙動は全然便利じゃないので、依存している
人もいない予感がしますし。

Yugui さん、どうでしょうか。

--
Yusuke Endoh mame@tsg.ne.jp
=end

#8

Updated by yugui (Yuki Sonoda) about 10 years ago

  • Assignee changed from yugui (Yuki Sonoda) to mame (Yusuke Endoh)

=begin

そういう事情があるなら、個人的には rubyspec 側を直すということでも
構わないと思いました。元の挙動は全然便利じゃないので、依存している
人もいない予感がしますし。

そう思います。rubyspec側を直して1.9.2ではバグ修正として受け入れることにします。
=end

#9

Updated by mame (Yusuke Endoh) about 10 years ago

  • Status changed from Open to Closed

=begin
遠藤です。

成瀬さんが rubyspec 側を直してくれた (df06cb5c1dcc73c7bf0746e6c287a8aad45c1145)
ので close します。

--
Yusuke Endoh mame@tsg.ne.jp
=end

Also available in: Atom PDF