anchor.diff:      Passed = length(Tests).
   
   port_test()->
  -    Port = open_port({spawn, "ruby ../test/crosslang.rb"}, [binary]),
       Tests = test_data(),
  -    {[Tests],<<>>} = msgpack:unpack(msgpack:pack([Tests])),
  -    true = port_command(Port, msgpack:pack(Tests) ),
  -    receive
  -	{Port, {data, Data}}->  {Tests, <<>>}=msgpack:unpack(Data)
  -    after 1024-> ?assert(false)   end,
  +    ?assertEqual({[Tests],<<>>}, msgpack:unpack(msgpack:pack([Tests]))),
  +
  +    Port = open_port({spawn, "ruby ../test/crosslang.rb"}, [binary, eof]),
  +    true = port_command(Port, msgpack:pack(Tests)),
  +    ?assertEqual({Tests, <<>>}, msgpack:unpack(port_receive(Port))),
       port_close(Port).
   
   test_p(Len,Term,OrigBin,Len) ->
  
positive.code:     ok.
  
  unknown_test()->
      Port = open_port({spawn, "ruby testcase_generator.rb"}, [binary]),
      Tests = [0, 1, 2, 123, 512, 1230, 678908,
  	     -1, -23, -512, -1230, -567898,
  	     <<"hogehoge">>, <<"243546rf7g68h798j">>,
  
negative.code: 	     -234, -50000,
  	     42
  	    ],
      ?assertEqual(ok, compare_all(Tests, msgpack:unpack_all(port_receive(Port)))),
      port_close(Port).
  
  other_test()->
  