From: Tanaka Akira Date: 2007-08-14T20:11:54+09:00 Subject: [ruby-dev:31412] Re: [BUG] Stack consistency error (sp: 11, bp: 12) In article <46C18A22.5000004@atdot.net>, SASADA Koichi writes: >> 以下のようにすると Stack consistency error になります。 > >  直しました。しかし、よく見つけますねえ。 test_exception.rb にテストの追加がありますが、そのテストがテ ストになっていないように思います。 ruby を古いままにしてそこだけ実行しても [BUG] になりません。 NoMethodError を rescue したらテストにならないのではないんじゃ ないでしょうか。 ではテストを書き直そうか、と思って考えたのですが、うまくかけ ません。 % ruby-1.8 -e ' class C def inspect bar {} end def bar raise ensure end end C.new.foo ' -e:12: undefined method `foo' for # (NoMethodError) というメッセージをチェックしようと思ったのですが、stderr を stdout に移すのは reopen でいいとして、結果として得られる "-e:12: undefined method `foo' for # (NoMethodError)" という文字列を確認しようと思ったところではたと困りました。 bootstraptest/runner.rb には assert_equal しかないので、 # といういかにも毎回変わりそうな文字列をチェッ クできません。 test/unit みたいに assert_match があればいいのですが、作りま せんか? -- [田中 哲][たなか あきら][Tanaka Akira]