mirror of https://github.com/knative/caching.git
upgrade to latest dependencies (#438)
bumping github.com/google/go-cmp ec71d6d...8fa37b4: > 8fa37b4 Fix reporter verbosity bug (# 253) > dc6435e De-virtualize interfaces for specialized diffing (# 254) > e9947a2 Run tests on Go 1.16 (# 252) > 3a98a11 cmp/cmpopts: use errors.Is with ≥go1.13 in compareErrors (# 251) bumping knative.dev/pkg 4048853...6a33a1a: > 6a33a1a Upgrade a few assorted dependencies (# 2058) Signed-off-by: Knative Automation <automation@knative.team>
This commit is contained in:
parent
4b366c7a9f
commit
a31ce17164
4
go.mod
4
go.mod
|
@ -4,7 +4,7 @@ go 1.15
|
||||||
|
|
||||||
require (
|
require (
|
||||||
github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee // indirect
|
github.com/c2h5oh/datasize v0.0.0-20200112174442-28bbd4740fee // indirect
|
||||||
github.com/google/go-cmp v0.5.4
|
github.com/google/go-cmp v0.5.5
|
||||||
github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39
|
github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39
|
||||||
github.com/influxdata/tdigest v0.0.1 // indirect
|
github.com/influxdata/tdigest v0.0.1 // indirect
|
||||||
github.com/miekg/dns v1.1.29 // indirect
|
github.com/miekg/dns v1.1.29 // indirect
|
||||||
|
@ -18,5 +18,5 @@ require (
|
||||||
k8s.io/code-generator v0.19.7
|
k8s.io/code-generator v0.19.7
|
||||||
k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6
|
k8s.io/kube-openapi v0.0.0-20200805222855-6aeccd4b50c6
|
||||||
knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a
|
knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a
|
||||||
knative.dev/pkg v0.0.0-20210311174826-40488532be3f
|
knative.dev/pkg v0.0.0-20210315160101-6a33a1ab29ac
|
||||||
)
|
)
|
||||||
|
|
18
go.sum
18
go.sum
|
@ -332,12 +332,16 @@ github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
|
||||||
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
|
github.com/google/go-cmp v0.5.4 h1:L8R9j+yAqZuZjsqh/z+F1NCffTKKLShY6zXTItVIZ8M=
|
||||||
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
|
github.com/google/go-cmp v0.5.5 h1:Khx7svrCpmxxtHBq5j2mp/xVjsi8hQMfNLvJFAlrGgU=
|
||||||
|
github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
|
||||||
github.com/google/go-github/v27 v27.0.6/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0=
|
github.com/google/go-github/v27 v27.0.6/go.mod h1:/0Gr8pJ55COkmv+S/yPKCczSkUPIM/LnFyubufRNIS0=
|
||||||
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
github.com/google/go-querystring v1.0.0/go.mod h1:odCYkC5MyYFN7vkCjXpyrEuKhc/BUO6wN/zVPAxq5ck=
|
||||||
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
|
github.com/google/gofuzz v1.0.0 h1:A8PeW59pxE9IoFRqBp37U+mSNaQoZ46F1f0f863XSXw=
|
||||||
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/gofuzz v1.0.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
|
github.com/google/gofuzz v1.1.0 h1:Hsa8mG0dQ46ij8Sl2AYJDUv1oA9/d6Vk+3LG99Oe02g=
|
||||||
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
github.com/google/gofuzz v1.1.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
|
github.com/google/gofuzz v1.2.0 h1:xRy4A+RhZaiKjJ1bPfwQ8sedCA+YS2YcCHW6ec7JMi0=
|
||||||
|
github.com/google/gofuzz v1.2.0/go.mod h1:dBl0BpW6vV/+mYPU4Po3pmUjxk6FQPldtuIdl/M65Eg=
|
||||||
github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39 h1:nkr7S2ETn5pAuBeeoZggV5nXSwOm4nBLz3vscQfA/A8=
|
github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39 h1:nkr7S2ETn5pAuBeeoZggV5nXSwOm4nBLz3vscQfA/A8=
|
||||||
github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39/go.mod h1:qsqn2hxC+vURpyBRygGUuinTO42MFRLcsmQ/P8v94+M=
|
github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39/go.mod h1:qsqn2hxC+vURpyBRygGUuinTO42MFRLcsmQ/P8v94+M=
|
||||||
github.com/google/mako v0.0.0-20190821191249-122f8dcef9e3/go.mod h1:YzLcVlL+NqWnmUEPuhS1LxDDwGO9WNbVlEXaF4IH35g=
|
github.com/google/mako v0.0.0-20190821191249-122f8dcef9e3/go.mod h1:YzLcVlL+NqWnmUEPuhS1LxDDwGO9WNbVlEXaF4IH35g=
|
||||||
|
@ -591,6 +595,8 @@ github.com/prometheus/common v0.7.0/go.mod h1:DjGbpBbp5NYNiECxcL/VnbXCCaQpKd3tt2
|
||||||
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
|
github.com/prometheus/common v0.10.0/go.mod h1:Tlit/dnDKsSWFlCLTWaA1cyBgKHSMdTB80sz/V91rCo=
|
||||||
github.com/prometheus/common v0.15.0 h1:4fgOnadei3EZvgRwxJ7RMpG1k1pOZth5Pc13tyspaKM=
|
github.com/prometheus/common v0.15.0 h1:4fgOnadei3EZvgRwxJ7RMpG1k1pOZth5Pc13tyspaKM=
|
||||||
github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
|
github.com/prometheus/common v0.15.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
|
||||||
|
github.com/prometheus/common v0.19.0 h1:Itb4+NjG9wRdkAWgVucbM/adyIXxEhbw0866e0uZE6A=
|
||||||
|
github.com/prometheus/common v0.19.0/go.mod h1:U+gB1OBLb1lF3O42bTCL+FK18tX9Oar16Clt/msog/s=
|
||||||
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
github.com/prometheus/procfs v0.0.0-20181005140218-185b4288413d/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||||
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
github.com/prometheus/procfs v0.0.0-20190117184657-bf6a532e95b1/go.mod h1:c3At6R/oaqEKCNdg8wHV1ftS6bRYblBhIjjI8uT2IGk=
|
||||||
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
github.com/prometheus/procfs v0.0.0-20190507164030-5867b95ac084/go.mod h1:TjEm7ze935MbeOT/UhFTIMYKhuLP4wbCsTZCD3I8kEA=
|
||||||
|
@ -694,8 +700,8 @@ go.opencensus.io v0.22.4 h1:LYy1Hy3MJdrCdMwwzxA/dRok4ejH+RwNGbuoD9fCjto=
|
||||||
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
go.opencensus.io v0.22.4/go.mod h1:yxeiOL68Rb0Xd1ddK5vPZ/oVn4vY4Ynel7k9FzqtOIw=
|
||||||
go.opencensus.io v0.22.5 h1:dntmOdLpSpHlVqbW5Eay97DelsZHe+55D+xC6i0dDS0=
|
go.opencensus.io v0.22.5 h1:dntmOdLpSpHlVqbW5Eay97DelsZHe+55D+xC6i0dDS0=
|
||||||
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
go.opencensus.io v0.22.5/go.mod h1:5pWMHQbX5EPX2/62yrJeAkowc+lfs/XD7Uxpq3pI6kk=
|
||||||
go.opencensus.io v0.22.6 h1:BdkrbWrzDlV9dnbzoP7sfN+dHheJ4J9JOaYxcUDL+ok=
|
go.opencensus.io v0.23.0 h1:gqCw0LfLxScz8irSi8exQc7fyQ0fKQU/qnC/X8+V/1M=
|
||||||
go.opencensus.io v0.22.6/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
go.opencensus.io v0.23.0/go.mod h1:XItmlyltB5F7CS4xOC1DcqMoFqwtC6OG2xF7mCv7P7E=
|
||||||
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE=
|
||||||
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ=
|
||||||
|
@ -1098,8 +1104,8 @@ google.golang.org/grpc v1.31.0/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM
|
||||||
google.golang.org/grpc v1.31.1 h1:SfXqXS5hkufcdZ/mHtYCh53P2b+92WQq/DZcKLgsFRs=
|
google.golang.org/grpc v1.31.1 h1:SfXqXS5hkufcdZ/mHtYCh53P2b+92WQq/DZcKLgsFRs=
|
||||||
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
google.golang.org/grpc v1.31.1/go.mod h1:N36X2cJ7JwdamYAgDz+s+rVMFjt3numwzf/HckM8pak=
|
||||||
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
google.golang.org/grpc v1.33.2/go.mod h1:JMHMWHQWaTccqQQlmk3MJZS+GWXOdAesneDmEnv2fbc=
|
||||||
google.golang.org/grpc v1.35.0 h1:TwIQcH3es+MojMVojxxfQ3l3OF2KzlRxML2xZq0kRo8=
|
google.golang.org/grpc v1.36.0 h1:o1bcQ6imQMIOpdrO3SWf2z5RV72WbDwdXuK0MDlc8As=
|
||||||
google.golang.org/grpc v1.35.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU=
|
||||||
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8=
|
||||||
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0=
|
||||||
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM=
|
||||||
|
@ -1188,8 +1194,8 @@ k8s.io/utils v0.0.0-20200729134348-d5654de09c73 h1:uJmqzgNWG7XyClnU/mLPBWwfKKF1K
|
||||||
k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
|
k8s.io/utils v0.0.0-20200729134348-d5654de09c73/go.mod h1:jPW/WVKK9YHAvNhRxK0md/EJ228hCsBRufyofKtW8HA=
|
||||||
knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a h1:0UGKyvFzY1Czu0lP9+0IrJhwtKe2oNLI2GYa7MIQ5c0=
|
knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a h1:0UGKyvFzY1Czu0lP9+0IrJhwtKe2oNLI2GYa7MIQ5c0=
|
||||||
knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
|
knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a/go.mod h1:PHt8x8yX5Z9pPquBEfIj0X66f8iWkWfR0S/sarACJrI=
|
||||||
knative.dev/pkg v0.0.0-20210311174826-40488532be3f h1:WBgC84Ldkyvt+25osB1pfrNXH9LKoXvr3BptANZWvIE=
|
knative.dev/pkg v0.0.0-20210315160101-6a33a1ab29ac h1:aGbaOcyNqxnvvujRtSMfkwehPER3TTsAw5mgCVqYZ08=
|
||||||
knative.dev/pkg v0.0.0-20210311174826-40488532be3f/go.mod h1:pn/vClSL/iCW40TlFR91EhtmMmsyPQR2V2LavDAOOMs=
|
knative.dev/pkg v0.0.0-20210315160101-6a33a1ab29ac/go.mod h1:7swdJzGy7U6iq8538vt2yFsZJqmnSAxMFexWK9Ktyes=
|
||||||
pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
|
pgregory.net/rapid v0.3.3/go.mod h1:UYpPVyjFHzYBGHIxLFoupi8vwk6rXNzRY9OMvVxFIOU=
|
||||||
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8=
|
||||||
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0=
|
||||||
|
|
|
@ -79,7 +79,7 @@ func (opts formatOptions) verbosity() uint {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const maxVerbosityPreset = 3
|
const maxVerbosityPreset = 6
|
||||||
|
|
||||||
// verbosityPreset modifies the verbosity settings given an index
|
// verbosityPreset modifies the verbosity settings given an index
|
||||||
// between 0 and maxVerbosityPreset, inclusive.
|
// between 0 and maxVerbosityPreset, inclusive.
|
||||||
|
@ -100,7 +100,7 @@ func verbosityPreset(opts formatOptions, i int) formatOptions {
|
||||||
func (opts formatOptions) FormatDiff(v *valueNode, ptrs *pointerReferences) (out textNode) {
|
func (opts formatOptions) FormatDiff(v *valueNode, ptrs *pointerReferences) (out textNode) {
|
||||||
if opts.DiffMode == diffIdentical {
|
if opts.DiffMode == diffIdentical {
|
||||||
opts = opts.WithVerbosity(1)
|
opts = opts.WithVerbosity(1)
|
||||||
} else {
|
} else if opts.verbosity() < 3 {
|
||||||
opts = opts.WithVerbosity(3)
|
opts = opts.WithVerbosity(3)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -26,8 +26,6 @@ func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
|
||||||
return false // No differences detected
|
return false // No differences detected
|
||||||
case !v.ValueX.IsValid() || !v.ValueY.IsValid():
|
case !v.ValueX.IsValid() || !v.ValueY.IsValid():
|
||||||
return false // Both values must be valid
|
return false // Both values must be valid
|
||||||
case v.Type.Kind() == reflect.Slice && (v.ValueX.Len() == 0 || v.ValueY.Len() == 0):
|
|
||||||
return false // Both slice values have to be non-empty
|
|
||||||
case v.NumIgnored > 0:
|
case v.NumIgnored > 0:
|
||||||
return false // Some ignore option was used
|
return false // Some ignore option was used
|
||||||
case v.NumTransformed > 0:
|
case v.NumTransformed > 0:
|
||||||
|
@ -45,7 +43,16 @@ func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
switch t := v.Type; t.Kind() {
|
// Check whether this is an interface with the same concrete types.
|
||||||
|
t := v.Type
|
||||||
|
vx, vy := v.ValueX, v.ValueY
|
||||||
|
if t.Kind() == reflect.Interface && !vx.IsNil() && !vy.IsNil() && vx.Elem().Type() == vy.Elem().Type() {
|
||||||
|
vx, vy = vx.Elem(), vy.Elem()
|
||||||
|
t = vx.Type()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Check whether we provide specialized diffing for this type.
|
||||||
|
switch t.Kind() {
|
||||||
case reflect.String:
|
case reflect.String:
|
||||||
case reflect.Array, reflect.Slice:
|
case reflect.Array, reflect.Slice:
|
||||||
// Only slices of primitive types have specialized handling.
|
// Only slices of primitive types have specialized handling.
|
||||||
|
@ -57,6 +64,11 @@ func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Both slice values have to be non-empty.
|
||||||
|
if t.Kind() == reflect.Slice && (vx.Len() == 0 || vy.Len() == 0) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
|
||||||
// If a sufficient number of elements already differ,
|
// If a sufficient number of elements already differ,
|
||||||
// use specialized formatting even if length requirement is not met.
|
// use specialized formatting even if length requirement is not met.
|
||||||
if v.NumDiff > v.NumSame {
|
if v.NumDiff > v.NumSame {
|
||||||
|
@ -68,7 +80,7 @@ func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
|
||||||
|
|
||||||
// Use specialized string diffing for longer slices or strings.
|
// Use specialized string diffing for longer slices or strings.
|
||||||
const minLength = 64
|
const minLength = 64
|
||||||
return v.ValueX.Len() >= minLength && v.ValueY.Len() >= minLength
|
return vx.Len() >= minLength && vy.Len() >= minLength
|
||||||
}
|
}
|
||||||
|
|
||||||
// FormatDiffSlice prints a diff for the slices (or strings) represented by v.
|
// FormatDiffSlice prints a diff for the slices (or strings) represented by v.
|
||||||
|
@ -77,6 +89,11 @@ func (opts formatOptions) CanFormatDiffSlice(v *valueNode) bool {
|
||||||
func (opts formatOptions) FormatDiffSlice(v *valueNode) textNode {
|
func (opts formatOptions) FormatDiffSlice(v *valueNode) textNode {
|
||||||
assert(opts.DiffMode == diffUnknown)
|
assert(opts.DiffMode == diffUnknown)
|
||||||
t, vx, vy := v.Type, v.ValueX, v.ValueY
|
t, vx, vy := v.Type, v.ValueX, v.ValueY
|
||||||
|
if t.Kind() == reflect.Interface {
|
||||||
|
vx, vy = vx.Elem(), vy.Elem()
|
||||||
|
t = vx.Type()
|
||||||
|
opts = opts.WithTypeMode(emitType)
|
||||||
|
}
|
||||||
|
|
||||||
// Auto-detect the type of the data.
|
// Auto-detect the type of the data.
|
||||||
var isLinedText, isText, isBinary bool
|
var isLinedText, isText, isBinary bool
|
||||||
|
|
|
@ -1,13 +1,10 @@
|
||||||
language: go
|
language: go
|
||||||
|
|
||||||
go:
|
go:
|
||||||
- 1.4
|
- 1.11.x
|
||||||
- 1.3
|
- 1.12.x
|
||||||
- 1.2
|
- 1.13.x
|
||||||
- tip
|
- master
|
||||||
|
|
||||||
install:
|
|
||||||
- if ! go get code.google.com/p/go.tools/cmd/cover; then go get golang.org/x/tools/cmd/cover; fi
|
|
||||||
|
|
||||||
script:
|
script:
|
||||||
- go test -cover
|
- go test -cover
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
# How to contribute #
|
# How to contribute #
|
||||||
|
|
||||||
We'd love to accept your patches and contributions to this project. There are
|
We'd love to accept your patches and contributions to this project. There are
|
||||||
a just a few small guidelines you need to follow.
|
just a few small guidelines you need to follow.
|
||||||
|
|
||||||
|
|
||||||
## Contributor License Agreement ##
|
## Contributor License Agreement ##
|
||||||
|
|
|
@ -68,4 +68,22 @@ f.Fuzz(&myObject) // Type will correspond to whether A or B info is set.
|
||||||
|
|
||||||
See more examples in ```example_test.go```.
|
See more examples in ```example_test.go```.
|
||||||
|
|
||||||
|
You can use this library for easier [go-fuzz](https://github.com/dvyukov/go-fuzz)ing.
|
||||||
|
go-fuzz provides the user a byte-slice, which should be converted to different inputs
|
||||||
|
for the tested function. This library can help convert the byte slice. Consider for
|
||||||
|
example a fuzz test for a the function `mypackage.MyFunc` that takes an int arguments:
|
||||||
|
```go
|
||||||
|
// +build gofuzz
|
||||||
|
package mypackage
|
||||||
|
|
||||||
|
import fuzz "github.com/google/gofuzz"
|
||||||
|
|
||||||
|
func Fuzz(data []byte) int {
|
||||||
|
var i int
|
||||||
|
fuzz.NewFromGoFuzz(data).Fuzz(&i)
|
||||||
|
MyFunc(i)
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
Happy testing!
|
Happy testing!
|
||||||
|
|
|
@ -0,0 +1,81 @@
|
||||||
|
/*
|
||||||
|
Copyright 2014 Google Inc. All rights reserved.
|
||||||
|
|
||||||
|
Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
you may not use this file except in compliance with the License.
|
||||||
|
You may obtain a copy of the License at
|
||||||
|
|
||||||
|
http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
|
||||||
|
Unless required by applicable law or agreed to in writing, software
|
||||||
|
distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
See the License for the specific language governing permissions and
|
||||||
|
limitations under the License.
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Package bytesource provides a rand.Source64 that is determined by a slice of bytes.
|
||||||
|
package bytesource
|
||||||
|
|
||||||
|
import (
|
||||||
|
"bytes"
|
||||||
|
"encoding/binary"
|
||||||
|
"io"
|
||||||
|
"math/rand"
|
||||||
|
)
|
||||||
|
|
||||||
|
// ByteSource implements rand.Source64 determined by a slice of bytes. The random numbers are
|
||||||
|
// generated from each 8 bytes in the slice, until the last bytes are consumed, from which a
|
||||||
|
// fallback pseudo random source is created in case more random numbers are required.
|
||||||
|
// It also exposes a `bytes.Reader` API, which lets callers consume the bytes directly.
|
||||||
|
type ByteSource struct {
|
||||||
|
*bytes.Reader
|
||||||
|
fallback rand.Source
|
||||||
|
}
|
||||||
|
|
||||||
|
// New returns a new ByteSource from a given slice of bytes.
|
||||||
|
func New(input []byte) *ByteSource {
|
||||||
|
s := &ByteSource{
|
||||||
|
Reader: bytes.NewReader(input),
|
||||||
|
fallback: rand.NewSource(0),
|
||||||
|
}
|
||||||
|
if len(input) > 0 {
|
||||||
|
s.fallback = rand.NewSource(int64(s.consumeUint64()))
|
||||||
|
}
|
||||||
|
return s
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ByteSource) Uint64() uint64 {
|
||||||
|
// Return from input if it was not exhausted.
|
||||||
|
if s.Len() > 0 {
|
||||||
|
return s.consumeUint64()
|
||||||
|
}
|
||||||
|
|
||||||
|
// Input was exhausted, return random number from fallback (in this case fallback should not be
|
||||||
|
// nil). Try first having a Uint64 output (Should work in current rand implementation),
|
||||||
|
// otherwise return a conversion of Int63.
|
||||||
|
if s64, ok := s.fallback.(rand.Source64); ok {
|
||||||
|
return s64.Uint64()
|
||||||
|
}
|
||||||
|
return uint64(s.fallback.Int63())
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ByteSource) Int63() int64 {
|
||||||
|
return int64(s.Uint64() >> 1)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (s *ByteSource) Seed(seed int64) {
|
||||||
|
s.fallback = rand.NewSource(seed)
|
||||||
|
s.Reader = bytes.NewReader(nil)
|
||||||
|
}
|
||||||
|
|
||||||
|
// consumeUint64 reads 8 bytes from the input and convert them to a uint64. It assumes that the the
|
||||||
|
// bytes reader is not empty.
|
||||||
|
func (s *ByteSource) consumeUint64() uint64 {
|
||||||
|
var bytes [8]byte
|
||||||
|
_, err := s.Read(bytes[:])
|
||||||
|
if err != nil && err != io.EOF {
|
||||||
|
panic("failed reading source") // Should not happen.
|
||||||
|
}
|
||||||
|
return binary.BigEndian.Uint64(bytes[:])
|
||||||
|
}
|
|
@ -22,6 +22,9 @@ import (
|
||||||
"reflect"
|
"reflect"
|
||||||
"regexp"
|
"regexp"
|
||||||
"time"
|
"time"
|
||||||
|
|
||||||
|
"github.com/google/gofuzz/bytesource"
|
||||||
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
// fuzzFuncMap is a map from a type to a fuzzFunc that handles that type.
|
// fuzzFuncMap is a map from a type to a fuzzFunc that handles that type.
|
||||||
|
@ -61,6 +64,34 @@ func NewWithSeed(seed int64) *Fuzzer {
|
||||||
return f
|
return f
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// NewFromGoFuzz is a helper function that enables using gofuzz (this
|
||||||
|
// project) with go-fuzz (https://github.com/dvyukov/go-fuzz) for continuous
|
||||||
|
// fuzzing. Essentially, it enables translating the fuzzing bytes from
|
||||||
|
// go-fuzz to any Go object using this library.
|
||||||
|
//
|
||||||
|
// This implementation promises a constant translation from a given slice of
|
||||||
|
// bytes to the fuzzed objects. This promise will remain over future
|
||||||
|
// versions of Go and of this library.
|
||||||
|
//
|
||||||
|
// Note: the returned Fuzzer should not be shared between multiple goroutines,
|
||||||
|
// as its deterministic output will no longer be available.
|
||||||
|
//
|
||||||
|
// Example: use go-fuzz to test the function `MyFunc(int)` in the package
|
||||||
|
// `mypackage`. Add the file: "mypacakge_fuzz.go" with the content:
|
||||||
|
//
|
||||||
|
// // +build gofuzz
|
||||||
|
// package mypacakge
|
||||||
|
// import fuzz "github.com/google/gofuzz"
|
||||||
|
// func Fuzz(data []byte) int {
|
||||||
|
// var i int
|
||||||
|
// fuzz.NewFromGoFuzz(data).Fuzz(&i)
|
||||||
|
// MyFunc(i)
|
||||||
|
// return 0
|
||||||
|
// }
|
||||||
|
func NewFromGoFuzz(data []byte) *Fuzzer {
|
||||||
|
return New().RandSource(bytesource.New(data))
|
||||||
|
}
|
||||||
|
|
||||||
// Funcs adds each entry in fuzzFuncs as a custom fuzzing function.
|
// Funcs adds each entry in fuzzFuncs as a custom fuzzing function.
|
||||||
//
|
//
|
||||||
// Each entry in fuzzFuncs must be a function taking two parameters.
|
// Each entry in fuzzFuncs must be a function taking two parameters.
|
||||||
|
@ -141,7 +172,7 @@ func (f *Fuzzer) genElementCount() int {
|
||||||
}
|
}
|
||||||
|
|
||||||
func (f *Fuzzer) genShouldFill() bool {
|
func (f *Fuzzer) genShouldFill() bool {
|
||||||
return f.r.Float64() > f.nilChance
|
return f.r.Float64() >= f.nilChance
|
||||||
}
|
}
|
||||||
|
|
||||||
// MaxDepth sets the maximum number of recursive fuzz calls that will be made
|
// MaxDepth sets the maximum number of recursive fuzz calls that will be made
|
||||||
|
@ -240,6 +271,7 @@ func (fc *fuzzerContext) doFuzz(v reflect.Value, flags uint64) {
|
||||||
fn(v, fc.fuzzer.r)
|
fn(v, fc.fuzzer.r)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
switch v.Kind() {
|
switch v.Kind() {
|
||||||
case reflect.Map:
|
case reflect.Map:
|
||||||
if fc.fuzzer.genShouldFill() {
|
if fc.fuzzer.genShouldFill() {
|
||||||
|
@ -450,10 +482,10 @@ var fillFuncMap = map[reflect.Kind]func(reflect.Value, *rand.Rand){
|
||||||
v.SetFloat(r.Float64())
|
v.SetFloat(r.Float64())
|
||||||
},
|
},
|
||||||
reflect.Complex64: func(v reflect.Value, r *rand.Rand) {
|
reflect.Complex64: func(v reflect.Value, r *rand.Rand) {
|
||||||
panic("unimplemented")
|
v.SetComplex(complex128(complex(r.Float32(), r.Float32())))
|
||||||
},
|
},
|
||||||
reflect.Complex128: func(v reflect.Value, r *rand.Rand) {
|
reflect.Complex128: func(v reflect.Value, r *rand.Rand) {
|
||||||
panic("unimplemented")
|
v.SetComplex(complex(r.Float64(), r.Float64()))
|
||||||
},
|
},
|
||||||
reflect.String: func(v reflect.Value, r *rand.Rand) {
|
reflect.String: func(v reflect.Value, r *rand.Rand) {
|
||||||
v.SetString(randString(r))
|
v.SetString(randString(r))
|
||||||
|
@ -465,38 +497,105 @@ var fillFuncMap = map[reflect.Kind]func(reflect.Value, *rand.Rand){
|
||||||
|
|
||||||
// randBool returns true or false randomly.
|
// randBool returns true or false randomly.
|
||||||
func randBool(r *rand.Rand) bool {
|
func randBool(r *rand.Rand) bool {
|
||||||
if r.Int()&1 == 1 {
|
return r.Int31()&(1<<30) == 0
|
||||||
return true
|
|
||||||
}
|
|
||||||
return false
|
|
||||||
}
|
}
|
||||||
|
|
||||||
type charRange struct {
|
type int63nPicker interface {
|
||||||
first, last rune
|
Int63n(int64) int64
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UnicodeRange describes a sequential range of unicode characters.
|
||||||
|
// Last must be numerically greater than First.
|
||||||
|
type UnicodeRange struct {
|
||||||
|
First, Last rune
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnicodeRanges describes an arbitrary number of sequential ranges of unicode characters.
|
||||||
|
// To be useful, each range must have at least one character (First <= Last) and
|
||||||
|
// there must be at least one range.
|
||||||
|
type UnicodeRanges []UnicodeRange
|
||||||
|
|
||||||
// choose returns a random unicode character from the given range, using the
|
// choose returns a random unicode character from the given range, using the
|
||||||
// given randomness source.
|
// given randomness source.
|
||||||
func (r *charRange) choose(rand *rand.Rand) rune {
|
func (ur UnicodeRange) choose(r int63nPicker) rune {
|
||||||
count := int64(r.last - r.first)
|
count := int64(ur.Last - ur.First + 1)
|
||||||
return r.first + rune(rand.Int63n(count))
|
return ur.First + rune(r.Int63n(count))
|
||||||
}
|
}
|
||||||
|
|
||||||
var unicodeRanges = []charRange{
|
// CustomStringFuzzFunc constructs a FuzzFunc which produces random strings.
|
||||||
|
// Each character is selected from the range ur. If there are no characters
|
||||||
|
// in the range (cr.Last < cr.First), this will panic.
|
||||||
|
func (ur UnicodeRange) CustomStringFuzzFunc() func(s *string, c Continue) {
|
||||||
|
ur.check()
|
||||||
|
return func(s *string, c Continue) {
|
||||||
|
*s = ur.randString(c.Rand)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// check is a function that used to check whether the first of ur(UnicodeRange)
|
||||||
|
// is greater than the last one.
|
||||||
|
func (ur UnicodeRange) check() {
|
||||||
|
if ur.Last < ur.First {
|
||||||
|
panic("The last encoding must be greater than the first one.")
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// randString of UnicodeRange makes a random string up to 20 characters long.
|
||||||
|
// Each character is selected form ur(UnicodeRange).
|
||||||
|
func (ur UnicodeRange) randString(r *rand.Rand) string {
|
||||||
|
n := r.Intn(20)
|
||||||
|
sb := strings.Builder{}
|
||||||
|
sb.Grow(n)
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
sb.WriteRune(ur.choose(r))
|
||||||
|
}
|
||||||
|
return sb.String()
|
||||||
|
}
|
||||||
|
|
||||||
|
// defaultUnicodeRanges sets a default unicode range when user do not set
|
||||||
|
// CustomStringFuzzFunc() but wants fuzz string.
|
||||||
|
var defaultUnicodeRanges = UnicodeRanges{
|
||||||
{' ', '~'}, // ASCII characters
|
{' ', '~'}, // ASCII characters
|
||||||
{'\u00a0', '\u02af'}, // Multi-byte encoded characters
|
{'\u00a0', '\u02af'}, // Multi-byte encoded characters
|
||||||
{'\u4e00', '\u9fff'}, // Common CJK (even longer encodings)
|
{'\u4e00', '\u9fff'}, // Common CJK (even longer encodings)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// CustomStringFuzzFunc constructs a FuzzFunc which produces random strings.
|
||||||
|
// Each character is selected from one of the ranges of ur(UnicodeRanges).
|
||||||
|
// Each range has an equal probability of being chosen. If there are no ranges,
|
||||||
|
// or a selected range has no characters (.Last < .First), this will panic.
|
||||||
|
// Do not modify any of the ranges in ur after calling this function.
|
||||||
|
func (ur UnicodeRanges) CustomStringFuzzFunc() func(s *string, c Continue) {
|
||||||
|
// Check unicode ranges slice is empty.
|
||||||
|
if len(ur) == 0 {
|
||||||
|
panic("UnicodeRanges is empty.")
|
||||||
|
}
|
||||||
|
// if not empty, each range should be checked.
|
||||||
|
for i := range ur {
|
||||||
|
ur[i].check()
|
||||||
|
}
|
||||||
|
return func(s *string, c Continue) {
|
||||||
|
*s = ur.randString(c.Rand)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// randString of UnicodeRanges makes a random string up to 20 characters long.
|
||||||
|
// Each character is selected form one of the ranges of ur(UnicodeRanges),
|
||||||
|
// and each range has an equal probability of being chosen.
|
||||||
|
func (ur UnicodeRanges) randString(r *rand.Rand) string {
|
||||||
|
n := r.Intn(20)
|
||||||
|
sb := strings.Builder{}
|
||||||
|
sb.Grow(n)
|
||||||
|
for i := 0; i < n; i++ {
|
||||||
|
sb.WriteRune(ur[r.Intn(len(ur))].choose(r))
|
||||||
|
}
|
||||||
|
return sb.String()
|
||||||
|
}
|
||||||
|
|
||||||
// randString makes a random string up to 20 characters long. The returned string
|
// randString makes a random string up to 20 characters long. The returned string
|
||||||
// may include a variety of (valid) UTF-8 encodings.
|
// may include a variety of (valid) UTF-8 encodings.
|
||||||
func randString(r *rand.Rand) string {
|
func randString(r *rand.Rand) string {
|
||||||
n := r.Intn(20)
|
return defaultUnicodeRanges.randString(r)
|
||||||
runes := make([]rune, n)
|
|
||||||
for i := range runes {
|
|
||||||
runes[i] = unicodeRanges[r.Intn(len(unicodeRanges))].choose(r)
|
|
||||||
}
|
|
||||||
return string(runes)
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// randUint64 makes random 64 bit numbers.
|
// randUint64 makes random 64 bit numbers.
|
||||||
|
|
|
@ -14,6 +14,7 @@
|
||||||
package model
|
package model
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"encoding/json"
|
||||||
"fmt"
|
"fmt"
|
||||||
"math"
|
"math"
|
||||||
"regexp"
|
"regexp"
|
||||||
|
@ -254,6 +255,37 @@ func (d Duration) String() string {
|
||||||
return r
|
return r
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// MarshalJSON implements the json.Marshaler interface.
|
||||||
|
func (d Duration) MarshalJSON() ([]byte, error) {
|
||||||
|
return json.Marshal(d.String())
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalJSON implements the json.Unmarshaler interface.
|
||||||
|
func (d *Duration) UnmarshalJSON(bytes []byte) error {
|
||||||
|
var s string
|
||||||
|
if err := json.Unmarshal(bytes, &s); err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
dur, err := ParseDuration(s)
|
||||||
|
if err != nil {
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
*d = dur
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// MarshalText implements the encoding.TextMarshaler interface.
|
||||||
|
func (d *Duration) MarshalText() ([]byte, error) {
|
||||||
|
return []byte(d.String()), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// UnmarshalText implements the encoding.TextUnmarshaler interface.
|
||||||
|
func (d *Duration) UnmarshalText(text []byte) error {
|
||||||
|
var err error
|
||||||
|
*d, err = ParseDuration(string(text))
|
||||||
|
return err
|
||||||
|
}
|
||||||
|
|
||||||
// MarshalYAML implements the yaml.Marshaler interface.
|
// MarshalYAML implements the yaml.Marshaler interface.
|
||||||
func (d Duration) MarshalYAML() (interface{}, error) {
|
func (d Duration) MarshalYAML() (interface{}, error) {
|
||||||
return d.String(), nil
|
return d.String(), nil
|
||||||
|
|
1
vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go
generated
vendored
1
vendor/google.golang.org/grpc/balancer/grpclb/grpc_lb_v1/load_balancer_grpc.pb.go
generated
vendored
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
// This is a compile-time assertion to ensure that this generated file
|
// This is a compile-time assertion to ensure that this generated file
|
||||||
// is compatible with the grpc package it is being compiled against.
|
// is compatible with the grpc package it is being compiled against.
|
||||||
|
// Requires gRPC-Go v1.32.0 or later.
|
||||||
const _ = grpc.SupportPackageIsVersion7
|
const _ = grpc.SupportPackageIsVersion7
|
||||||
|
|
||||||
// LoadBalancerClient is the client API for LoadBalancer service.
|
// LoadBalancerClient is the client API for LoadBalancer service.
|
||||||
|
|
|
@ -11,6 +11,7 @@ import (
|
||||||
|
|
||||||
// This is a compile-time assertion to ensure that this generated file
|
// This is a compile-time assertion to ensure that this generated file
|
||||||
// is compatible with the grpc package it is being compiled against.
|
// is compatible with the grpc package it is being compiled against.
|
||||||
|
// Requires gRPC-Go v1.32.0 or later.
|
||||||
const _ = grpc.SupportPackageIsVersion7
|
const _ = grpc.SupportPackageIsVersion7
|
||||||
|
|
||||||
// HandshakerServiceClient is the client API for HandshakerService service.
|
// HandshakerServiceClient is the client API for HandshakerService service.
|
||||||
|
|
|
@ -21,6 +21,8 @@
|
||||||
package proto
|
package proto
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"fmt"
|
||||||
|
|
||||||
"github.com/golang/protobuf/proto"
|
"github.com/golang/protobuf/proto"
|
||||||
"google.golang.org/grpc/encoding"
|
"google.golang.org/grpc/encoding"
|
||||||
)
|
)
|
||||||
|
@ -36,11 +38,19 @@ func init() {
|
||||||
type codec struct{}
|
type codec struct{}
|
||||||
|
|
||||||
func (codec) Marshal(v interface{}) ([]byte, error) {
|
func (codec) Marshal(v interface{}) ([]byte, error) {
|
||||||
return proto.Marshal(v.(proto.Message))
|
vv, ok := v.(proto.Message)
|
||||||
|
if !ok {
|
||||||
|
return nil, fmt.Errorf("failed to marshal, message is %T, want proto.Message", v)
|
||||||
|
}
|
||||||
|
return proto.Marshal(vv)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec) Unmarshal(data []byte, v interface{}) error {
|
func (codec) Unmarshal(data []byte, v interface{}) error {
|
||||||
return proto.Unmarshal(data, v.(proto.Message))
|
vv, ok := v.(proto.Message)
|
||||||
|
if !ok {
|
||||||
|
return fmt.Errorf("failed to unmarshal, message is %T, want proto.Message", v)
|
||||||
|
}
|
||||||
|
return proto.Unmarshal(data, vv)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (codec) Name() string {
|
func (codec) Name() string {
|
||||||
|
|
|
@ -40,6 +40,9 @@ echo "go install cmd/protoc-gen-go-grpc"
|
||||||
echo "git clone https://github.com/grpc/grpc-proto"
|
echo "git clone https://github.com/grpc/grpc-proto"
|
||||||
git clone --quiet https://github.com/grpc/grpc-proto ${WORKDIR}/grpc-proto
|
git clone --quiet https://github.com/grpc/grpc-proto ${WORKDIR}/grpc-proto
|
||||||
|
|
||||||
|
echo "git clone https://github.com/protocolbuffers/protobuf"
|
||||||
|
git clone --quiet https://github.com/protocolbuffers/protobuf ${WORKDIR}/protobuf
|
||||||
|
|
||||||
# Pull in code.proto as a proto dependency
|
# Pull in code.proto as a proto dependency
|
||||||
mkdir -p ${WORKDIR}/googleapis/google/rpc
|
mkdir -p ${WORKDIR}/googleapis/google/rpc
|
||||||
echo "curl https://raw.githubusercontent.com/googleapis/googleapis/master/google/rpc/code.proto"
|
echo "curl https://raw.githubusercontent.com/googleapis/googleapis/master/google/rpc/code.proto"
|
||||||
|
@ -87,6 +90,7 @@ for src in ${SOURCES[@]}; do
|
||||||
-I"." \
|
-I"." \
|
||||||
-I${WORKDIR}/grpc-proto \
|
-I${WORKDIR}/grpc-proto \
|
||||||
-I${WORKDIR}/googleapis \
|
-I${WORKDIR}/googleapis \
|
||||||
|
-I${WORKDIR}/protobuf/src \
|
||||||
-I${WORKDIR}/istio \
|
-I${WORKDIR}/istio \
|
||||||
${src}
|
${src}
|
||||||
done
|
done
|
||||||
|
@ -97,6 +101,7 @@ for src in ${LEGACY_SOURCES[@]}; do
|
||||||
-I"." \
|
-I"." \
|
||||||
-I${WORKDIR}/grpc-proto \
|
-I${WORKDIR}/grpc-proto \
|
||||||
-I${WORKDIR}/googleapis \
|
-I${WORKDIR}/googleapis \
|
||||||
|
-I${WORKDIR}/protobuf/src \
|
||||||
-I${WORKDIR}/istio \
|
-I${WORKDIR}/istio \
|
||||||
${src}
|
${src}
|
||||||
done
|
done
|
||||||
|
|
|
@ -888,8 +888,7 @@ type channelzData struct {
|
||||||
// buffer files to ensure compatibility with the gRPC version used. The latest
|
// buffer files to ensure compatibility with the gRPC version used. The latest
|
||||||
// support package version is 7.
|
// support package version is 7.
|
||||||
//
|
//
|
||||||
// Older versions are kept for compatibility. They may be removed if
|
// Older versions are kept for compatibility.
|
||||||
// compatibility cannot be maintained.
|
|
||||||
//
|
//
|
||||||
// These constants should not be referenced from any other code.
|
// These constants should not be referenced from any other code.
|
||||||
const (
|
const (
|
||||||
|
|
|
@ -73,9 +73,11 @@ func FromProto(s *spb.Status) *Status {
|
||||||
return status.FromProto(s)
|
return status.FromProto(s)
|
||||||
}
|
}
|
||||||
|
|
||||||
// FromError returns a Status representing err if it was produced from this
|
// FromError returns a Status representing err if it was produced by this
|
||||||
// package or has a method `GRPCStatus() *Status`. Otherwise, ok is false and a
|
// package or has a method `GRPCStatus() *Status`.
|
||||||
// Status is returned with codes.Unknown and the original error message.
|
// If err is nil, a Status is returned with codes.OK and no message.
|
||||||
|
// Otherwise, ok is false and a Status is returned with codes.Unknown and
|
||||||
|
// the original error message.
|
||||||
func FromError(err error) (s *Status, ok bool) {
|
func FromError(err error) (s *Status, ok bool) {
|
||||||
if err == nil {
|
if err == nil {
|
||||||
return nil, true
|
return nil, true
|
||||||
|
|
|
@ -19,4 +19,4 @@
|
||||||
package grpc
|
package grpc
|
||||||
|
|
||||||
// Version is the current grpc version.
|
// Version is the current grpc version.
|
||||||
const Version = "1.35.0"
|
const Version = "1.36.0"
|
||||||
|
|
|
@ -105,15 +105,16 @@ github.com/golang/protobuf/ptypes/any
|
||||||
github.com/golang/protobuf/ptypes/duration
|
github.com/golang/protobuf/ptypes/duration
|
||||||
github.com/golang/protobuf/ptypes/timestamp
|
github.com/golang/protobuf/ptypes/timestamp
|
||||||
github.com/golang/protobuf/ptypes/wrappers
|
github.com/golang/protobuf/ptypes/wrappers
|
||||||
# github.com/google/go-cmp v0.5.4
|
# github.com/google/go-cmp v0.5.5
|
||||||
## explicit
|
## explicit
|
||||||
github.com/google/go-cmp/cmp
|
github.com/google/go-cmp/cmp
|
||||||
github.com/google/go-cmp/cmp/internal/diff
|
github.com/google/go-cmp/cmp/internal/diff
|
||||||
github.com/google/go-cmp/cmp/internal/flags
|
github.com/google/go-cmp/cmp/internal/flags
|
||||||
github.com/google/go-cmp/cmp/internal/function
|
github.com/google/go-cmp/cmp/internal/function
|
||||||
github.com/google/go-cmp/cmp/internal/value
|
github.com/google/go-cmp/cmp/internal/value
|
||||||
# github.com/google/gofuzz v1.1.0
|
# github.com/google/gofuzz v1.2.0
|
||||||
github.com/google/gofuzz
|
github.com/google/gofuzz
|
||||||
|
github.com/google/gofuzz/bytesource
|
||||||
# github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39
|
# github.com/google/licenseclassifier v0.0.0-20200708223521-3d09a0ea2f39
|
||||||
## explicit
|
## explicit
|
||||||
github.com/google/licenseclassifier
|
github.com/google/licenseclassifier
|
||||||
|
@ -170,7 +171,7 @@ github.com/prometheus/client_golang/prometheus/internal
|
||||||
github.com/prometheus/client_golang/prometheus/promhttp
|
github.com/prometheus/client_golang/prometheus/promhttp
|
||||||
# github.com/prometheus/client_model v0.2.0
|
# github.com/prometheus/client_model v0.2.0
|
||||||
github.com/prometheus/client_model/go
|
github.com/prometheus/client_model/go
|
||||||
# github.com/prometheus/common v0.15.0
|
# github.com/prometheus/common v0.19.0
|
||||||
github.com/prometheus/common/expfmt
|
github.com/prometheus/common/expfmt
|
||||||
github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
|
github.com/prometheus/common/internal/bitbucket.org/ww/goautoneg
|
||||||
github.com/prometheus/common/log
|
github.com/prometheus/common/log
|
||||||
|
@ -200,7 +201,7 @@ github.com/tsenart/vegeta/internal/resolver
|
||||||
github.com/tsenart/vegeta/lib
|
github.com/tsenart/vegeta/lib
|
||||||
github.com/tsenart/vegeta/lib/lttb
|
github.com/tsenart/vegeta/lib/lttb
|
||||||
github.com/tsenart/vegeta/lib/plot
|
github.com/tsenart/vegeta/lib/plot
|
||||||
# go.opencensus.io v0.22.6
|
# go.opencensus.io v0.23.0
|
||||||
go.opencensus.io
|
go.opencensus.io
|
||||||
go.opencensus.io/internal
|
go.opencensus.io/internal
|
||||||
go.opencensus.io/internal/tagencoding
|
go.opencensus.io/internal/tagencoding
|
||||||
|
@ -322,7 +323,7 @@ google.golang.org/genproto/googleapis/monitoring/v3
|
||||||
google.golang.org/genproto/googleapis/rpc/status
|
google.golang.org/genproto/googleapis/rpc/status
|
||||||
google.golang.org/genproto/googleapis/type/calendarperiod
|
google.golang.org/genproto/googleapis/type/calendarperiod
|
||||||
google.golang.org/genproto/protobuf/field_mask
|
google.golang.org/genproto/protobuf/field_mask
|
||||||
# google.golang.org/grpc v1.35.0
|
# google.golang.org/grpc v1.36.0
|
||||||
google.golang.org/grpc
|
google.golang.org/grpc
|
||||||
google.golang.org/grpc/attributes
|
google.golang.org/grpc/attributes
|
||||||
google.golang.org/grpc/backoff
|
google.golang.org/grpc/backoff
|
||||||
|
@ -658,7 +659,7 @@ k8s.io/utils/trace
|
||||||
# knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a
|
# knative.dev/hack v0.0.0-20210309141825-9b73a256fd9a
|
||||||
## explicit
|
## explicit
|
||||||
knative.dev/hack
|
knative.dev/hack
|
||||||
# knative.dev/pkg v0.0.0-20210311174826-40488532be3f
|
# knative.dev/pkg v0.0.0-20210315160101-6a33a1ab29ac
|
||||||
## explicit
|
## explicit
|
||||||
knative.dev/pkg/apis
|
knative.dev/pkg/apis
|
||||||
knative.dev/pkg/apis/duck
|
knative.dev/pkg/apis/duck
|
||||||
|
|
Loading…
Reference in New Issue