[#30872] segv when reentering into Fiber with callcc — sheepman <sheepman@...>
こんばんは、sheepman です。
ささだです。
遠藤と申します。
ささだです。
遠藤です。
ささだです。
まつもと ゆきひろです
In article <E1Hw9be-0002Rs-Qg@x31>,
まつもと ゆきひろです
[#30920] Integer#prime_division と Prime — TOYOFUKU Chikanobu <nobu_toyofuku@...>
豊福です。
[#30929] secrand.rb — "NAKAMURA, Hiroshi" <nakahiro@...>
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669066C.2080307@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46694461.4060706@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <46697C0B.8060402@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4669DAB0.4050705@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <466AA73C.9030407@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
In article <466D5B1D.8030205@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <469253E9.9010203@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694338C.7090303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
In article <4694E6A6.2060303@sarion.co.jp>,
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
なかだです。
-----BEGIN PGP SIGNED MESSAGE-----
[#30971] Linux/ia64で'ucontext_t' undeclared — akira yamada / やまだあきら <akira@...>
最近のRuby 1.9をLinux/ia64上でmakeしようとすると
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
Yukihiro Matsumoto さんは書きました:
まつもと ゆきひろです
In article <E1HygwQ-0001OA-4f@x31>,
ささだです。
[#30996] new block parameter rule — SASADA Koichi <ko1@...>
ささだです。
[#31002] ("a".."f").step(2) {|x| p x} — Tanaka Akira <akr@...>
string の range の step で引数が効かないように思います。
まつもと ゆきひろです
ささだです。
まつもと ゆきひろです
[#31028] rb_get_interned — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31034] Re: [ruby-cvs:19815] Ruby:r12579 (trunk): * parse.y (rb_intern2): name may not be NUL-terminated. — "U.Nakamura" <usa@...>
こんにちは、なかむら(う)です。
[#31046] Conditional jump or move depends on uninitialised value(s) in TOPLEVEL_BINDING — Tanaka Akira <akr@...>
valgrind をかけたところとりあえず最初のが
ささだです。
[#31063] make error at bcc32 — "Nebata" <tnebata@...>
ねばたです。
[#31066] consts for gdb support — Nobuyoshi Nakada <nobu@...>
なかだです。
[#31068] $&;[] dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
遠藤です。
ささだです。
遠藤です。
[#31072] {*0} dumps core — "Yusuke ENDOH" <mame@...>
遠藤と申します。
ささだです。
[ruby-dev:31076] Re: $&;[] dumps core
ささだです。 Yusuke ENDOH wrote: >> ついでに、出来たら testcase な書き方で例を出していただける >> と、テストにさくっと追加できて幸せです。 > > よくわかりませんが、a = ($&;[]); assert_equal([], a) とか書けば > いいんでしょうか。 いい機会なのでまとめておきます。 現在、テストを書くところが Ruby にはいくつかあります。以下に 私が知っていることを書きますので参考にしてください。私の調べた 範囲だけなので、何か不備・不足があればご指摘ください。 (1) bootstraptest/ 目的・特徴: ・メソッド呼び出しや多重代入など、「動かないと話ならない」 機能をテスト ・たとえば、コアの中身を変えた時などに利用。あと、別の Ruby イ ンタプリタの開発初期などに利用可能だと思う ・後述の sample/test.rb の欠点を補うために用意 ・テストごとに別プロセスで実行するので、大きなプログラムでしか 再現しないバグ(GCのバグなど)は発見できないことが多い ・テストごとに別プロセスで実行するので、状態を変にするプログラ ムのテストには適している(Kernelのメソッド再定義実験とか) ・テスト管理プログラムが 1 file (bootstraptest/runner.rb)な ので、簡単にいじったりできる。 記述方法: ・bootstraptest/test*.rb に記入 ・make btest で bootstraptest/test_*.rb 全部を実行 ・assert_equal(expected, program) と記述 ・program は単体で実行可能なこと 実行方法: ・make btest OPTS='--set foo' で、foo というファイル名を実行 ・BASERUBY(ruby 1.8 など、外部プログラム)でテストを実行 (driver)。つまり、テストする側は信頼できる(たぶん) ・driver は、ビルドした miniruby (target)に、program を実行 させ、その結果を expected と比較する。 ・target を変更するには OPTS に --ruby=[target] を追加する。た とえば、jruby を指定すれば、jruby の 1.9 仕様チェックになる (やるのかしらん) (2) sample/test.rb 目的・特徴: ・従来からあった処理系のテスト。bootstraptest/ 相当だった。 ・一か所で例外が起きると、その後実行されないので、網羅的なテス トには向かない ・たくさん機能をテストするので、ある程度完成度の高い処理系じゃ ないとテストを通らない。というか、テストが最後まで実行できない ・なので、failure はあるが、yarv は結構凄い。 ・昔からあるテストなので、インストール前にとりあえず試す人が多い。 記述方法: ・sample/test.rb に記入 ・test_ok() メソッドの第一引数に false が来ると失敗 ・test_ok(expected == result) がイディオム 実行方法: ・make test で実行 ・ビルドした miniruby で全部実行 ・miniruby なので拡張ライブラリ(.so)が使えない。 ・ビルドした miniruby が腐ってると、テスト結果も信用ならないか もしれない (3) test/ 目的: ・test/unit を利用したテスト ・主に、拡張ライブラリやライブラリのテストなどに利用 ・ruby のコアの機能についてのテストも存在 ・test/unit は optparse.rb を利用しているが、optparse.rb は変 態的な Ruby の機能をたくさん使っているので、かなり完成度の高い Ruby処理系じゃないと、このテストは実行できない ・もちろんビルドした ruby が腐っていると結果は信用できないが、 test/unit が実行できている時点で大分信用できるかもしれない(で きないかもしれない。実体験として。) 記述方法: ・test/unit の記法により記述 ・test/test_foo.rb、もしくは test/foo/test_*.rb に記述 ・ruby のコア機能は test/ruby/test_*.rb に記述 実行方法: ・make test-all と実行すると、test/ 以下の全テストが実行される ・make test-all TESTS=xxx とすると、xxx のテストが実行される たとえば、TESTS=ruby だと、test/ruby/ 以下が実行される ・TESTS に '-x yyy' とすると、yyy という名前の含んだテストが実 行されない。 ・TESTS に '-v' を含ませておくと、テスト項目が表示される ・その他、オプションは test/unit に準ずる(多分) ・ビルドした ruby プログラムで全部実行する ・ruby なので拡張ライブラリ(.so)を使える で、今回のケースを (1), (2), (3) のどれに分類するか、なんで すが、あんまり統一した基準がありません。上記特徴を見て、書きや すいところがいいのかもしれません。 たとえば、bootstraptest/test_mine.rb というファイルを作っ て、そこに assert_equal() として記述しておいてやり、make btest OPTS=--set=mine として実行するようにすれば、自分用テストがや りやすいかもしれません。 そういえば、今のバージョンって田中所有の網羅的なテストって 通ってます? -- // SASADA Koichi at atdot dot net