大谷です。

Ruby2.0p0ですが、make test が終わらない!

ここの部分で引っかかっているようです。
assert_equal 'true', %{
  t = Thread.new { loop {} }
  begin
    pid = fork {
      exit t.status != "run"
    }
    Process.wait pid
    $?.success?
  rescue NotImplementedError
    true
  end
}

少し変えて、
  t = Thread.new { loop {sleep 1} }
にすると終わります。これで、気づいたのですが、
使っているのはVMwareの仮想マシン上のCentOS6.3なのですが、
CPUが1コアの設定でした。
おそらく loop {} がCPUを使うのでメインスレッドが(ほとんど)動かないのだと思います。
・仮想マシンの設定を変えて2コアにすると終わる
・1コアでも一晩放置すると終わる(約6時間かかってました)

なぜ1.9.3と挙動が違うのでしょうか?ネイティブスレッドへの変更は1.9からですよね?
2.0と1.9.3でそれぞれ何度かずつ試してみたので、たまたまでは無いと思うのですが。

-- 
OOTANI TAKASHI <tksotn / mail.707.to>