Testing PHP extension
                  on Travis CI
                                               hnw
                        第4回闇PHP勉強会 (2013/03/02) 発表資料




13年3月3日日曜日
自己紹介

         @hnw

         カレーとバグが大好物

         好きな境界値:2^53+1
         (doubleで表現できない最小の自然数)

         最近はHaskellでProject Euler解いてます



13年3月3日日曜日
今日おはなしすること

         PHP extension作った!

         もちろんCIしたいですよね

             でも自分で環境作るとかダルいし

             そこでTravis CIですよ

         テストの書き方も少しだけ紹介します



13年3月3日日曜日
Travis CIとは

         GitHubと連携しているCIサービス

             CI=勝手にテスト回す仕組み

             各種プログラミング言語に対応

         git pushするだけでPHP5.2から5.5でテストが走る

         普通はPHPプログラムのテストに使います



13年3月3日日曜日
ExtensionもCIできる!
         Travis CIではテストコマンドを自由に記述できる

             「phpize && ./configure && make test」




13年3月3日日曜日
make testのオプション
         NO_INTERACTION=1

             テスト結果をメールするかどうか聞かない

             Travis CIでテストするときは必須

         TESTS=--show-all

             テストの経過を標準出力に全て表示

             環境のログイン権限がないので、情報は多い方がいい

13年3月3日日曜日
Travis CIの不満な点


         ZTSなPHPが無い

         --enable-debugつきのPHPが無い

         FPMなPHPが無い

                  まあ仕方ないよね…(́・ω・`)




13年3月3日日曜日
テストの書き方


         make testの仕組みに乗っかります

             tests/*.phptがテスト対象

             でも*.phptってあんまり書いたことないですよね




13年3月3日日曜日
*.phptの記法

         ext/*/tests/*.phptを参考にすればいいと思うよ!

         便利なブロックを少し紹介

             SKIPIF:テストをスキップする条件をPHPで書ける

             INI:このテストだけで有効なiniの内容を書ける

             ENV:このテストだけで有効な環境変数を書ける



13年3月3日日曜日
*.phptの例
13年3月3日日曜日
まとめ


         Travis CIでPHP Extensionのテストもできるよ!

         Extensionのテストは*.phptを書くだけだよ!

         テスト書いとくと安心感が違うよ!




13年3月3日日曜日
ご静聴
              ありがとう
             ございました



13年3月3日日曜日

Testing PHP extension on Travis CI

  • 1.
    Testing PHP extension on Travis CI hnw 第4回闇PHP勉強会 (2013/03/02) 発表資料 13年3月3日日曜日
  • 2.
    自己紹介 @hnw カレーとバグが大好物 好きな境界値:2^53+1 (doubleで表現できない最小の自然数) 最近はHaskellでProject Euler解いてます 13年3月3日日曜日
  • 3.
    今日おはなしすること PHP extension作った! もちろんCIしたいですよね でも自分で環境作るとかダルいし そこでTravis CIですよ テストの書き方も少しだけ紹介します 13年3月3日日曜日
  • 4.
    Travis CIとは GitHubと連携しているCIサービス CI=勝手にテスト回す仕組み 各種プログラミング言語に対応 git pushするだけでPHP5.2から5.5でテストが走る 普通はPHPプログラムのテストに使います 13年3月3日日曜日
  • 5.
    ExtensionもCIできる! Travis CIではテストコマンドを自由に記述できる 「phpize && ./configure && make test」 13年3月3日日曜日
  • 6.
    make testのオプション NO_INTERACTION=1 テスト結果をメールするかどうか聞かない Travis CIでテストするときは必須 TESTS=--show-all テストの経過を標準出力に全て表示 環境のログイン権限がないので、情報は多い方がいい 13年3月3日日曜日
  • 7.
    Travis CIの不満な点 ZTSなPHPが無い --enable-debugつきのPHPが無い FPMなPHPが無い まあ仕方ないよね…(́・ω・`) 13年3月3日日曜日
  • 8.
    テストの書き方 make testの仕組みに乗っかります tests/*.phptがテスト対象 でも*.phptってあんまり書いたことないですよね 13年3月3日日曜日
  • 9.
    *.phptの記法 ext/*/tests/*.phptを参考にすればいいと思うよ! 便利なブロックを少し紹介 SKIPIF:テストをスキップする条件をPHPで書ける INI:このテストだけで有効なiniの内容を書ける ENV:このテストだけで有効な環境変数を書ける 13年3月3日日曜日
  • 10.
  • 11.
    まとめ Travis CIでPHP Extensionのテストもできるよ! Extensionのテストは*.phptを書くだけだよ! テスト書いとくと安心感が違うよ! 13年3月3日日曜日
  • 12.
    ご静聴 ありがとう ございました 13年3月3日日曜日