WindowsでFuelPHP 1.7.2のCoreのテストが失敗する
XAMPP for Windows 1.8.3-4では、FuelPHP 1.7.2のCoreのテストでエラーと失敗がありました。
FAILURES!
Tests: 375, Assertions: 410, Failures: 4, Errors: 36.
FuelPHP 1.7.1でも同じようにエラーと失敗していました。
FAILURES!
Tests: 361, Assertions: 376, Failures: 4, Errors: 36.
エラーが出たのは、Fuel\Core\Test_Agentクラス、失敗はFuel\Core\Test_Debug、Fuel\Core\Test_Fieldsetの2つのクラスです。
Agentクラスのエラーは、XAMPP for Windowsに含まれているbrowscapファイルが壊れていることが原因のようです。PHPのget_browser()関数が以下のエラーを出します。
get_browser(): Delimiter must not be alphanumeric or backslash
このbrowscapファイルを無効にするようにphp.iniを変更すれば解消しました。
@@ -1491,7 +1491,7 @@
[browscap]
; http://php.net/browscap
-browscap="C:\xampp\php\extras\browscap.ini"
+;browscap="C:\xampp\php\extras\browscap.ini"
[Session]
; Handler used to store/retrieve data.
Linux環境ではこの設定はnull(PHPのデフォルト)になっており、その場合、FuelPHPのAgentクラスが最新のbrowscapファイルをダウンロードして一定期間キャッシュします。上記の設定変更でWindows環境でも同じ動作になります。
残りの4つの失敗は、出力される結果の改行コードの違いによりテストが失敗するというもののようです。本家Issuesに投稿しました。
関連
Date: 2014/09/10