facter(1.3.3)

テストがないので、bin/facter を実行。

#to_a を持たないオブジェクトが多重代入の右辺に * 付きで現れたときの動きがまだ仕様未定なのでエラーになる。

date@assam facter-1.3.3 $ ruby-yarv -I./lib bin/facter 
/home/date/tmp/facter-1.3.3/lib/facter.rb:430:in `block in confine': can't convert Symbol into Array (TypeError)
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:429:in `each'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:429:in `confine'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:622:in `block in loadfacts'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:247:in `instance_eval'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:247:in `add'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:88:in `add'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:620:in `loadfacts'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:960:in `<class:Facter>'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:21:in `<top (required)>'
        from bin/facter:44:in `require'
        from bin/facter:44:in `<main>'

それを回避しても、Thread に exclusive がないのでエラー。仕様と実装が進むまで待つしかない。

$ ruby-yarv -I./lib bin/facter 
./lib/facter/processor.rb:26:in `<top (required)>': undefined method `exclusive' for YARVCore::VM::Thread:Class (NoMethodError)
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:941:in `find'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:941:in `load'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:941:in `block (2 levels) in loadfacts'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:935:in `[]='
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:935:in `each'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:935:in `block in loadfacts'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:932:in `new'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:932:in `each'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:932:in `loadfacts'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:960:in `<class:Facter>'
        from /home/date/tmp/facter-1.3.3/lib/facter.rb:21:in `<top (required)>'
        from bin/facter:44:in `require'
        from bin/facter:44:in `<main>'