anchor.diff:      {ok, ChannelId0} = ssh_connection:session_channel(ConnectionRef, infinity),
       success = ssh_connection:exec(ConnectionRef, ChannelId0,
   				  "echo testing", infinity),
  -
       %% receive response to input
       receive
   	{ssh_cm, ConnectionRef, {data, ChannelId0, 0, <<"testing\n">>}} ->
  
positive.code:     ConnectionRef = ssh_test_lib:connect(?SSH_DEFAULT_PORT, [{silently_accept_hosts, true},
  							     {user_interaction, false}]),
      {ok, ChannelId0} = ssh_connection:session_channel(ConnectionRef, infinity),
  
      %% Shell command "false" will exit immediately
      success = ssh_connection:exec(ConnectionRef, ChannelId0,
  				  "false", infinity),
  
      timer:sleep(2000), %% Allow incoming eof/close/exit_status ssh messages to be processed
  
      Data = <<"I like spaghetti squash">>,
      case ssh_connection:send(ConnectionRef, ChannelId0, Data, 2000) of
  	{error, closed} -> ok;
  	ok ->
  	    ct:fail({expected,{error,closed}});
  	{error, timeout} ->
  	    ct:fail({expected,{error,closed}});
  	Else ->
  	    ct:fail(Else)
      end,
  
      %% receive close messages
      receive
  	{ssh_cm, ConnectionRef, {eof, ChannelId0}} ->
  	    ok
      end,
      receive
  	{ssh_cm, ConnectionRef, {exit_status, ChannelId0, _}} ->
  	    ok
      end,
      receive
  	{ssh_cm, ConnectionRef,{closed, ChannelId0}} ->
  	    ok
      end.
  %%--------------------------------------------------------------------
  interrupted_send() ->
      [{doc, "Use a subsystem that echos n char and then sends eof to cause a channel exit partway through a large send."}].
  
negative.code: 	{ssh_cm, ConnectionRef,{closed, ChannelId0}} ->
  	    ok
      end.
  %%--------------------------------------------------------------------
  big_cat() ->
      [{doc,"Use 'cat' to echo large data block back to us."}].
  