プロジェクト

全般

プロフィール

Bug(バグ) #4077

Backport(バックポート) #3754: テスト用のFixtureが壊れている

テスト用のFixtureが壊れている

kaoru n7年以上前に追加. 3年以上前に更新.

ステータス:
Fixed(完了)
優先度:
Normal(通常)
担当者:
対象バージョン:
開始日:
2015-01-06
期日:
進捗率:

100%

3.6 で発生するか:
Unknown (未調査)
[QA]バグ通知済:
いいえ
3.8 で発生するか:
Unknown (未調査)
opCommunityTopicPlugin 絞込条件:

説明

Overview (現象)

opCommunityTopicPlugin 内の任意のテストコードを実行すると下記のようなエラーが出力され異常終了する。

$ php test/unit/model/CommunityTopicTest.php 
PHP Fatal error:  Uncaught exception 'Doctrine_Connection_Mysql_Exception' with message 'SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '1055' for key 'PRIMARY'' in /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php:1082
Stack trace:
#0 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/Statement.php(269): Doctrine_Connection->rethrowException(Object(PDOException), Object(Doctrine_Connection_Statement))
#1 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(1042): Doctrine_Connection_Statement->execute(Array)
#2 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php(687): Doctrine_Connection->exec('INSERT INTO mem...', Array)                                      
#3 /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendo in /home/upsilon/git/openpne3/master/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection.php on line 1082

Causes (原因)

b26343a61c1ac028 の各コミットで追加されたテスト用の Fixture に同じ ID のメンバーやコミュニティが含まれており、両方の Fixture が読み込まれる際に ID が衝突してエラーとなる。

Way to fix (修正内容)

1c1ac028 で追加された 999_xss_test_data.yml には b26343a6 で 999_test_data.yml に追加されたものとほぼ同じレコードを含んでいるため、999_xss_test_data.yml を残した上で重複するレコードを削除する。

履歴

#1 kaoru n7年以上前に更新

#2 kaoru n7年以上前に更新

  • ステータスPending Review(レビュー待ち) から New(新規) に変更
  • 担当者 を削除 (Youichi Kimura)
  • 進捗率50 から 0 に変更

#3 kaoru n7年以上前に更新

  • ステータスNew(新規) から Pending Review(レビュー待ち) に変更
  • 担当者kaoru n にセット
  • 進捗率0 から 50 に変更

https://github.com/tejimaya/opCommunityTopicPlugin/pull/24
にてプルリクエストを行いました。

#4 kaoru nほぼ4年前に更新

  • 親チケット#3754 にセット

#5 kaoru nほぼ4年前に更新

  • トラッカーBackport(バックポート) から Bug(バグ) に変更
  • 3.6 で発生するかUnknown (未調査) にセット
  • [QA]バグ通知済いいえ にセット
  • 3.8 で発生するかUnknown (未調査) にセット

#6 kaoru nほぼ4年前に更新

  • 対象バージョンmaster から opCommunityTopicPlugin-1.1.3 に変更

#7 kaoru nほぼ4年前に更新

  • 対象バージョンopCommunityTopicPlugin-1.1.3 から opCommunityTopicPlugin-1.1.4 に変更

#8 isao sanoほぼ4年前に更新

  • ステータスPending Review(レビュー待ち) から Rejected(差し戻し) に変更

下記のエラーが発生する。
3.8系最新版、3.10系最新版のどちらでも発生します。

PHP Fatal error:  Uncaught exception 'sfException' with message 'The "default" context does not exist.' in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php:111
Stack trace:
#0 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/util/opCommunityTopicPluginUtil.class.php(6): sfContext::getInstance()
#1 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/model/doctrine/PluginCommunityTopicComment.class.php(42): opCommunityTopicPluginUtil::sendNewCommentNotification(Object(Member), Object(Member), '1')
#2 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php(354): PluginCommunityTopicComment->postSave(Object(Doctrine_Event))
#3 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php(116): Doctrine_Record->invokeSaveHooks('post', 'save', Object(Doctrine_Event))
#4 /home/sano/sns/3836.sano.dazai3 in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php on line 111

Fatal error: Uncaught exception 'sfException' with message 'The "default" context does not exist.' in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php:111
Stack trace:
#0 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/util/opCommunityTopicPluginUtil.class.php(6): sfContext::getInstance()
#1 /home/sano/sns/3836.sano.dazai3.pne.jp/plugins/opCommunityTopicPlugin/lib/model/doctrine/PluginCommunityTopicComment.class.php(42): opCommunityTopicPluginUtil::sendNewCommentNotification(Object(Member), Object(Member), '1')
#2 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Record.php(354): PluginCommunityTopicComment->postSave(Object(Doctrine_Event))
#3 /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/plugins/sfDoctrinePlugin/lib/vendor/doctrine/Doctrine/Connection/UnitOfWork.php(116): Doctrine_Record->invokeSaveHooks('post', 'save', Object(Doctrine_Event))
#4 /home/sano/sns/3836.sano.dazai3 in /home/sano/sns/3836.sano.dazai3.pne.jp/lib/vendor/symfony/lib/util/sfContext.class.php on line 111

#9 kaoru nほぼ4年前に更新

  • ステータスRejected(差し戻し) から Pending Testing(テスト待ち) に変更
  • 進捗率50 から 70 に変更

https://github.com/tejimaya/opCommunityTopicPlugin/pull/24
更新しました。
コンフリクトしていたのでリベースも行っています。

#10 isao sanoほぼ4年前に更新

  • ステータスPending Testing(テスト待ち) から Pending Review(レビュー待ち) に変更
  • 進捗率70 から 50 に変更

確認しました。
問題ありません。

#11 kaoru n3年以上前に更新

  • ステータスPending Review(レビュー待ち) から Fixed(完了) に変更
  • 進捗率50 から 100 に変更

マージしました

他の形式にエクスポート: Atom PDF