コア開発者も楽したい!!! 歴史的経緯により複雑化したRubyコアシステムの自動テスト #rubykaigi 2015 #rubykaigiB

Pragmatic Testing of Ruby Core SHIBATA Hiroshi @hsbt http://rubykaigi.org/2015/presentations/hsbt
1
tk0miya @tk0miya

ルビーのランゲージをテストする #rubykaigi

2015-12-12 16:51:17
黒曜@Leaner Technologies @kokuyouwind

git cloneしたら.travis.ymlを読んでbefore scriptとscriptを順番に実行するとテストできる。ただしRuby本体のテストはすごく長いのでこの方法だと辛い。 #rubykaigi #rubykaigiB

2015-12-12 16:51:23
sue445 @sue445

rubyの.tavis.ymlは難しいのでそっとじ github.com/ruby/ruby/blob… 確かにこれはきついw #RubyKaigi #RubyKaigiB

2015-12-12 16:51:42
黒曜@Leaner Technologies @kokuyouwind

rubyのリポジトリはautoconf, ./configure --disable-install-doc, make -j, make checkすればテストが動く。 #rubykaigi #rubykaigiB

2015-12-12 16:52:00
わかば @wakaba260yen

「testが一番contribute簡単」でこの記事思い出した。rubyに限らずなんだなー yosuke-furukawa.hatenablog.com/entry/2015/12/… #rubykaigi #rubykaigiB

2015-12-12 16:52:19
h3poteto @h3poteto@pleroma.io @h3_poteto

makeファイルじゃなくてcommon.mkを読むのが罠 #rubykagi #rubykaigiB

2015-12-12 16:52:50
Yusuke Endoh @mametter

Ruby のビルドプロセスには触らないことにしている #rubykaigi

2015-12-12 16:53:33
黒曜@Leaner Technologies @kokuyouwind

中身を知るにはmakefileではなくcommon.mkを読む必要がある。make testはtest-sampleとbtest-rubyとtest-knownbugの3つを実行する。 #rubykaigi #rubykaigiB

2015-12-12 16:53:40
GMOペパボ @pepabo

GMOペパボがゴールドスポンサーとして協賛しているRubyKaigi 2015にチーフエンジニア @hsbt が登壇しています。 rubykaigi.org/2015/presentat… #rubykaigi #rubykaigiB pic.twitter.com/YteS7SDGNp

2015-12-12 16:54:01
拡大
黒曜@Leaner Technologies @kokuyouwind

test-sampleはtool/rubytest.rbを実行していて、rubytest.rbはsample/test.rbを実行している。すごい謎だが、どうもMatzが作ったものらしいので手付かず。そのうちなんとかする。 #rubykaigi #rubykaigiB

2015-12-12 16:54:20
黒曜@Leaner Technologies @kokuyouwind

test-knownbugはKNOWNBUG.rbを実行してるが現状空。最近ちょっと追加されたらしい。 #rubykaigi #rubykaigiB

2015-12-12 16:54:58
黒曜@Leaner Technologies @kokuyouwind

sample/test.rbの中を覗くと、代入などRubyの基礎的なレベルからテストが書いてある。btest-rubyの方はbootstraptestで、より高機能な部分のテストが書いてある。 #rubykaigi #rubykaigiB

2015-12-12 16:56:50
WAKASUGI 5T111111 @5t111111

test-sample..? この辺、一回も話を聞いたことがなかったら、もしそのときがきたときに途方に暮れること請け合いっぽい感じなのでコントリビュートしたい人には超お買い得情報だ #rubykaigi #rubykaigiB

2015-12-12 16:57:21
黒曜@Leaner Technologies @kokuyouwind

make test-allはWebrickやLoggerなど、標準添付ライブラリのテスト。TESTS環境変数にloggerを指定するとtest/loggerのみ実行、-j4指定すると4プロセス並列実行。この情報は有益ですよ! #rubykaigi #rubykaigiB

2015-12-12 16:59:55
あおの @aono_ex_parrot

Rubyコミッタは有益な情報を教えてくれない #rubykaigi #rubykaigiB

2015-12-12 17:00:04
そのっつ (Naotoshi Seo) @sonots

「コミット権つけたんでヨロ」まさしくw #rubykaigiB

2015-12-12 17:00:09
h3poteto @h3poteto@pleroma.io @h3_poteto

rubyコミッターなんも教えてくれないんすよーww #rubykaigi #rubykaigiB

2015-12-12 17:00:32
さぼ ♻️ 春秋 @saboyutaka

#rubykaigiB [1,2,3] * ':' => ‘1:2:3’ これ知らなかった..

2015-12-12 17:01:48
黒曜@Leaner Technologies @kokuyouwind

test直下は普通なテストだが、test/-ext/以下にCのAPIモジュールのテストがある。フォルダ構造がわかりにくい。 #rubykaigi #rubykaigiB

2015-12-12 17:01:49