>>51

$KCODEは実体がなく読み取りと読み出しのC関数があることによって
存在しているように見える仮想変数なんだが、1.9ではこの読み取りと
読み出し両方の関数で rb_warn という関数が常時呼ばれて警告が出る。

rb_warn は $VERBOSE.nil? が真なら出力することなくリターンするので、
テスト時に一時的にnilを代入すればよいと思う。(falseだとだめ)