[Senna-dev 524] Railsのテストでエラーが発生します

アーカイブの一覧に戻る

Kentaro KAWAMOTO kenta****@gmail*****
2007年 3月 24日 (土) 12:59:01 JST


こんにちは。川本です。

MySQL 5.0.37 + Senna 1.0.3を使ってRailsアプリを作っています。

アプリケーションは問題なく動くのですが、
rails のテストケースを実行すると、
エラーが発生するので、報告いたします。

ご存じかもしれませんが、railsでは、
$ rake test:functionas
というコマンドで、functional testを実行することができ、
その際に、
1. 開発用DBの構造をファイルにexport (SQL形式 (*))
2. テスト用DBが既に存在すればdropし、その後再作成
3. exportされた構造テスト用DBにimport
4. テストに関連するテーブルのデータを削除 (DELETE FROM <table_name>)
5. テストに関連するテーブルにデータを挿入
6. テストコードの実行
ということが行なわれます。

(*)
デフォルトでは、Rubyのコードとしてexportされますが、
オプションでSQL形式でexportすることができます。
Rubyコード形式では全文検索用indexがimportできない
(おそらく、Railsが対応していないのだと思われます)
ので、SQL形式でexport/importしています。


上記のステップ4でDELETE FROM <table_name>というSQLを発行したときに、
mysqldが落ちるようです。
何度か試したところ、エラーが発生しないときもあるので、
何かのタイミングの問題のような気もします。

また、開発用DBでFullText indexをdropした状態でテストすると、
正常にテストが行なわれます。

参考までに、エラーログとsennaログを添付します。
テーブル名などは、以下のように置換してあります。
bar_development: 開発用DB名
bar_test: テスト用DB名
senna_table: SennaのFullText indexを使用しているテーブル
tbl1, tbl2, ...: その他のテーブル


ご確認いただければと思います。
よろしくお願いします。

-- 
Kentaro KAWAMOTO
kenta****@gmail*****


Senna-dev メーリングリストの案内
アーカイブの一覧に戻る