anchor.diff:           start_exec_direct_fun1_read_write/1,
            start_exec_direct_fun1_read_write_advanced/1,
            start_shell/1,
  +         start_shell_pty/1,
            start_shell_exec/1,
            start_shell_exec_direct_fun/1,
            start_shell_exec_direct_fun1_error/1,
  
positive.code:      exec_disabled,
       exec_shell_disabled,
       start_shell,
       start_shell_exec,
       start_shell_exec_fun,
       start_shell_exec_fun2,
  
negative.code:     test_shell_is_enabled(ConnectionRef, <<"Eshell V">>).
  
  test_shell_is_enabled(ConnectionRef, Expect) ->
      test_shell_is_enabled(ConnectionRef, Expect, []).
  
  test_shell_is_enabled(ConnectionRef, Expect, PtyOpts) ->
      {ok, ChannelId} = ssh_connection:session_channel(ConnectionRef, infinity),
      ok = ssh_connection:shell(ConnectionRef,ChannelId),
      case PtyOpts of
          [] ->
              no_alloc;
          _ ->
              success = ssh_connection:ptty_alloc(ConnectionRef, ChannelId, PtyOpts)
      end,
      ExpSz = size(Expect),
      receive
  	{ssh_cm,ConnectionRef, {data, ChannelId, 0, <<Expect:ExpSz/binary, _/binary>>}} ->
  