php oil test --group=Core でエラーが出る

401 views
Skip to first unread message

Hiroshi Honma

unread,
Sep 8, 2014, 7:27:20 AM9/8/14
to fuelp...@googlegroups.com
はじめてのフレームワークとしてのFuelPHP第2版(2)入門編

を見ながら学習中なのですが、「php oil test --group=Core」のコマンドを実行するとエラーが出てしまいます。
なぜでしょうか?PHPUnitも合わせて学習中のため、PHPUnitに対しても知識不足で…ご教授お願いします。

下記のようなエラーが出力されます。
(量が多いため、エラー内容の全文はテキストで添付します。)

c:\developspace\fuel_test>php oil test --group=Core
Tests Running...This may take a few moments.
PHPUnit 3.7.28 by Sebastian Bergmann.

Configuration read from C:\developspace\fuel_test\fuel\app\phpunit.xml

EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE
...........................  63 / 375 ( 16%)
............................................................... 126 / 375 ( 33%)
.......FFF............F........................................ 189 / 375 ( 50%)
............................................................... 252 / 375 ( 67%)
............................................................... 315 / 375 ( 84%)
............................................................

Time: 7.82 seconds, Memory: 14.75Mb

There were 36 errors:

1) Fuel\Core\Test_Agent::test_browser
Fuel\Core\PhpErrorException: get_browser(): Delimiter must not be alphanumeric or backslash

C
:\developspace\fuel_test\fuel\core\bootstrap.php:109
C
:\developspace\fuel_test\fuel\core\classes\agent.php:196
C
:\developspace\fuel_test\fuel\core\classes\autoloader.php:375
C
:\developspace\fuel_test\fuel\core\classes\autoloader.php:249
C
:\developspace\fuel_test\fuel\core\tests\agent.php:35

...略...

4) Fuel\Core\Test_Fieldset::test_for_in_label
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'<form action="welcome/index" accept-charset="utf-8" method="post"><table><tr><td class=""></td><td class=""><input type="
0">male</label><br /><input type="radio" value="1" id="form_gender_1" name="gender" checked="checked" /> <label for="form_g
+'
<form action="welcome/index" accept-charset="utf-8" method="post">
+<table><tr><td class=""></td><td class=""><input type="radio" value="0" id="form_gender_0" name="gender" /> <label for="fo
1"
name="gender" checked="checked" /> <label for="form_gender_1">female</label><br /><span></span></td></tr>
+</table></form>
+'

C:\developspace\fuel_test\fuel\core\tests\fieldset.php:92

FAILURES!
Tests: 375, Assertions: 410, Failures: 4, Errors: 36.


log.txt

Kenji Suzuki

unread,
Sep 9, 2014, 6:12:43 PM9/9/14
to fuelp...@googlegroups.com
Kenji です。


Mac でやってみましたが、テストは通ります。動作環境は最新の FuelPHP でしょうか?

Core のテストは当然すべて通るべきで、失敗するのは原因としては以下が考えられます。

1. 環境や設定の問題
2. Windows 版での FuelPHP のテストコードのバグ
3. FuelPHP のバグまたはテストコードのバグ

なお、FuelPHP の設定を変えると失敗する Core のテストがあるかも知れませんので、
インストール直後の状態でテストを実行する必要があります。


もしその環境で Fuel を使うのでしたら、エラーや失敗が出ているコードを地道にデバッグ
していくしかないと思います。テストと言っても PHP であることは変わりなく、特別な知識
が必要というわけではありません。


$ oil create fuel
$ cd fuel
$ oil test --group=Core


Tests Running...This may take a few moments.

PHPUnit 4.1.3 by Sebastian Bergmann.

Configuration read from /Users/kenji/tmp/tmp/fuel/fuel/core/phpunit.xml

...............................................................  63 / 375 ( 16%)

............................................................... 126 / 375 ( 33%)
............................................................... 189 / 375 ( 50%)

............................................................... 252 / 375 ( 67%)
............................................................... 315 / 375 ( 84%)
............................................................

Time: 2.27 seconds, Memory: 16.00Mb

OK (375 tests, 447 assertions)


// Kenji


2014年9月8日月曜日 20時27分20秒 UTC+9 Hiroshi Honma:

Kenji Suzuki

unread,
Sep 9, 2014, 7:51:13 PM9/9/14
to fuelp...@googlegroups.com
Kenji です。


Windows でやっていると、確かにエラーが出ますね。

$ php -v
PHP 5.5.1 (cli) (built: Jul 18 2013 10:56:37)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.5.0, Copyright (c) 1998-2013 Zend Technologies
with Xdebug v2.2.3, Copyright (c) 2002-2013, by Derick Rethans

$ php oil test --group=Core | less
Tests Running...This may take a few moments.
PHPUnit 3.7.21 by Sebastian Bergmann.

Configuration read from C:\Users\Kenji\tmp\fuelphp\fuel\core\phpunit.xml

EEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEE........................... 63 / 375 ( 16%)
............................................................... 126 / 375 ( 33%)
.......FFF............F........................................ 189 / 375 ( 50%)
............................................................... 252 / 375 ( 67%)
............................................................... 315 / 375 ( 84%)
............................................................

Time: 3 seconds, Memory: 15.00Mb

There were 36 errors:

...

Tests: 375, Assertions: 410, Failures: 4, Errors: 36.


// Kenji
> --
> このメールは Google グループのグループ「fuelphp.jp」の登録者に送られています。
> このグループから退会し、グループからのメールの配信を停止するには fuelphp_jp+...@googlegroups.com にメールを送信してください。
> その他のオプションについては、https://groups.google.com/d/optout にアクセスしてください。

Kenji Suzuki

unread,
Sep 9, 2014, 8:10:55 PM9/9/14
to fuelp...@googlegroups.com
Kenji です。


On Mon, 8 Sep 2014 04:27:19 -0700 (PDT)
Hiroshi Honma <hiro4h...@gmail.com> wrote:

> はじめてのフレームワークとしてのFuelPHP第2版(2)入門編
>
> を見ながら学習中なのですが、「php oil test --group=Core」のコマンドを実行するとエラーが出てしまいます。
> なぜでしょうか?

ということで、

1. Windows 版での FuelPHP のテストコードのバグ
2. Windows 版での FuelPHP のバグ

のどちらかでしょうね。

学習中ということですので、とりあえず無視して進められるのがいいと思います。

2. の可能性もありますので、本番環境が Windows であれば精査する必要がある
と思いますが、そういう環境は少ないでしょうから。


// Kenji

Kenji Suzuki

unread,
Sep 10, 2014, 4:22:51 AM9/10/14
to fuelp...@googlegroups.com
Kenji です。


これですが、XAMPP for Windows の browscap ファイルが壊れているようです。

php.ini で browscap の設定をコメントアウトすれば、Fuel が最新のファイルを
ダウンロードしてキャッシュするようになります。

[browscap]
; http://php.net/browscap
-browscap="C:\xampp\php\extras\browscap.ini"
+;browscap="C:\xampp\php\extras\browscap.ini"


Linux 環境ではこの設定は null なので、上記に変更すると Linux 環境
と同じになり、エラーは出なくなります。

Linux 環境:
$ php -r "var_dump(ini_get('browscap'));"
string(0) ""


// Kenji

Kenji Suzuki

unread,
Sep 10, 2014, 5:02:47 AM9/10/14
to fuelp...@googlegroups.com
Kenji です。


残り 4つの失敗はたぶん改行コードの違いによるものですね。

本家 Issues にあげました。
https://github.com/fuel/core/issues/1765


// Kenji


On Wed, 10 Sep 2014 17:22:44 +0900

Hiroshi Honma

unread,
Sep 10, 2014, 6:53:35 AM9/10/14
to fuelp...@googlegroups.com
Kenji様

返信ありがとうございます。

自分の投稿を見なおしたら、実行環境書いてなかったですね。
失礼しました。

browscapの設定をコメントアウトしたら、Errorは消えました。
Failの方も、原因が私の設定の問題ではないとわかったので心置きなく残りを学習できます。
ありがとうございました。



2014年9月10日水曜日 18時02分47秒 UTC+9 Kenji Suzuki:
Reply all
Reply to author
Forward
0 new messages