Ruby処理系をテストする
これからRailsとRubyをmaster, trunkにちゃんとアップデートして、差分を読んでいくみたいなことをしていきたいなぁと思って、どうせならテストを回せるようになりたいと思い。
RubyKaigi2015で発表されていた以下のスライドが非常に参考になります。ruby coreの人でも知らない情報もあったり笑
www.slideshare.net
先に、autoconf, make, make installについて。
make checkでテストを自動化できる。
rbenvをインストールしていると、configureは/Users/totz/.rbenv/shims/ruby
みたいにrbenvのshimsにちゃんとインストールしてくれるみたい。
$ autoconf $ ./configure --disable-install-doc checking for ruby... /Users/totz/.rbenv/shims/ruby . . .
コンパイル && ビルド。
$ make -j
$ make check
以下のような出力になった。テストを全てパスしているみたい。
test succeeded PASS all 1010 tests exec ./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems "./bootstraptest/runner.rb" --ruby="ruby --disable-gems" ./KNOWNBUGS.rb 2016-01-05 11:30:44 +0900 Driver is ruby 2.4.0dev (2016-01-05 trunk 53437) [x86_64-darwin14] Target is ruby 2.4.0dev (2016-01-05 trunk 53437) [x86_64-darwin14] KNOWNBUGS.rb PASS 0 No tests, no problem Run options: "--ruby=./miniruby -I./lib -I. -I.ext/common ./tool/runruby.rb --extout=.ext -- --disable-gems" # Running tests: Finished tests in 2.399190s, 91.6976 tests/s, 184.2288 assertions/s. 220 tests, 442 assertions, 0 failures, 0 errors, 0 skips
こんな感じでテストを回せました、わーい