著作一覧 |
rubyでtest-allするとWEBrickのテストが引っ掛かる。
当然、WEBrickに何か良からぬことが起きていると考える。
そこで、nmake -TEST="-v webrick" test-all とかやって、WEBrickだけテストしてみる。
すべてがうまく流れ去る。
はて?
で、フェイルになっているのはエラーのせいだと気付く。エラーになっていて500が返るから200を想定しているテストがフェイルする。
で、エラーについてはバックトレースがあるので眺める。するとcgi_runner.rbというのが環境変数の詰め替えをしているところだと気付く。
なんでそんなものがエラーになるのだろう? と、そこはスルーする。
それで深みにはまる。
スルーしなければ、今まで環境変数に入っていたものの詰め替えなのだから、変えているものだけが理由だと気付けるはずだ。
で、変えているのはtest_cgi.rbの中でRUBYLIBに対して行っているやつだとわかるはずだ。
が、そこをスルーしてしまったばかりに30分くらいprintfを入れたり無駄なことをしてしまう。
というわけで、デバッグってのはなかなかおもしろい。
ジェズイットを見習え |