anchor.diff:  	{'DOWN', Ref, process, CPid, {error, Reason}} ->
   	    {error, Reason}
       after Timeout ->
  -	    {error, timeout}
  +	    {error, toerl_server_timeout}
       end.
   
   get_progs() ->
       case os:type() of
  -	{unix,freebsd} ->
  -	    {error,"cant use run_erl on freebsd"};
  -	{unix,openbsd} ->
  -	    {error,"cant use run_erl on openbsd"};
  -	{unix,_} ->
  -	    case os:find_executable("run_erl") of
  -		RE when is_list(RE) ->
  -		    case  os:find_executable("to_erl") of
  -			TE when is_list(TE) ->
  -			    case os:find_executable("erl") of
  -				E when is_list(E) ->
  -				    {RE,TE,E};
  -				_ ->
  -				    {error, "Could not find erl command"}
  -			    end;
  -			_ ->
  -			    {error, "Could not find to_erl command"}
  -		    end;
  -		_ ->
  -		    {error, "Could not find run_erl command"}
  -	    end;
  -	_ ->
  -	    {error, "Not a unix OS"}
  +        {unix,freebsd} ->
  +            {error,"Can't use run_erl on FreeBSD"};
  +        {unix,openbsd} ->
  +            {error,"Can't use run_erl on OpenBSD"};
  +        {unix,_} ->
  +            RunErl = find_executable("run_erl"),
  +            ToErl = find_executable("to_erl"),
  +            Erl = string:split(ct:get_progname()," ",all),
  +            {RunErl, ToErl, Erl};
  +        _ ->
  +            {error,"Not a Unix OS"}
  +        end.
  +
  +find_executable(Name) ->
  +    case os:find_executable(Name) of
  +        Prog when is_list(Prog) ->
  +            Prog;
  +        false ->
  +            throw("Could not find " ++ Name)
       end.
   
   create_tempdir() ->
  
positive.code: 	old ->
  	    ok;
  	new ->
  	    rtnode([{putline, "2."},
  		    {getline, "2"},
  		    {putline, "lists:keyfind(binary,1,io:getopts())."},
  		    {getline, "{binary,false}"},
  		    {putline, "io:get_line('')."},
  		    {putline, "hej"},
  		    {getline, "\"hej\\n\""},
  		    {putline, "io:setopts([{binary,true},unicode])."},
  		    {getline, "ok"},
  		    {putline, "io:get_line('')."},
  		    {putline, "hej"},
  		    {getline, "<<\"hej\\n\">>"},
  		    {putline, "io:get_line('')."},
  		    {putline, binary_to_list(<<"\345\344\366"/utf8>>)},
  		    {getline, "<<\""++binary_to_list(<<"\345\344\366"/utf8>>)++"\\n\"/utf8>>"}
  		   ],[])
      end,
      %% And one with oldshell
      rtnode([{putline, "2."},
  	    {getline_re, ".*2$"},
  	    {putline, "lists:keyfind(binary,1,io:getopts())."},
  	    {getline_re, ".*{binary,false}"},
  	    {putline, "io:get_line('')."},
  	    {putline, "hej"},
  	    {getline_re, ".*\"hej\\\\n\""},
  	    {putline, "io:setopts([{binary,true},unicode])."},
  	    {getline_re, ".*ok"},
  	    {putline, "io:get_line('')."},
  	    {putline, "hej"},
  	    {getline_re, ".*<<\"hej\\\\n\">>"},
  	    {putline, "io:get_line('')."},
  	    {putline, binary_to_list(<<"\345\344\366"/utf8>>)},
  	    {getline_re, ".*<<\""++binary_to_list(<<"\345\344\366"/utf8>>)++"\\\\n\"/utf8>>"}
  	   ],[],[],"-oldshell"),
      ok.
  
  
  
negative.code:     TestDataLine1BinUtf = unicode:characters_to_binary(TestDataLine1),
      TestDataLine1BinLatin = list_to_binary(TestDataLine1),
  
      N2List = peer:random_name(?FUNCTION_NAME),
      MyNodeList = atom2list(node()),
      register(io_proto_suite,self()),
      AM1 = spawn(?MODULE,Machine,
  