123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135 |
- /*
- *
- * Copyright 2017 gRPC authors.
- *
- * 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 primitives_test
- import (
- "strconv"
- "testing"
- "google.golang.org/grpc/codes"
- )
- type codeBench uint32
- const (
- OK codeBench = iota
- Canceled
- Unknown
- InvalidArgument
- DeadlineExceeded
- NotFound
- AlreadyExists
- PermissionDenied
- ResourceExhausted
- FailedPrecondition
- Aborted
- OutOfRange
- Unimplemented
- Internal
- Unavailable
- DataLoss
- Unauthenticated
- )
- // The following String() function was generated by stringer.
- const _Code_name = "OKCanceledUnknownInvalidArgumentDeadlineExceededNotFoundAlreadyExistsPermissionDeniedResourceExhaustedFailedPreconditionAbortedOutOfRangeUnimplementedInternalUnavailableDataLossUnauthenticated"
- var _Code_index = [...]uint8{0, 2, 10, 17, 32, 48, 56, 69, 85, 102, 120, 127, 137, 150, 158, 169, 177, 192}
- func (i codeBench) String() string {
- if i >= codeBench(len(_Code_index)-1) {
- return "Code(" + strconv.FormatInt(int64(i), 10) + ")"
- }
- return _Code_name[_Code_index[i]:_Code_index[i+1]]
- }
- var nameMap = map[codeBench]string{
- OK: "OK",
- Canceled: "Canceled",
- Unknown: "Unknown",
- InvalidArgument: "InvalidArgument",
- DeadlineExceeded: "DeadlineExceeded",
- NotFound: "NotFound",
- AlreadyExists: "AlreadyExists",
- PermissionDenied: "PermissionDenied",
- ResourceExhausted: "ResourceExhausted",
- FailedPrecondition: "FailedPrecondition",
- Aborted: "Aborted",
- OutOfRange: "OutOfRange",
- Unimplemented: "Unimplemented",
- Internal: "Internal",
- Unavailable: "Unavailable",
- DataLoss: "DataLoss",
- Unauthenticated: "Unauthenticated",
- }
- func (i codeBench) StringUsingMap() string {
- if s, ok := nameMap[i]; ok {
- return s
- }
- return "Code(" + strconv.FormatInt(int64(i), 10) + ")"
- }
- func BenchmarkCodeStringStringer(b *testing.B) {
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- c := codeBench(uint32(i % 17))
- _ = c.String()
- }
- b.StopTimer()
- }
- func BenchmarkCodeStringMap(b *testing.B) {
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- c := codeBench(uint32(i % 17))
- _ = c.StringUsingMap()
- }
- b.StopTimer()
- }
- // codes.Code.String() does a switch.
- func BenchmarkCodeStringSwitch(b *testing.B) {
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- c := codes.Code(uint32(i % 17))
- _ = c.String()
- }
- b.StopTimer()
- }
- // Testing all codes (0<=c<=16) and also one overflow (17).
- func BenchmarkCodeStringStringerWithOverflow(b *testing.B) {
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- c := codeBench(uint32(i % 18))
- _ = c.String()
- }
- b.StopTimer()
- }
- // Testing all codes (0<=c<=16) and also one overflow (17).
- func BenchmarkCodeStringSwitchWithOverflow(b *testing.B) {
- b.ResetTimer()
- for i := 0; i < b.N; i++ {
- c := codes.Code(uint32(i % 18))
- _ = c.String()
- }
- b.StopTimer()
- }
|