mirror of
https://github.com/ceph/ceph-csi.git
synced 2024-12-27 07:20:24 +00:00
91774fc936
Uses github.com/libopenstorage/secrets to communicate with Vault. This removes the need for maintaining our own limited Vault APIs. By adding the new dependency, several other packages got updated in the process. Unused indirect dependencies have been removed from go.mod. Signed-off-by: Niels de Vos <ndevos@redhat.com>
55 lines
1.5 KiB
Go
55 lines
1.5 KiB
Go
// Copyright 2017, The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE.md file.
|
|
|
|
package cmp
|
|
|
|
// defaultReporter implements the reporter interface.
|
|
//
|
|
// As Equal serially calls the PushStep, Report, and PopStep methods, the
|
|
// defaultReporter constructs a tree-based representation of the compared value
|
|
// and the result of each comparison (see valueNode).
|
|
//
|
|
// When the String method is called, the FormatDiff method transforms the
|
|
// valueNode tree into a textNode tree, which is a tree-based representation
|
|
// of the textual output (see textNode).
|
|
//
|
|
// Lastly, the textNode.String method produces the final report as a string.
|
|
type defaultReporter struct {
|
|
root *valueNode
|
|
curr *valueNode
|
|
}
|
|
|
|
func (r *defaultReporter) PushStep(ps PathStep) {
|
|
r.curr = r.curr.PushStep(ps)
|
|
if r.root == nil {
|
|
r.root = r.curr
|
|
}
|
|
}
|
|
func (r *defaultReporter) Report(rs Result) {
|
|
r.curr.Report(rs)
|
|
}
|
|
func (r *defaultReporter) PopStep() {
|
|
r.curr = r.curr.PopStep()
|
|
}
|
|
|
|
// String provides a full report of the differences detected as a structured
|
|
// literal in pseudo-Go syntax. String may only be called after the entire tree
|
|
// has been traversed.
|
|
func (r *defaultReporter) String() string {
|
|
assert(r.root != nil && r.curr == nil)
|
|
if r.root.NumDiff == 0 {
|
|
return ""
|
|
}
|
|
ptrs := new(pointerReferences)
|
|
text := formatOptions{}.FormatDiff(r.root, ptrs)
|
|
resolveReferences(text)
|
|
return text.String()
|
|
}
|
|
|
|
func assert(ok bool) {
|
|
if !ok {
|
|
panic("assertion failure")
|
|
}
|
|
}
|