mirror of
https://github.com/octoleo/syncthing.git
synced 2024-09-19 05:09:01 +00:00
parent
ceb9475668
commit
08753ccabe
@ -302,12 +302,12 @@ func (f *sendReceiveFolder) pullerIteration(scanChan chan<- string) int {
|
|||||||
f.oldPullErrors = nil
|
f.oldPullErrors = nil
|
||||||
f.pullErrorsMut.Unlock()
|
f.pullErrorsMut.Unlock()
|
||||||
|
|
||||||
|
f.queue.Reset()
|
||||||
|
|
||||||
return changed
|
return changed
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *sendReceiveFolder) processNeeded(dbUpdateChan chan<- dbUpdateJob, copyChan chan<- copyBlocksState, scanChan chan<- string) (int, map[string]protocol.FileInfo, []protocol.FileInfo, error) {
|
func (f *sendReceiveFolder) processNeeded(dbUpdateChan chan<- dbUpdateJob, copyChan chan<- copyBlocksState, scanChan chan<- string) (int, map[string]protocol.FileInfo, []protocol.FileInfo, error) {
|
||||||
defer f.queue.Reset()
|
|
||||||
|
|
||||||
changed := 0
|
changed := 0
|
||||||
var dirDeletions []protocol.FileInfo
|
var dirDeletions []protocol.FileInfo
|
||||||
fileDeletions := map[string]protocol.FileInfo{}
|
fileDeletions := map[string]protocol.FileInfo{}
|
||||||
|
@ -1137,3 +1137,37 @@ func TestIgnoreDeleteUnignore(t *testing.T) {
|
|||||||
case <-done:
|
case <-done:
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TestRequestLastFileProgress checks that the last pulled file (here only) is registered
|
||||||
|
// as in progress.
|
||||||
|
func TestRequestLastFileProgress(t *testing.T) {
|
||||||
|
m, fc, fcfg := setupModelWithConnection()
|
||||||
|
tfs := fcfg.Filesystem()
|
||||||
|
defer cleanupModelAndRemoveDir(m, tfs.URI())
|
||||||
|
|
||||||
|
done := make(chan struct{})
|
||||||
|
|
||||||
|
fc.mut.Lock()
|
||||||
|
fc.requestFn = func(_ context.Context, folder, name string, _ int64, _ int, _ []byte, _ bool) ([]byte, error) {
|
||||||
|
defer close(done)
|
||||||
|
progress, queued, rest := m.NeedFolderFiles(folder, 1, 10)
|
||||||
|
if len(queued)+len(rest) != 0 {
|
||||||
|
t.Error(`There should not be any queued or "rest" items`)
|
||||||
|
}
|
||||||
|
if len(progress) != 1 {
|
||||||
|
t.Error("Expected exactly one item in progress.")
|
||||||
|
}
|
||||||
|
return fc.fileData[name], nil
|
||||||
|
}
|
||||||
|
fc.mut.Unlock()
|
||||||
|
|
||||||
|
contents := []byte("test file contents\n")
|
||||||
|
fc.addFile("testfile", 0644, protocol.FileInfoTypeFile, contents)
|
||||||
|
fc.sendIndexUpdate()
|
||||||
|
|
||||||
|
select {
|
||||||
|
case <-done:
|
||||||
|
case <-time.After(5 * time.Second):
|
||||||
|
t.Fatal("Timed out before file was requested")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user