Rake 11 に向けて JRuby 9.0.0.0 シリーズで落ちるテストをひたすら調べて、せっせと issue 報告していた。
system
method is different behavior from JRuby 1.7.x and CRuby 2.3.x · Issue #3653 · jruby/jrubyException#cause
is difference behavior with CRuby 2.3.0 · Issue #3654 · jruby/jrubyOpen3.popen
after Dir.chdir
· Issue #3655 · jruby/jrubyException#cause
の挙動が異なるのは JRuby の実装はそういうものという想像が最初についていたので、再現コードを用意して報告して終わりだったのだけど、他の2つは Dir.chdir
した時だけ挙動が変わるという極めてエスパーしにくい現象で辛かった。
実際、最初は環境変数やグローバル変数を触っている箇所の条件を変えてデバッグしていたのだけど、全くわからないので Minitest が実行するコードを最初から1行ずつ削除しつつテスト自体は実行されるようにひたすら書き換えていって、原因を突き止めたというやつ。
結果として regression が見つかったので良かった。JRuby 9.0.0.0 も中々非互換があるのだなあ。