ruby-trunk-changes r33485 - r33492

今日は minitest の更新(2.0.0 でテストが通るように)、OpenSSL::SSL::SSLSocket の不具合修正、Debian sparc の環境向けの対応などがありました。

emboss:r33485 2011-10-20 05:05:21 +0900

OpenSSL::SSL::SSLSocket が受信したデータを保持する buffer の String オブジェクトの encoding を ASCII-8BIT (BINARY という別名で指定)にするようにしています。 [ruby-core:39120] [Bug #5233]

svn:r33486 2011-10-20 05:05:25 +0900

version.h の日付更新。

ryan:r33487 2011-10-20 05:34:21 +0900

minitest 2.6.2 をマージしています。主な修正は RUBY_VERSION の 2.0.0 化の対応、assert_operator の第3引数を省略可能に、assert_predicate/refute_predicate の追加、MiniTest::Spec.it の引数省略可能に、specify (it の alias) の追加、などです。
ちょっとおもしろかったのは README.txt に「利用者の声」みたいなのが追記されてたことです。

drbrain:r33488 2011-10-20 06:05:05 +0900

ext/openssl/ossl_ns_spki.c の OpenSSL::Netscape::SPKI についての rdoc を整備。

nobu:r33489 2011-10-20 11:42:26 +0900

ruby_qsort() という Enumerable#sort などで利用されているソート処理で利用している mmprepare, mmswap_, mmrot3_ などのマクロで、アライメントやソートする要素のサイズのチェックが定数を直書きしていたのを long のビット幅を利用するようにしています。

emboss:r33490 2011-10-20 12:32:36 +0900

OpenSSL::PKCS5.pbkdf2_hmac_sha1 のテストを追加。 RFC 6070 のテストということで、"PKCS #5: Password-Based Key Derivation Function 2 (PBKDF2) Test Vectors" [参考URL: http://tools.ietf.org/html/rfc6070 ] のテストケースを実装しているみたいですね。

nobu:r33491 2011-10-20 13:09:12 +0900

新規追加されたファイルの svn property 設定。

nobu:r33492 2011-10-20 13:09:37 +0900

よく知らないのですが Sun sparc で register windows という関数呼び出し時にレジスタの内容のスタックへの退避を極力回避するしくみがあるため、Thread 切り替えや GC のためにレジスタ内容を退避する時にインラインアセンブラを使って flush_register_windows() という関数を定義して使っているのですが、Debian Sparc という環境で条件コンパイルの条件判定に失敗していたようで条件を変更しています。 [ruby-core:39162] [Bug #5244]