Change debug api for tree

This commit is contained in:
mcrakhman 2023-01-25 11:26:37 +01:00 committed by Mikhail Iudin
parent 5a6af6dd2c
commit 75d94db5bb
No known key found for this signature in database
GPG Key ID: FAAAA8BAABDFF1C0
6 changed files with 42 additions and 17 deletions

View File

@ -96,19 +96,19 @@ func (mr *MockObjectTreeMockRecorder) Close() *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockObjectTree)(nil).Close))
}
// DebugDump mocks base method.
func (m *MockObjectTree) DebugDump(arg0 objecttree.DescriptionParser) (string, error) {
// Debug mocks base method.
func (m *MockObjectTree) Debug(arg0 objecttree.DescriptionParser) (objecttree.DebugInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DebugDump", arg0)
ret0, _ := ret[0].(string)
ret := m.ctrl.Call(m, "Debug", arg0)
ret0, _ := ret[0].(objecttree.DebugInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// DebugDump indicates an expected call of DebugDump.
func (mr *MockObjectTreeMockRecorder) DebugDump(arg0 interface{}) *gomock.Call {
// Debug indicates an expected call of Debug.
func (mr *MockObjectTreeMockRecorder) Debug(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DebugDump", reflect.TypeOf((*MockObjectTree)(nil).DebugDump), arg0)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockObjectTree)(nil).Debug), arg0)
}
// Delete mocks base method.

View File

@ -55,7 +55,7 @@ type ReadableObjectTree interface {
HasChanges(...string) bool
GetChange(string) (*Change, error)
DebugDump(parser DescriptionParser) (string, error)
Debug(parser DescriptionParser) (DebugInfo, error)
IterateRoot(convert ChangeConvertFunc, iterate ChangeIterateFunc) error
IterateFrom(id string, convert ChangeConvertFunc, iterate ChangeIterateFunc) error
}
@ -609,6 +609,6 @@ func (ot *objectTree) validateTree(newChanges []*Change) error {
return ot.validator.ValidateNewChanges(ot.tree, ot.aclList, newChanges)
}
func (ot *objectTree) DebugDump(parser DescriptionParser) (string, error) {
return ot.tree.Graph(parser)
func (ot *objectTree) Debug(parser DescriptionParser) (DebugInfo, error) {
return objectTreeDebug{}.debugInfo(ot, parser)
}

View File

@ -0,0 +1,25 @@
package objecttree
type objectTreeDebug struct {
}
type DebugInfo struct {
TreeLen int
TreeString string
Graphviz string
Heads []string
SnapshotPath []string
}
func (o objectTreeDebug) debugInfo(ot *objectTree, parser DescriptionParser) (di DebugInfo, err error) {
di = DebugInfo{}
di.Graphviz, err = ot.tree.Graph(parser)
if err != nil {
return
}
di.TreeString = ot.tree.String()
di.TreeLen = ot.tree.Len()
di.Heads = ot.Heads()
di.SnapshotPath = ot.SnapshotPath()
return
}

View File

@ -221,19 +221,19 @@ func (mr *MockSyncTreeMockRecorder) Close() *gomock.Call {
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Close", reflect.TypeOf((*MockSyncTree)(nil).Close))
}
// DebugDump mocks base method.
func (m *MockSyncTree) DebugDump(arg0 objecttree.DescriptionParser) (string, error) {
// Debug mocks base method.
func (m *MockSyncTree) Debug(arg0 objecttree.DescriptionParser) (objecttree.DebugInfo, error) {
m.ctrl.T.Helper()
ret := m.ctrl.Call(m, "DebugDump", arg0)
ret0, _ := ret[0].(string)
ret := m.ctrl.Call(m, "Debug", arg0)
ret0, _ := ret[0].(objecttree.DebugInfo)
ret1, _ := ret[1].(error)
return ret0, ret1
}
// DebugDump indicates an expected call of DebugDump.
func (mr *MockSyncTreeMockRecorder) DebugDump(arg0 interface{}) *gomock.Call {
// Debug indicates an expected call of Debug.
func (mr *MockSyncTreeMockRecorder) Debug(arg0 interface{}) *gomock.Call {
mr.mock.ctrl.T.Helper()
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "DebugDump", reflect.TypeOf((*MockSyncTree)(nil).DebugDump), arg0)
return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "Debug", reflect.TypeOf((*MockSyncTree)(nil).Debug), arg0)
}
// Delete mocks base method.