Upload
moznion
View
2.591
Download
1
Embed Size (px)
DESCRIPTION
YAPC::Asia 2013 向けのトーク資料です
Citation preview
CPAN Testers Reportの情報を上手に使う
Hachioji.pm@moznion
CPAN Testers Reportの情報を上手に使う
Hachioji.pm@moznion
CPAN Testers Reportの情報を上手に使う
Hachioji.pm@moznion
全般の話
@moznion
普段は働いて暇な時に学生してます
今年の末あたりから就活が始まります
本日は寝坊して関係者各位にご迷惑をおかけしました
本日は寝坊して関係者各位にご迷惑をおかけしました
本当に申し訳ございません
宣伝
はてなブログが
AtomPub APIの提供を開始しました
http://staff.hatenablog.com/entry/2013/09/04/125926
API を介したCRUD 処理がひと通り実現可能
それに伴って、いくつか クライアントを実装
(プロトタイプ的ですが)
1
Hateblo.vim
Vim からはてなブログへの投稿などが出来る
API が提供している機能は(一応) ひと通り
サポートしています
2
hatenablog-post
はてなブログへの投稿ができる Chrome 拡張
こんな感じ
クライアントのフィードバックやパッチ等お待ちしております
https://github.com/moznion/hateblo.vimhttps://github.com/moznion/google-chrome-hatena-blog-post
大変便利なAPIですので皆様、どうぞご利用ください
宣伝ここまで
本題
< Hello
CPAN Testers Reports
Perl の世界観
テスト大事
ぶっ壊れてるモジュール必要なし
http://livedoor.blogimg.jp/u0840153/imgs/a/3/a36ee17e.jpg
デフォルトだとテストにコケるモジュールはインストールできない
(ですよね?)
なので、テスト結果に関する情報は非常に重要
CPAN Testers Reports
そのモジュールがどれくらいテストに通ってどれくらいテストにコケているかを可視化してくれているサイト
CPAN Testers Reports
あと、そのモジュールがどの環境で動いてどの環境で動かないかも確認できるので捗る
CPAN Testers Reports
有志の Tester の人がローカルの環境でテストして、その結果を送ってくれる事によって成り立っている。
よく「Perl/CPANは枯れている」といいますが、それを支えているのはPerlの歴史とかPerlerの性格といった形のないものではなく、この CPAN Testers なのです。これがすごくいいんですよ。
[出典]CPAN Testersの紹介 - Islands in the byte streamhttp://d.hatena.ne.jp/gfx/20130309/1362823135
CPAN Testers Reports を使うと捗るシーン
1
モジュール選定時
- そのモジュールは安全か- 今もメンテが継続中か- 対象環境でも動作するか
- そのモジュールは安全か- 今もメンテが継続中か- 対象環境でも動作するか
ここらへんがわかる
2
モジュールのメンテ時
- どの環境でコケてるのか判るから手元に再現環境作れる- ログが参照できるからトラブルシュートしやすい
- どの環境でコケてるのか判るから手元に再現環境作れる- ログが参照できるからトラブルシュートしやすい
モジュールの質が上がる
後で紹介するTestament は2 にフォーカス
Report の読み方
モジュールを利用する場合
ここらへんは普通に読むと良い
便利
モジュールをメンテする場合
無愛想なテキストを読む必要性があって難関
とはいえ、読めば良い所は絞ることが可能
とはいえ、読めば良い所は絞ることが可能
とはいえ、読めば良い所は絞ることが可能
どのテストがコケてるかを確認出来る
依存モジュールのインストール状況を確認できる
ここが問題になっているケース、割と多い印象
とはいえ、読めば良い所は絞ることが可能
とはいえ、読めば良い所は絞ることが可能
色々わかる
“LANG” と “PERL5LIB”、“PERL5OPT” あたりを見ると良い感じ
その他は適宜
ここら辺をよしなに引っ張ってこれる君を
書いた
Testament
CPAN Testers Reports の結果に基いて
テストにコケている環境を再現してくれるツール
@ytnobody さんと共同開発
モジュールのメンテする時、テスト失敗している環境を再現する事がままある
そこら辺を自動化したいというモチベーション
こういう環境を仮想マシンとして再現してくれる
- OS の構築- 該当するバージョンの Perl をビルド
- OS の構築- 該当するバージョンの Perl をビルド
ここまでやる
現状、OS は- OpenBSD- NetBSD- FreeBSD
に対応
バックエンドは QEMU とVagrant (VirtualBox) に対応
ちょっとデモ
Patches Welcome!https://github.com/ytnobody/testament
CPAN Testers Reports 便利!
CPAN Testers Reports
有志の Tester の人がローカルの環境でテストして、その結果を送ってくれる事によって成り立っている。
CPAN Testers Reports
有志の Tester の人がローカルの環境でテストして、その結果を送ってくれる事によって成り立っている。
恩返しをしよう!
CPAN Testers Reports にレポートを送る
cpanm を利用している場合
cpanm を利用している場合
$ cpanm App::cpanminus::reporter$ cpanm-reporter --setup$ cpanm [--test-only] Foo::Bar$ cpanm-reporter
これだけ!
やってみる
ね、簡単でしょ?
こんな感じでCPAN Testers Reports は
素晴らしいシステムなのです
是非便利に使いたいですね!
Thank you “Birmingham.pm”!!
他にも「こんな便利な使い方があるよ」とかあったら教えて下さい!
番外編
Ukigumo を使ったCPAN Testers Reports 風仕立て
Ukigumo の説明
略
まー、CIサーバッス
とにかく出来そう
雰囲気としてはこんな感じ
課題
レポートをパーズしてよしなにパラメータとして
セットする部分
あと、文言が色々とおかしいのでマッチさせる必要有り
上手く行けば Perl 以外の言語にもエクスポートできるのではないか
という感じです
Ukigumo の域を超えているのでは
…
という感じです