test, lib/model: Various integration test updates & improvements (#6956)
This commit is contained in:
+3
-1
@@ -1031,11 +1031,13 @@ func (f *folder) updateLocals(fs []protocol.FileInfo) {
|
||||
}
|
||||
f.forcedRescanPathsMut.Unlock()
|
||||
|
||||
seq := f.fset.Sequence(protocol.LocalDeviceID)
|
||||
f.evLogger.Log(events.LocalIndexUpdated, map[string]interface{}{
|
||||
"folder": f.ID,
|
||||
"items": len(fs),
|
||||
"filenames": filenames,
|
||||
"version": f.fset.Sequence(protocol.LocalDeviceID),
|
||||
"sequence": seq,
|
||||
"version": seq, // legacy for sequence
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
+11
-6
@@ -715,15 +715,17 @@ type FolderCompletion struct {
|
||||
GlobalItems int32
|
||||
NeedItems int32
|
||||
NeedDeletes int32
|
||||
Sequence int64
|
||||
}
|
||||
|
||||
func newFolderCompletion(global, need db.Counts) FolderCompletion {
|
||||
func newFolderCompletion(global, need db.Counts, sequence int64) FolderCompletion {
|
||||
comp := FolderCompletion{
|
||||
GlobalBytes: global.Bytes,
|
||||
NeedBytes: need.Bytes,
|
||||
GlobalItems: global.Files + global.Directories + global.Symlinks,
|
||||
NeedItems: need.Files + need.Directories + need.Symlinks,
|
||||
NeedDeletes: need.Deleted,
|
||||
Sequence: sequence,
|
||||
}
|
||||
comp.setComplectionPct()
|
||||
return comp
|
||||
@@ -764,6 +766,7 @@ func (comp FolderCompletion) Map() map[string]interface{} {
|
||||
"globalItems": comp.GlobalItems,
|
||||
"needItems": comp.NeedItems,
|
||||
"needDeletes": comp.NeedDeletes,
|
||||
"sequence": comp.Sequence,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -824,7 +827,7 @@ func (m *model) folderCompletion(device protocol.DeviceID, folder string) Folder
|
||||
need.Bytes = 0
|
||||
}
|
||||
|
||||
comp := newFolderCompletion(global, need)
|
||||
comp := newFolderCompletion(global, need, snap.Sequence(device))
|
||||
|
||||
l.Debugf("%v Completion(%s, %q): %v", m, device, folder, comp.Map())
|
||||
return comp
|
||||
@@ -974,11 +977,13 @@ func (m *model) handleIndex(deviceID protocol.DeviceID, folder string, fs []prot
|
||||
}
|
||||
files.Update(deviceID, fs)
|
||||
|
||||
seq := files.Sequence(deviceID)
|
||||
m.evLogger.Log(events.RemoteIndexUpdated, map[string]interface{}{
|
||||
"device": deviceID.String(),
|
||||
"folder": folder,
|
||||
"items": len(fs),
|
||||
"version": files.Sequence(deviceID),
|
||||
"device": deviceID.String(),
|
||||
"folder": folder,
|
||||
"items": len(fs),
|
||||
"sequence": seq,
|
||||
"version": seq, // legacy for sequence
|
||||
})
|
||||
|
||||
return nil
|
||||
|
||||
@@ -3929,16 +3929,16 @@ func TestConnectionTerminationOnFolderUnpause(t *testing.T) {
|
||||
|
||||
func TestAddFolderCompletion(t *testing.T) {
|
||||
// Empty folders are always 100% complete.
|
||||
comp := newFolderCompletion(db.Counts{}, db.Counts{})
|
||||
comp.add(newFolderCompletion(db.Counts{}, db.Counts{}))
|
||||
comp := newFolderCompletion(db.Counts{}, db.Counts{}, 0)
|
||||
comp.add(newFolderCompletion(db.Counts{}, db.Counts{}, 0))
|
||||
if comp.CompletionPct != 100 {
|
||||
t.Error(comp.CompletionPct)
|
||||
}
|
||||
|
||||
// Completion is of the whole
|
||||
comp = newFolderCompletion(db.Counts{Bytes: 100}, db.Counts{}) // 100% complete
|
||||
comp.add(newFolderCompletion(db.Counts{Bytes: 400}, db.Counts{Bytes: 50})) // 82.5% complete
|
||||
if comp.CompletionPct != 90 { // 100 * (1 - 50/500)
|
||||
comp = newFolderCompletion(db.Counts{Bytes: 100}, db.Counts{}, 0) // 100% complete
|
||||
comp.add(newFolderCompletion(db.Counts{Bytes: 400}, db.Counts{Bytes: 50}, 0)) // 82.5% complete
|
||||
if comp.CompletionPct != 90 { // 100 * (1 - 50/500)
|
||||
t.Error(comp.CompletionPct)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user