From 5648001b06e37d65bdacf3f3750570b8b517a3ef Mon Sep 17 00:00:00 2001 From: Karuppiah Natarajan Date: Sat, 2 Jan 2021 00:26:18 +0530 Subject: [PATCH] add benchmark for command execution --- cmd/root_test.go | 12 +++++++ testdata/values.yaml | 79 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 91 insertions(+) create mode 100644 cmd/root_test.go create mode 100644 testdata/values.yaml diff --git a/cmd/root_test.go b/cmd/root_test.go new file mode 100644 index 0000000..5fad432 --- /dev/null +++ b/cmd/root_test.go @@ -0,0 +1,12 @@ +package cmd + +import ( + "path/filepath" + "testing" +) + +func BenchmarkRootCommandExecution(b *testing.B) { + for i := 0; i < b.N; i++ { + rootCmd.RunE(nil, []string{filepath.Join("..", "testdata", "values.yaml")}) + } +} diff --git a/testdata/values.yaml b/testdata/values.yaml new file mode 100644 index 0000000..2e48f25 --- /dev/null +++ b/testdata/values.yaml @@ -0,0 +1,79 @@ +# Default values for dummy. +# This is a YAML-formatted file. +# Declare variables to be passed into your templates. + +replicaCount: 1 + +image: + repository: nginx + pullPolicy: IfNotPresent + # Overrides the image tag whose default is the chart appVersion. + tag: "" + +imagePullSecrets: [] +nameOverride: "" +fullnameOverride: "" + +serviceAccount: + # Specifies whether a service account should be created + create: true + # Annotations to add to the service account + annotations: {} + # The name of the service account to use. + # If not set and create is true, a name is generated using the fullname template + name: "" + +podAnnotations: {} + +podSecurityContext: {} + # fsGroup: 2000 + +securityContext: {} + # capabilities: + # drop: + # - ALL + # readOnlyRootFilesystem: true + # runAsNonRoot: true + # runAsUser: 1000 + +service: + type: ClusterIP + port: 80 + +ingress: + enabled: false + annotations: {} + # kubernetes.io/ingress.class: nginx + # kubernetes.io/tls-acme: "true" + hosts: + - host: chart-example.local + paths: [] + tls: [] + # - secretName: chart-example-tls + # hosts: + # - chart-example.local + +resources: {} + # We usually recommend not to specify default resources and to leave this as a conscious + # choice for the user. This also increases chances charts run on environments with little + # resources, such as Minikube. If you do want to specify resources, uncomment the following + # lines, adjust them as necessary, and remove the curly braces after 'resources:'. + # limits: + # cpu: 100m + # memory: 128Mi + # requests: + # cpu: 100m + # memory: 128Mi + +autoscaling: + enabled: false + minReplicas: 1 + maxReplicas: 100 + targetCPUUtilizationPercentage: 80 + # targetMemoryUtilizationPercentage: 80 + +nodeSelector: {} + +tolerations: [] + +affinity: {}