FiberError with minitest's parallelize_me! with sequel
まだ誰も着手していません。
評価
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 初心者へのやさしさ
- 30/100
調査の方向性
46 行目の test_helpers.rb と、database_cleaner/sequel/transaction.rb の 32 行目にある Sequel のトランザクション実装から始めます。minitest's parallelize_me! を使ってユニットテストを実行し、断続的に発生する FiberError を再現して、トランザクション fiber がどのように作成され、再開されるかを調べます。ユニットテストがスレッド間の fiber エラーなしに完了すれば完了です。
索引モデルが issue の本文から書いたものです。
説明
It fails non-deterministically, line 46 in test_helpers.rb is:
DatabaseCleaner.clean
FiberError: fiber called across threads
/home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/sequel/transaction.rb:32:in `resume'
/home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/sequel/transaction.rb:32:in `clean'
/home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/base.rb:92:in `clean'
/home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/configuration.rb:79:in `block in clean'
/home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/configuration.rb:79:in `each'
/home/bbozo/.rvm/gems/ruby-2.2.4/gems/database_cleaner-1.5.3/lib/database_cleaner/configuration.rb:79:in `clean'
/home/bbozo/infosig/InfoSwitch/Gateway/test/test_helpers.rb:46:in `block in <class:UnitTest>'
this is going in unit tests, so no parallel thread wacky stuff going on like with the integration tests. I'm using database_cleaner (1.5.3), let me know if I can assist more
ruby 2.2.4p230 (2015-12-16 revision 53155) [x86_64-linux]
activesupport (4.2.6)
i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
coderay (1.1.1)
concurrent-ruby (1.0.2)
connection_pool (2.2.0)
database_cleaner (1.5.3)
dotenv (2.1.1)
dry-configurable (0.1.4)
concurrent-ruby (~> 1.0)
dry-container (0.3.1)
concurrent-ruby (~> 1.0)
dry-configurable (~> 0.1, >= 0.1.3)
dry-equalizer (0.2.0)
dry-logic (0.2.2)
dry-container (~> 0.2, >= 0.2.6)
dry-equalizer (~> 0.2)
dry-types (0.7.1)
concurrent-ruby (~> 1.0)
dry-configurable (~> 0.1)
dry-container (~> 0.3)
dry-equalizer (~> 0.2)
dry-logic (~> 0.2, >= 0.2.0)
inflecto (~> 0.0.0, >= 0.0.2)
kleisli (~> 0.2)
dry-validation (0.7.4)
concurrent-ruby (~> 1.0)
dry-configurable (~> 0.1, >= 0.1.3)
dry-container (~> 0.2, >= 0.2.8)
dry-equalizer (~> 0.2)
dry-logic (~> 0.2, >= 0.2.2)
dry-types (~> 0.6, >= 0.6.0)
faraday (0.9.2)
multipart-post (>= 1.2, < 3)
foreman (0.81.0)
thor (~> 0.19.1)
i18n (0.7.0)
inflecto (0.0.2)
json (1.8.3)
kleisli (0.2.7)
m (1.5.0)
method_source (>= 0.6.7)
rake (>= 0.9.2.2)
method_source (0.8.2)
mini_portile2 (2.0.0)
minitest (5.8.4)
minitest-around (0.3.2)
minitest (~> 5.0)
multipart-post (2.0.0)
nokogiri (1.6.7.2)
mini_portile2 (~> 2.0.0.rc2)
pg (0.18.4)
pry (0.10.3)
coderay (~> 1.1.0)
method_source (~> 0.8.1)
slop (~> 3.4)
puma (3.4.0)
rack (1.6.4)
rack-test (0.6.3)
rack (>= 1.0)
rake (11.1.2)
redis (3.3.0)
roda (2.13.0)
rack
sequel (4.33.0)
sidekiq (4.1.2)
concurrent-ruby (~> 1.0)
connection_pool (~> 2.2, >= 2.2.0)
redis (~> 3.2, >= 3.2.1)
slop (3.6.0)
thor (0.19.1)
thread_safe (0.3.5)
tzinfo (1.2.2)
thread_safe (~> 0.1)
vcr (3.0.1)
- 主要言語
- Ruby
- スター
- 19
- フォーク
- 11
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
このリポジトリのコントリビューションガイドは索引されていません
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
DatabaseCleaner/database_cleaner-sequel のほかの issue
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
DatabaseCleaner/database_cleaner-sequel#28 · コメント 1 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
DatabaseCleaner/database_cleaner-sequel#23 · リアクション 2 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 38/100
DatabaseCleaner/database_cleaner-sequel#18 · コメント 4 件 · リアクション 3 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 30/100
DatabaseCleaner/database_cleaner-sequel#2 · コメント 5 件 · リアクション 2 件 ·
-
難易度 4/5 3〜5日 初心者へのやさしさ 35/100
DatabaseCleaner/database_cleaner-sequel#3 · コメント 3 件 ·
DatabaseCleaner/database_cleaner-sequel の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
googleapis/google-api-ruby-client#28001 · リアクション 5 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100