File tree Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Expand file tree Collapse file tree 1 file changed +47
-0
lines changed Original file line number Diff line number Diff line change 1+ // Copyright 2021 The Kubernetes Authors.
2+ // SPDX-License-Identifier: Apache-2.0
3+
4+ package openapi
5+
6+ import (
7+ "path/filepath"
8+ "testing"
9+
10+ "github.com/go-openapi/spec"
11+ "sigs.k8s.io/kustomize/kyaml/openapi/kubernetesapi"
12+ )
13+
14+ // Benchmark for swagger parsing (UnmarshalJSON)
15+ func BenchmarkSwaggerUnmarshalJSON (t * testing.B ) {
16+ version := kubernetesOpenAPIDefaultVersion
17+
18+ // parse the swagger, this should never fail
19+ assetName := filepath .Join (
20+ "kubernetesapi" ,
21+ version ,
22+ "swagger.json" )
23+
24+ b := kubernetesapi.OpenAPIMustAsset [version ](assetName )
25+
26+ for i := 0 ; i < t .N ; i ++ {
27+ var swagger spec.Swagger
28+ if err := swagger .UnmarshalJSON (b ); err != nil {
29+ t .Fatalf ("swagger.UnmarshalJSON failed: %v" , err )
30+ }
31+ }
32+ }
33+
34+ // Benchmark for loading assets packed into the binary
35+ func BenchmarkAssetRead (t * testing.B ) {
36+ for i := 0 ; i < t .N ; i ++ {
37+ version := kubernetesOpenAPIDefaultVersion
38+
39+ // parse the swagger, this should never fail
40+ assetName := filepath .Join (
41+ "kubernetesapi" ,
42+ version ,
43+ "swagger.json" )
44+
45+ kubernetesapi.OpenAPIMustAsset [version ](assetName )
46+ }
47+ }
You can’t perform that action at this time.
0 commit comments