diff options
author | Hans Nilsson <[email protected]> | 2014-10-13 11:17:52 +0200 |
---|---|---|
committer | Hans Nilsson <[email protected]> | 2014-10-13 11:17:52 +0200 |
commit | 54a6b141cba05d89c5c376e40a403f217db6c46b (patch) | |
tree | 1716190e62b2613eaee7830bdf4ea7892bc88637 /lib/ssh/test/ssh_connection_SUITE.erl | |
parent | 19d5fff19746454cbe343d347938d33016aaa764 (diff) | |
parent | d086394ebd3595d431835af80709977a6c1c7c89 (diff) | |
download | otp-54a6b141cba05d89c5c376e40a403f217db6c46b.tar.gz otp-54a6b141cba05d89c5c376e40a403f217db6c46b.tar.bz2 otp-54a6b141cba05d89c5c376e40a403f217db6c46b.zip |
Merge branch 'hans/ssh/closed_int/OTP-12004' into maint
Diffstat (limited to 'lib/ssh/test/ssh_connection_SUITE.erl')
-rw-r--r-- | lib/ssh/test/ssh_connection_SUITE.erl | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/lib/ssh/test/ssh_connection_SUITE.erl b/lib/ssh/test/ssh_connection_SUITE.erl index d226e5ba03..3c537d719c 100644 --- a/lib/ssh/test/ssh_connection_SUITE.erl +++ b/lib/ssh/test/ssh_connection_SUITE.erl @@ -37,6 +37,7 @@ all() -> [ {group, openssh_payload}, + start_subsystem_on_closed_channel, interrupted_send, start_shell, start_shell_exec, @@ -241,6 +242,32 @@ send_after_exit(Config) when is_list(Config) -> end. %%-------------------------------------------------------------------- +start_subsystem_on_closed_channel(Config) -> + PrivDir = ?config(priv_dir, Config), + UserDir = filename:join(PrivDir, nopubkey), % to make sure we don't use public-key-auth + file:make_dir(UserDir), + SysDir = ?config(data_dir, Config), + {Pid, Host, Port} = ssh_test_lib:daemon([{system_dir, SysDir}, + {user_dir, UserDir}, + {password, "morot"}, + {subsystems, [{"echo_n", {ssh_echo_server, [4000000]}}]}]), + + ConnectionRef = ssh_test_lib:connect(Host, Port, [{silently_accept_hosts, true}, + {user, "foo"}, + {password, "morot"}, + {user_interaction, false}, + {user_dir, UserDir}]), + + {ok, ChannelId} = ssh_connection:session_channel(ConnectionRef, infinity), + + ok = ssh_connection:close(ConnectionRef, ChannelId), + + failure = ssh_connection:subsystem(ConnectionRef, ChannelId, "echo_n", infinity), + + ssh:close(ConnectionRef), + ssh:stop_daemon(Pid). + +%%-------------------------------------------------------------------- interrupted_send() -> [{doc, "Use a subsystem that echos n char and then sends eof to cause a channel exit partway through a large send."}]. |