Update licenses for go-version-1.8.0 bump
This commit is contained in:
parent
23b42daf71
commit
b1bbe49b2e
15 changed files with 173 additions and 79 deletions
|
|
@ -118,7 +118,7 @@ Some packages may only be included on certain architectures or operating systems
|
|||
- [github.com/gorilla/css/scanner](https://pkg.go.dev/github.com/gorilla/css/scanner) ([BSD-3-Clause](https://github.com/gorilla/css/blob/v1.0.1/LICENSE))
|
||||
- [github.com/gorilla/websocket](https://pkg.go.dev/github.com/gorilla/websocket) ([BSD-2-Clause](https://github.com/gorilla/websocket/blob/v1.5.3/LICENSE))
|
||||
- [github.com/grpc-ecosystem/grpc-gateway/v2](https://pkg.go.dev/github.com/grpc-ecosystem/grpc-gateway/v2) ([BSD-3-Clause](https://github.com/grpc-ecosystem/grpc-gateway/blob/v2.27.2/LICENSE))
|
||||
- [github.com/hashicorp/go-version](https://pkg.go.dev/github.com/hashicorp/go-version) ([MPL-2.0](https://github.com/hashicorp/go-version/blob/v1.7.0/LICENSE))
|
||||
- [github.com/hashicorp/go-version](https://pkg.go.dev/github.com/hashicorp/go-version) ([MPL-2.0](https://github.com/hashicorp/go-version/blob/v1.8.0/LICENSE))
|
||||
- [github.com/hashicorp/golang-lru/v2](https://pkg.go.dev/github.com/hashicorp/golang-lru/v2) ([MPL-2.0](https://github.com/hashicorp/golang-lru/blob/v2.0.7/LICENSE))
|
||||
- [github.com/hashicorp/golang-lru/v2/simplelru](https://pkg.go.dev/github.com/hashicorp/golang-lru/v2/simplelru) ([BSD-3-Clause](https://github.com/hashicorp/golang-lru/blob/v2.0.7/simplelru/LICENSE_list))
|
||||
- [github.com/henvic/httpretty](https://pkg.go.dev/github.com/henvic/httpretty) ([MIT](https://github.com/henvic/httpretty/blob/v0.1.4/LICENSE.md))
|
||||
|
|
|
|||
|
|
@ -118,7 +118,7 @@ Some packages may only be included on certain architectures or operating systems
|
|||
- [github.com/gorilla/css/scanner](https://pkg.go.dev/github.com/gorilla/css/scanner) ([BSD-3-Clause](https://github.com/gorilla/css/blob/v1.0.1/LICENSE))
|
||||
- [github.com/gorilla/websocket](https://pkg.go.dev/github.com/gorilla/websocket) ([BSD-2-Clause](https://github.com/gorilla/websocket/blob/v1.5.3/LICENSE))
|
||||
- [github.com/grpc-ecosystem/grpc-gateway/v2](https://pkg.go.dev/github.com/grpc-ecosystem/grpc-gateway/v2) ([BSD-3-Clause](https://github.com/grpc-ecosystem/grpc-gateway/blob/v2.27.2/LICENSE))
|
||||
- [github.com/hashicorp/go-version](https://pkg.go.dev/github.com/hashicorp/go-version) ([MPL-2.0](https://github.com/hashicorp/go-version/blob/v1.7.0/LICENSE))
|
||||
- [github.com/hashicorp/go-version](https://pkg.go.dev/github.com/hashicorp/go-version) ([MPL-2.0](https://github.com/hashicorp/go-version/blob/v1.8.0/LICENSE))
|
||||
- [github.com/hashicorp/golang-lru/v2](https://pkg.go.dev/github.com/hashicorp/golang-lru/v2) ([MPL-2.0](https://github.com/hashicorp/golang-lru/blob/v2.0.7/LICENSE))
|
||||
- [github.com/hashicorp/golang-lru/v2/simplelru](https://pkg.go.dev/github.com/hashicorp/golang-lru/v2/simplelru) ([BSD-3-Clause](https://github.com/hashicorp/golang-lru/blob/v2.0.7/simplelru/LICENSE_list))
|
||||
- [github.com/henvic/httpretty](https://pkg.go.dev/github.com/henvic/httpretty) ([MIT](https://github.com/henvic/httpretty/blob/v0.1.4/LICENSE.md))
|
||||
|
|
|
|||
|
|
@ -119,7 +119,7 @@ Some packages may only be included on certain architectures or operating systems
|
|||
- [github.com/gorilla/css/scanner](https://pkg.go.dev/github.com/gorilla/css/scanner) ([BSD-3-Clause](https://github.com/gorilla/css/blob/v1.0.1/LICENSE))
|
||||
- [github.com/gorilla/websocket](https://pkg.go.dev/github.com/gorilla/websocket) ([BSD-2-Clause](https://github.com/gorilla/websocket/blob/v1.5.3/LICENSE))
|
||||
- [github.com/grpc-ecosystem/grpc-gateway/v2](https://pkg.go.dev/github.com/grpc-ecosystem/grpc-gateway/v2) ([BSD-3-Clause](https://github.com/grpc-ecosystem/grpc-gateway/blob/v2.27.2/LICENSE))
|
||||
- [github.com/hashicorp/go-version](https://pkg.go.dev/github.com/hashicorp/go-version) ([MPL-2.0](https://github.com/hashicorp/go-version/blob/v1.7.0/LICENSE))
|
||||
- [github.com/hashicorp/go-version](https://pkg.go.dev/github.com/hashicorp/go-version) ([MPL-2.0](https://github.com/hashicorp/go-version/blob/v1.8.0/LICENSE))
|
||||
- [github.com/hashicorp/golang-lru/v2](https://pkg.go.dev/github.com/hashicorp/golang-lru/v2) ([MPL-2.0](https://github.com/hashicorp/golang-lru/blob/v2.0.7/LICENSE))
|
||||
- [github.com/hashicorp/golang-lru/v2/simplelru](https://pkg.go.dev/github.com/hashicorp/golang-lru/v2/simplelru) ([BSD-3-Clause](https://github.com/hashicorp/golang-lru/blob/v2.0.7/simplelru/LICENSE_list))
|
||||
- [github.com/henvic/httpretty](https://pkg.go.dev/github.com/henvic/httpretty) ([MIT](https://github.com/henvic/httpretty/blob/v0.1.4/LICENSE.md))
|
||||
|
|
|
|||
13
third-party/github.com/hashicorp/go-version/.github/CODEOWNERS
vendored
Normal file
13
third-party/github.com/hashicorp/go-version/.github/CODEOWNERS
vendored
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
# Each line is a file pattern followed by one or more owners.
|
||||
# More on CODEOWNERS files: https://help.github.com/en/github/creating-cloning-and-archiving-repositories/about-code-owners
|
||||
|
||||
# Default owner
|
||||
* @hashicorp/team-ip-compliance
|
||||
|
||||
# Add override rules below. Each line is a file/folder pattern followed by one or more owners.
|
||||
# Being an owner means those groups or individuals will be added as reviewers to PRs affecting
|
||||
# those areas of the code.
|
||||
# Examples:
|
||||
# /docs/ @docs-team
|
||||
# *.js @js-team
|
||||
# *.go @go-team
|
||||
|
|
@ -12,9 +12,6 @@ updates:
|
|||
interval: monthly
|
||||
labels:
|
||||
- dependencies
|
||||
# only update HashiCorp actions, external actions managed by TSCCR
|
||||
allow:
|
||||
- dependency-name: hashicorp/*
|
||||
groups:
|
||||
github-actions-breaking:
|
||||
update-types:
|
||||
|
|
|
|||
12
third-party/github.com/hashicorp/go-version/.github/pull_request_template.md
vendored
Normal file
12
third-party/github.com/hashicorp/go-version/.github/pull_request_template.md
vendored
Normal file
|
|
@ -0,0 +1,12 @@
|
|||
<!-- heimdall_github_prtemplate:grc-pci_dss-2024-01-05 -->
|
||||
## Description
|
||||
|
||||
<!-- Provide a summary of what the PR does and why it is being submitted. -->
|
||||
|
||||
## Related Issue
|
||||
|
||||
<!-- If this PR is linked to any issue, provide the issue number or description here. Any related JIRA tickets can also be added here. -->
|
||||
|
||||
## How Has This Been Tested?
|
||||
|
||||
<!-- Describe how the changes have been tested. Provide test instructions or details. -->
|
||||
|
|
@ -15,12 +15,12 @@ jobs:
|
|||
|
||||
steps:
|
||||
- name: Setup go
|
||||
uses: actions/setup-go@6edd4406fa81c3da01a34fa6f6343087c207a568 # v3.5.0
|
||||
uses: actions/setup-go@44694675825211faa026b3c33043df3e48a5fa00 # v6.0.0
|
||||
with:
|
||||
go-version: ${{ matrix.go-version }}
|
||||
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@ac593985615ec2ede58e132d2e21d2b1cbd6127c # v3.3.0
|
||||
uses: actions/checkout@08c6903cd8c0fde910a37f88322edcfb5dd907a8 # v5.0.0
|
||||
|
||||
- name: Create test directory
|
||||
run: |
|
||||
|
|
@ -30,7 +30,7 @@ jobs:
|
|||
run: go mod download
|
||||
|
||||
- name: Cache / restore go modules
|
||||
uses: actions/cache@69d9d449aced6a2ede0bc19182fadc3a0a42d2b0 # v3.2.6
|
||||
uses: actions/cache@0400d5f644dc74513175e3cd8d07132dd4860809 # v4.2.4
|
||||
with:
|
||||
path: |
|
||||
~/go/pkg/mod
|
||||
|
|
@ -48,6 +48,9 @@ jobs:
|
|||
echo "$files"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
- name: Run golangci-lint
|
||||
uses: golangci/golangci-lint-action@4afd733a84b1f43292c63897423277bb7f4313a9
|
||||
|
||||
# Install gotestsum with go get for 1.15.3; otherwise default to go install
|
||||
- name: Install gotestsum
|
||||
|
|
@ -64,11 +67,20 @@ jobs:
|
|||
- name: Run go tests
|
||||
run: |
|
||||
PACKAGE_NAMES=$(go list ./...)
|
||||
gotestsum --format=short-verbose --junitfile $TEST_RESULTS/gotestsum-report.xml -- $PACKAGE_NAMES
|
||||
gotestsum --format=short-verbose --junitfile $TEST_RESULTS/gotestsum-report.xml -- -p 2 -cover -coverprofile=coverage.out $PACKAGE_NAMES
|
||||
|
||||
# Save coverage report parts
|
||||
- name: Upload and save artifacts
|
||||
uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v3.1.2
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
|
||||
with:
|
||||
name: Test Results
|
||||
path: ${{ env.TEST_RESULTS }}
|
||||
name: Test Results-${{matrix.go-version}}
|
||||
path: ${{ env.TEST_RESULTS }}
|
||||
|
||||
- name: Upload coverage report
|
||||
uses: actions/upload-artifact@330a01c490aca151604b8cf639adc76d48f6c5d4
|
||||
with:
|
||||
path: coverage.out
|
||||
name: Coverage-report-${{matrix.go-version}}
|
||||
|
||||
- name: Display coverage report
|
||||
run: go tool cover -func=coverage.out
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
Copyright (c) 2014 HashiCorp, Inc.
|
||||
Copyright IBM Corp. 2014, 2025
|
||||
|
||||
Mozilla Public License, version 2.0
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
# Versioning Library for Go
|
||||
|
||||

|
||||
[](https://godoc.org/github.com/hashicorp/go-version)
|
||||
[](https://pkg.go.dev/github.com/hashicorp/go-version)
|
||||
|
||||
go-version is a library for parsing versions and version constraints,
|
||||
and verifying versions against a set of constraints. go-version
|
||||
|
|
@ -12,7 +13,7 @@ Versions used with go-version must follow [SemVer](http://semver.org/).
|
|||
## Installation and Usage
|
||||
|
||||
Package documentation can be found on
|
||||
[GoDoc](http://godoc.org/github.com/hashicorp/go-version).
|
||||
[Go Reference](https://pkg.go.dev/github.com/hashicorp/go-version).
|
||||
|
||||
Installation can be done with a normal `go get`:
|
||||
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) HashiCorp, Inc.
|
||||
// Copyright IBM Corp. 2014, 2025
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package version
|
||||
|
|
@ -8,8 +8,26 @@ import (
|
|||
"regexp"
|
||||
"sort"
|
||||
"strings"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var (
|
||||
constraintRegexp *regexp.Regexp
|
||||
constraintRegexpOnce sync.Once
|
||||
)
|
||||
|
||||
func getConstraintRegexp() *regexp.Regexp {
|
||||
constraintRegexpOnce.Do(func() {
|
||||
// This heavy lifting only happens the first time this function is called
|
||||
constraintRegexp = regexp.MustCompile(fmt.Sprintf(
|
||||
`^\s*(%s)\s*(%s)\s*$`,
|
||||
`<=|>=|!=|~>|<|>|=|`,
|
||||
VersionRegexpRaw,
|
||||
))
|
||||
})
|
||||
return constraintRegexp
|
||||
}
|
||||
|
||||
// Constraint represents a single constraint for a version, such as
|
||||
// ">= 1.0".
|
||||
type Constraint struct {
|
||||
|
|
@ -29,38 +47,11 @@ type Constraints []*Constraint
|
|||
|
||||
type constraintFunc func(v, c *Version) bool
|
||||
|
||||
var constraintOperators map[string]constraintOperation
|
||||
|
||||
type constraintOperation struct {
|
||||
op operator
|
||||
f constraintFunc
|
||||
}
|
||||
|
||||
var constraintRegexp *regexp.Regexp
|
||||
|
||||
func init() {
|
||||
constraintOperators = map[string]constraintOperation{
|
||||
"": {op: equal, f: constraintEqual},
|
||||
"=": {op: equal, f: constraintEqual},
|
||||
"!=": {op: notEqual, f: constraintNotEqual},
|
||||
">": {op: greaterThan, f: constraintGreaterThan},
|
||||
"<": {op: lessThan, f: constraintLessThan},
|
||||
">=": {op: greaterThanEqual, f: constraintGreaterThanEqual},
|
||||
"<=": {op: lessThanEqual, f: constraintLessThanEqual},
|
||||
"~>": {op: pessimistic, f: constraintPessimistic},
|
||||
}
|
||||
|
||||
ops := make([]string, 0, len(constraintOperators))
|
||||
for k := range constraintOperators {
|
||||
ops = append(ops, regexp.QuoteMeta(k))
|
||||
}
|
||||
|
||||
constraintRegexp = regexp.MustCompile(fmt.Sprintf(
|
||||
`^\s*(%s)\s*(%s)\s*$`,
|
||||
strings.Join(ops, "|"),
|
||||
VersionRegexpRaw))
|
||||
}
|
||||
|
||||
// NewConstraint will parse one or more constraints from the given
|
||||
// constraint string. The string must be a comma-separated list of
|
||||
// constraints.
|
||||
|
|
@ -107,7 +98,7 @@ func (cs Constraints) Check(v *Version) bool {
|
|||
// to '>0.2' it is *NOT* treated as equal.
|
||||
//
|
||||
// Missing operator is treated as equal to '=', whitespaces
|
||||
// are ignored and constraints are sorted before comaparison.
|
||||
// are ignored and constraints are sorted before comparison.
|
||||
func (cs Constraints) Equals(c Constraints) bool {
|
||||
if len(cs) != len(c) {
|
||||
return false
|
||||
|
|
@ -176,9 +167,9 @@ func (c *Constraint) String() string {
|
|||
}
|
||||
|
||||
func parseSingle(v string) (*Constraint, error) {
|
||||
matches := constraintRegexp.FindStringSubmatch(v)
|
||||
matches := getConstraintRegexp().FindStringSubmatch(v)
|
||||
if matches == nil {
|
||||
return nil, fmt.Errorf("Malformed constraint: %s", v)
|
||||
return nil, fmt.Errorf("malformed constraint: %s", v)
|
||||
}
|
||||
|
||||
check, err := NewVersion(matches[2])
|
||||
|
|
@ -186,7 +177,25 @@ func parseSingle(v string) (*Constraint, error) {
|
|||
return nil, err
|
||||
}
|
||||
|
||||
cop := constraintOperators[matches[1]]
|
||||
var cop constraintOperation
|
||||
switch matches[1] {
|
||||
case "=":
|
||||
cop = constraintOperation{op: equal, f: constraintEqual}
|
||||
case "!=":
|
||||
cop = constraintOperation{op: notEqual, f: constraintNotEqual}
|
||||
case ">":
|
||||
cop = constraintOperation{op: greaterThan, f: constraintGreaterThan}
|
||||
case "<":
|
||||
cop = constraintOperation{op: lessThan, f: constraintLessThan}
|
||||
case ">=":
|
||||
cop = constraintOperation{op: greaterThanEqual, f: constraintGreaterThanEqual}
|
||||
case "<=":
|
||||
cop = constraintOperation{op: lessThanEqual, f: constraintLessThanEqual}
|
||||
case "~>":
|
||||
cop = constraintOperation{op: pessimistic, f: constraintPessimistic}
|
||||
default:
|
||||
cop = constraintOperation{op: equal, f: constraintEqual}
|
||||
}
|
||||
|
||||
return &Constraint{
|
||||
f: cop.f,
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) HashiCorp, Inc.
|
||||
// Copyright IBM Corp. 2014, 2025
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package version
|
||||
|
|
|
|||
|
|
@ -1,23 +1,39 @@
|
|||
// Copyright (c) HashiCorp, Inc.
|
||||
// Copyright IBM Corp. 2014, 2025
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package version
|
||||
|
||||
import (
|
||||
"bytes"
|
||||
"database/sql/driver"
|
||||
"fmt"
|
||||
"regexp"
|
||||
"strconv"
|
||||
"strings"
|
||||
"sync"
|
||||
)
|
||||
|
||||
// The compiled regular expression used to test the validity of a version.
|
||||
var (
|
||||
versionRegexp *regexp.Regexp
|
||||
semverRegexp *regexp.Regexp
|
||||
versionRegexp *regexp.Regexp
|
||||
versionRegexpOnce sync.Once
|
||||
semverRegexp *regexp.Regexp
|
||||
semverRegexpOnce sync.Once
|
||||
)
|
||||
|
||||
func getVersionRegexp() *regexp.Regexp {
|
||||
versionRegexpOnce.Do(func() {
|
||||
versionRegexp = regexp.MustCompile("^" + VersionRegexpRaw + "$")
|
||||
})
|
||||
return versionRegexp
|
||||
}
|
||||
|
||||
func getSemverRegexp() *regexp.Regexp {
|
||||
semverRegexpOnce.Do(func() {
|
||||
semverRegexp = regexp.MustCompile("^" + SemverRegexpRaw + "$")
|
||||
})
|
||||
return semverRegexp
|
||||
}
|
||||
|
||||
// The raw regular expression string used for testing the validity
|
||||
// of a version.
|
||||
const (
|
||||
|
|
@ -42,28 +58,23 @@ type Version struct {
|
|||
original string
|
||||
}
|
||||
|
||||
func init() {
|
||||
versionRegexp = regexp.MustCompile("^" + VersionRegexpRaw + "$")
|
||||
semverRegexp = regexp.MustCompile("^" + SemverRegexpRaw + "$")
|
||||
}
|
||||
|
||||
// NewVersion parses the given version and returns a new
|
||||
// Version.
|
||||
func NewVersion(v string) (*Version, error) {
|
||||
return newVersion(v, versionRegexp)
|
||||
return newVersion(v, getVersionRegexp())
|
||||
}
|
||||
|
||||
// NewSemver parses the given version and returns a new
|
||||
// Version that adheres strictly to SemVer specs
|
||||
// https://semver.org/
|
||||
func NewSemver(v string) (*Version, error) {
|
||||
return newVersion(v, semverRegexp)
|
||||
return newVersion(v, getSemverRegexp())
|
||||
}
|
||||
|
||||
func newVersion(v string, pattern *regexp.Regexp) (*Version, error) {
|
||||
matches := pattern.FindStringSubmatch(v)
|
||||
if matches == nil {
|
||||
return nil, fmt.Errorf("Malformed version: %s", v)
|
||||
return nil, fmt.Errorf("malformed version: %s", v)
|
||||
}
|
||||
segmentsStr := strings.Split(matches[1], ".")
|
||||
segments := make([]int64, len(segmentsStr))
|
||||
|
|
@ -71,7 +82,7 @@ func newVersion(v string, pattern *regexp.Regexp) (*Version, error) {
|
|||
val, err := strconv.ParseInt(str, 10, 64)
|
||||
if err != nil {
|
||||
return nil, fmt.Errorf(
|
||||
"Error parsing version: %s", err)
|
||||
"error parsing version: %s", err)
|
||||
}
|
||||
|
||||
segments[i] = val
|
||||
|
|
@ -174,7 +185,7 @@ func (v *Version) Compare(other *Version) int {
|
|||
} else if lhs < rhs {
|
||||
return -1
|
||||
}
|
||||
// Otherwis, rhs was > lhs, they're not equal
|
||||
// Otherwise, rhs was > lhs, they're not equal
|
||||
return 1
|
||||
}
|
||||
|
||||
|
|
@ -382,22 +393,29 @@ func (v *Version) Segments64() []int64 {
|
|||
// missing parts (1.0 => 1.0.0) will be made into a canonicalized form
|
||||
// as shown in the parenthesized examples.
|
||||
func (v *Version) String() string {
|
||||
var buf bytes.Buffer
|
||||
fmtParts := make([]string, len(v.segments))
|
||||
return string(v.bytes())
|
||||
}
|
||||
|
||||
func (v *Version) bytes() []byte {
|
||||
var buf []byte
|
||||
for i, s := range v.segments {
|
||||
// We can ignore err here since we've pre-parsed the values in segments
|
||||
str := strconv.FormatInt(s, 10)
|
||||
fmtParts[i] = str
|
||||
}
|
||||
fmt.Fprintf(&buf, strings.Join(fmtParts, "."))
|
||||
if v.pre != "" {
|
||||
fmt.Fprintf(&buf, "-%s", v.pre)
|
||||
}
|
||||
if v.metadata != "" {
|
||||
fmt.Fprintf(&buf, "+%s", v.metadata)
|
||||
if i > 0 {
|
||||
buf = append(buf, '.')
|
||||
}
|
||||
buf = strconv.AppendInt(buf, s, 10)
|
||||
}
|
||||
|
||||
return buf.String()
|
||||
if v.pre != "" {
|
||||
buf = append(buf, '-')
|
||||
buf = append(buf, v.pre...)
|
||||
}
|
||||
|
||||
if v.metadata != "" {
|
||||
buf = append(buf, '+')
|
||||
buf = append(buf, v.metadata...)
|
||||
}
|
||||
|
||||
return buf
|
||||
}
|
||||
|
||||
// Original returns the original parsed version as-is, including any
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) HashiCorp, Inc.
|
||||
// Copyright IBM Corp. 2014, 2025
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package version
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) HashiCorp, Inc.
|
||||
// Copyright IBM Corp. 2014, 2025
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package version
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
// Copyright (c) HashiCorp, Inc.
|
||||
// Copyright IBM Corp. 2014, 2025
|
||||
// SPDX-License-Identifier: MPL-2.0
|
||||
|
||||
package version
|
||||
|
|
@ -728,3 +728,35 @@ func TestLessThanOrEqual(t *testing.T) {
|
|||
}
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkVersionString(b *testing.B) {
|
||||
v, _ := NewVersion("3.4.5-rc1+meta")
|
||||
_ = v.String()
|
||||
|
||||
b.ResetTimer()
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
_ = v.String()
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkCompareVersionV1(b *testing.B) {
|
||||
v, _ := NewVersion("3.4.5")
|
||||
|
||||
b.ResetTimer()
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
v.Compare(v)
|
||||
}
|
||||
}
|
||||
|
||||
func BenchmarkVersionCompareV2(b *testing.B) {
|
||||
v, _ := NewVersion("1.2.3")
|
||||
o, _ := NewVersion("v1.2.3.4")
|
||||
|
||||
b.ResetTimer()
|
||||
b.ReportAllocs()
|
||||
for i := 0; i < b.N; i++ {
|
||||
v.Compare(o)
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue