2012年7月10日火曜日

BEAR.Sundayのphpunitの実行

先日からいじりはじめたBEAR.Sundayにはしっかりとunittestが書かれており動作確認の意味でもこのテストの実行はとても重要なものだと思われる。先日もインストール後にはphpunitを実行してオールグリーンを確認していた。

BEAR.Sundayのことを教えてくれたNEKOGETさんがmysqlのrootにパスワードが設定してあるとテストが通らないということを云ってたのでちょっと調べてみた。

2012/7/12 追記
※ MySQLのrootにパスワードが設定されている場合の対処法が本体の方で修正が入りました。

http://code.google.com/p/bearsunday/wiki/Install をご参照ください。
./tests/PagingQueryTest.php:        $this->pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", "root", "");
./tests/PagerTest.php:        $this->pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", "root", "");
./tests/DoctrineDbalAdapterTest.php:        $this->pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", "root", "");
./apps/sandbox/tests/PageBlogPostsTest.php:        $pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", "root", "");
./apps/sandbox/tests/AppPostsTest.php:        $pdo = new \PDO("mysql:host=localhost; dbname=blogbeartest", "root", "");

./sandbox/scripts/test.config.php:        'password' => null,
./sandbox/scripts/test.config.php:        'password' => null,

ざくっと上記7つのファイルに対してrootのパスワードを設定しないとphpunitがEとSの嵐になってしまう。
前者5つは"password"後者2つは'password'という形での設定が必要となるようだ。

私はmysqlにまったくもって慣れていないのでrootのパスワードの設定やパスワードリセットに苦労したのは云うまでもないw

ちなみにmysqlのrootパスワードの設定方法は

# mysql

mysql> SET PASSWORD FOR root@localhost=PASSWORD('hoge');
Query OK, 0 rows affected (0.00 sec)

mysql> quit

のような感じで行う。

またパスワードクリアについては

# killall mysqld
# /usr/bin/mysqld_safe --user=root --skip-grant-tables & mysql mysql

mysql> update user set Password=null where Host='localhost' and User='root';
mysql> quit

# /etc/rc.d/init.d/mysqld restart

な感じでいけるので備忘録。

0 件のコメント:

コメントを投稿