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.vim
https://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 stream
http://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 の域を超えて
いるのでは
…
という感じです

YAPC::Asia 2013 - CPAN Testers Reports の情報を上手に使う