In article <1126494903.832324.5516.nullmailer / x31.priv.netlab.jp>, Yukihiro Matsumoto <matz / ruby-lang.org> writes: > dbmは最小公倍数的なライブラリですから、ロックしない実装があ > る以上ロックされることを期待したプログラムをしてはいけないの > ではないかと思います。ですから、テストする必要もないと思いま > す。test_dbm.rbからlock関係のテストを削ることを提案します。 > > 私の記憶とCVSのログが正しければ、このテストを定めて「気にし > ないでいい条件」を決めたのはakrさんのはずですから、akrさんご > 自身にはなにか別の意見があるかもしれません。 私がこの条件を決めた覚えはありません。 ext/dbm/testdbm.rb から test/dbm/test_dbm.rb に移したのは私ですが、 lock の test は ext/dbm/testdbm.rb に私が手を付ける前からありました。 % cvs annotate -r1.3 ext/dbm/testdbm.rb ... 1.1 (matz 06-May-01): def test_s_open_lock 1.1 (matz 06-May-01): fork() { 1.1 (matz 06-May-01): assert_instance_of(DBM, dbm = DBM.open("tmptest_dbm", 0644)) 1.1 (matz 06-May-01): sleep 2 1.1 (matz 06-May-01): } 1.1 (matz 06-May-01): begin 1.1 (matz 06-May-01): sleep 1 1.3 (matz 06-May-03): assert_exception(Errno::EWOULDBLOCK, "NEVER MIND IF YOU USE Berkeley DB3") { 1.1 (matz 06-May-01): begin 1.1 (matz 06-May-01): assert_instance_of(DBM, dbm2 = DBM.open("tmptest_dbm", 0644)) 1.1 (matz 06-May-01): rescue Errno::EAGAIN, Errno::EACCES, Errno::EINVAL 1.1 (matz 06-May-01): raise Errno::EWOULDBLOCK 1.1 (matz 06-May-01): end 1.1 (matz 06-May-01): } 1.1 (matz 06-May-01): ensure 1.1 (matz 06-May-01): Process.wait 1.1 (matz 06-May-01): end 1.1 (matz 06-May-01): end ... 調べてみると、NEVER MIND IF YOU USE Berkeley DB3 というメッセージは [ruby-dev:20162] の新井さんで、もともとは [ruby-dev:19371] のやまだあ きらさんみたいですね。やはり私ではありません。 まぁ、「あきら」という共通項はありますが... > 特に反論がなければ、明日にでもこれらのテストを削ります。 ロックの機能を提供しないという判断であれば、反論はありません。 -- [田中 哲][たなか あきら][Tanaka Akira]