diff options
author | Fredrik Gustafsson <[email protected]> | 2012-12-21 10:21:56 +0100 |
---|---|---|
committer | Fredrik Gustafsson <[email protected]> | 2012-12-21 10:21:56 +0100 |
commit | 63b82a8d72b4a16bd98e7997e3782174afae8ed6 (patch) | |
tree | 8afe83af1e407e0a67ccc55892cf787e2460360f /lib/ssh/test/ssh_sftpd_SUITE.erl | |
parent | 5af4de28200f652ca23780c0e141a6c063275e93 (diff) | |
parent | 19c560d98202b87e5b158f673fd48ba347e623ee (diff) | |
download | otp-63b82a8d72b4a16bd98e7997e3782174afae8ed6.tar.gz otp-63b82a8d72b4a16bd98e7997e3782174afae8ed6.tar.bz2 otp-63b82a8d72b4a16bd98e7997e3782174afae8ed6.zip |
Merge branch 'fredrik/ssh/sftp-file-is-dir/OTP-6406'
* fredrik/ssh/sftp-file-is-dir/OTP-6406:
Removed unused code ssh.erl and changed tests
Added eexist to return proper sftp parameter
Changed erlclient testcases for sftp
sftp ver6 mods, SSH_FX_CANNOT_DELETE added as parameter
Updated doc for sftpd_vsn
Changed testcases to proper sftpd listening
changed option to sftpd_vsn
corrected is_dir call in sftpd
Changes to sftpd test suite
Added a file_is_a_directory to a proper status return
Basic functionality for sftp ver6 and testcase
Conflicts:
lib/ssh/doc/src/ssh_sftpd.xml
Diffstat (limited to 'lib/ssh/test/ssh_sftpd_SUITE.erl')
-rw-r--r-- | lib/ssh/test/ssh_sftpd_SUITE.erl | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/lib/ssh/test/ssh_sftpd_SUITE.erl b/lib/ssh/test/ssh_sftpd_SUITE.erl index b995eb9f0e..5aa46872ee 100644 --- a/lib/ssh/test/ssh_sftpd_SUITE.erl +++ b/lib/ssh/test/ssh_sftpd_SUITE.erl @@ -58,7 +58,8 @@ all() -> links, ver3_rename, relpath, - sshd_read_file]. + sshd_read_file, + ver6_basic]. groups() -> []. @@ -106,12 +107,18 @@ init_per_testcase(TestCase, Config) -> SystemDir = filename:join(?config(priv_dir, Config), system), Port = ssh_test_lib:inet_port(node()), - - {ok, Sftpd} = - ssh_sftpd:listen(Port, [{system_dir, SystemDir}, - {user_dir, PrivDir}, - {user_passwords,[{?USER, ?PASSWD}]}, - {pwdfun, fun(_,_) -> true end}]), + Options = [{system_dir, SystemDir}, + {user_dir, PrivDir}, + {user_passwords,[{?USER, ?PASSWD}]}, + {pwdfun, fun(_,_) -> true end}], + {ok, Sftpd} = case TestCase of + ver6_basic -> + SubSystems = [ssh_sftpd:subsystem_spec([{sftpd_vsn, 6}])], + ssh:daemon(Port, [{subsystems, SubSystems}|Options]); + _ -> + SubSystems = [ssh_sftpd:subsystem_spec([])], + ssh:daemon(Port, [{subsystems, SubSystems}|Options]) + end, Cm = ssh_test_lib:connect(Port, [{user_dir, ClientUserDir}, @@ -341,7 +348,7 @@ mk_rm_dir(Config) when is_list(Config) -> _/binary>>, _} = mkdir(DirName, Cm, Channel, ReqId), NewReqId = 1, - {ok, <<?SSH_FXP_STATUS, ?UINT32(NewReqId), ?UINT32(?SSH_FX_FAILURE), + {ok, <<?SSH_FXP_STATUS, ?UINT32(NewReqId), ?UINT32(?SSH_FX_FILE_ALREADY_EXISTS), _/binary>>, _} = mkdir(DirName, Cm, Channel, NewReqId), NewReqId1 = 2, @@ -591,7 +598,18 @@ sshd_read_file(Config) when is_list(Config) -> read_file(Handle, 100, 0, Cm, Channel, NewReqId), {ok, Data} = file:read_file(FileName). - +ver6_basic(doc) -> + ["Test SFTP Version 6"]; +ver6_basic(Config) when is_list(Config) -> + PrivDir = ?config(priv_dir, Config), + %FileName = filename:join(PrivDir, "test.txt"), + {Cm, Channel} = ?config(sftp, Config), + ReqId = 0, + {ok, <<?SSH_FXP_STATUS, ?UINT32(ReqId), % Ver 6 we have 5 + ?UINT32(?SSH_FX_FILE_IS_A_DIRECTORY), _/binary>>, _} = + open_file(PrivDir, Cm, Channel, ReqId, + ?ACE4_READ_DATA bor ?ACE4_READ_ATTRIBUTES, + ?SSH_FXF_OPEN_EXISTING). %%-------------------------------------------------------------------- %% Internal functions ------------------------------------------------ %%-------------------------------------------------------------------- |