8000 Merge pull request #316 from drakkan/posixrename · etherscan-io/sftp@6d50bf4 · GitHub
[go: up one dir, main page]

Skip to content

Commit 6d50bf4

Browse files
authored
Merge pull request pkg#316 from drakkan/posixrename
Fix posixrename and add a test case
2 parents 4033788 + f9e61c9 commit 6d50bf4

File tree

2 files changed

+16
-10
lines changed

2 files changed

+16
-10
lines changed

request-server.go

Lines changed: 4 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -190,15 +190,10 @@ func (rs *RequestServer) packetWorker(
190190
request = NewRequest("Stat", request.Filepath)
191191
rpkt = request.call(rs.Handlers, pkt)
192192
}
193-
case *sshFxpExtendedPacket:
194-
switch expkt := pkt.SpecificPacket.(type) {
195-
default:
196-
rpkt = statusFromError(pkt, ErrSSHFxOpUnsupported)
197-
case *sshFxpExtendedPacketPosixRename:
198-
request := NewRequest("Rename", expkt.Oldpath)
199-
request.Target = expkt.Newpath
200-
rpkt = request.call(rs.Handlers, pkt)
201-
}
193+
case *sshFxpExtendedPacketPosixRename:
194+
request := NewRequest("Rename", pkt.Oldpath)
195+
request.Target = pkt.Newpath
196+
rpkt = request.call(rs.Handlers, pkt)
202197
case hasHandle:
203198
handle := pkt.getHandle()
204199
request, ok := rs.getRequest(handle)

request-server_test.go

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -241,10 +241,21 @@ func TestRequestRename(t *testing.T) {
241241
err = p.cli.Rename("/foo", "/bar")
242242
assert.Nil(t, err)
243243
f, err := r.fetch("/bar")
244+
if err != nil {
245+
t.Fatal("unexpected error:", err)
246+
}
244247
assert.Equal(t, "bar", f.Name())
245-
assert.Nil(t, err)
246248
_, err = r.fetch("/foo")
247249
assert.Equal(t, os.ErrNotExist, err)
250+
err = p.cli.PosixRename("/bar", "/baz")
251+
assert.Nil(t, err)
252+
f, err = r.fetch("/baz")
253+
if err != nil {
254+
t.Fatal("unexpected error:", err)
255+
}
256+
assert.Equal(t, "baz", f.Name())
257+
_, err = r.fetch("/bar")
258+
assert.Equal(t, os.ErrNotExist, err)
248259
}
249260

250261
func TestRequestRenameFail(t *testing.T) {

0 commit comments

Comments
 (0)
0