Perl Hackers Hub

第49回CPANモジュールの品質を支えるCI技術(1)

本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはOSSOpen Source Software開発を活発にされている水音ぴねさんで、テーマは「CPANモジュールの品質を支えるCI技術」です。

本稿のサンプルコードは、WEB+DB PRESS Vol.103のサポートサイトから入手できます。

CPAN Testers─⁠─ コミュニティによる品質維持

PerlにはCPANという中央リポジトリがあり、さまざまなモジュールがOSSとして利用できます。CPANは、CPAN Testersというしくみによって品質が維持されています。はじめに、そのしくみを解説します。

CPAN Testersとは

CPAN Testersは、CPANのモジュールを有志がテストし、その結果を集計してまとめているWebサービスです。手もとの環境だけでなく、さまざまな環境でのテスト結果を気軽に閲覧できます。CPAN Testersへは、metaCPANの各モジュールのページから移動できます図1⁠。metaCPANはCPANをより使いやすくしたWebサービスです。

図1 metaCPAN
図1 metaCPAN

CPAN Testersでは、macOS、Windows、Linux、FreeBSDなど、さまざまなOSでテストされています。それぞれのOS上で複数のPerlバージョンでテストされるため、テストされる環境の組み合わせは膨大です。こういった環境を自前で用意し、リリースごとにテストを行うとしたら大変な作業です。このようなエコシステムが整っているのは、Perlの良いところです。

CPAN Testersの読み方

CPAN Testersでは、どの組み合わせでテストが成功したかという情報だけではなく、テスト時の環境の情報やログを閲覧できます。CPAN Testersにアクセスしたら、テスト結果を見たい組み合わせをクリックし、見たいレポートを選びます図2⁠。

図2 CPAN Testers
図2 CPAN Testers

図3は拙作のHash::Util::Pickのテスト結果です。これはPerlをC言語で拡張したXSモジュールであるため、テストの際にC言語のコンパイルが必要です。レポートからはどのバージョンのgccが使われたか、コンパイルオプションは何かを見ることができます。

図3 CPAN Testersでのテスト結果
図3 CPAN Testersでのテスト結果

CPAN Testersはテスト時の環境や実行ログがかなり詳細にレポートされるしくみなため、特定の環境だけでテストに失敗したときも修正が比較的容易です。

<続きの(2)こちら。>

WEB+DB PRESS

本誌最新号をチェック!
WEB+DB PRESS Vol.130

2022年8月24日発売
B5判/168ページ
定価1,628円
(本体1,480円+税10%)
ISBN978-4-297-13000-8

  • 特集1
    イミュータブルデータモデルで始める
    実践データモデリング

    業務の複雑さをシンプルに表現!
  • 特集2
    いまはじめるFlutter
    iOS/Android両対応アプリを開発してみよう
  • 特集3
    作って学ぶWeb3
    ブロックチェーン、スマートコントラクト、NFT

おすすめ記事

記事・ニュース一覧