[ruby-dev:49821] [Ruby trunk Bug#12800] YAMLStoreTest#test_thread_safe hang
From:
zn@...
Date:
2016-09-29 13:39:33 UTC
List:
ruby-dev #49821
Issue #12800 has been reported by Kazuhiro NISHIYAMA.
----------------------------------------
Bug #12800: YAMLStoreTest#test_thread_safe hang
https://bugs.ruby-lang.org/issues/12800
* Author: Kazuhiro NISHIYAMA
* Status: Assigned
* Priority: Normal
* Assignee: Kazuhiro NISHIYAMA
* ruby -v: trunk
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
`lib/yaml/store.rb` のテストがなかったので、`test/test_pstore.rb` を元に `test/yaml/test_store.rb` を作ってみたところ、`YAMLStoreTest#test_thread_safe` で止まってしまいました。
原因を調べてみたところ、
- `PStore` は `def initialize(file, thread_safe = false)`
- `YAML::Store` は `def initialize file_name, yaml_opts = {}`
という違いがあるのに `YAML::Store` で (引数なしもかっこもない) `super` を呼び出していて、意図せず `thread_safe` が `true` になっているからだとわかりました。
r33376 での変更からのようで、`yaml_opts` も使われなくなっていたので、そのあたりも含めて直しておきます。
--
https://bugs.ruby-lang.org/