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: 	     -234, -50000,
  	     42
  	    ],
      receive
  	{Port, {data, Data}}-> compare_all(Tests, msgpack:unpack_all(Data))
      after 1024-> ?assert(false)  end,
      port_close(Port).
  
  other_test()->
  
negative.code:     ?assertEqual(LH, RH),
      compare_all(LTL, RTL).
  
  port_receive(Port) ->
      port_receive(Port, <<>>).
  port_receive(Port, Acc) ->
      receive
          {Port, {data, Data}} -> port_receive(Port, <<Acc/binary, Data/binary>>);
          {Port, eof} -> Acc
      after 1000 -> Acc
      end.
  
  test_([]) -> 0;
  test_([Term|Rest])->
      Pack = msgpack:pack(Term),
  