-
Notifications
You must be signed in to change notification settings - Fork 1.2k
/
conformance.go
65 lines (55 loc) · 2.22 KB
/
conformance.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
/*
Copyright 2019 The Knative 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 test
import (
pkgTest "knative.dev/pkg/test"
// Mysteriously required to support GCP auth (required by k8s libs). Apparently just importing it is enough. @_@ side effects @_@. https://github.com/kubernetes/client-go/issues/242
_ "k8s.io/client-go/plugin/pkg/client/auth/gcp"
)
// Constants for test images located in test/test_images.
const (
// Test image names
Autoscale = "autoscale"
Failing = "failing"
HelloVolume = "hellovolume"
HelloWorld = "helloworld"
HTTPProxy = "httpproxy"
InvalidHelloWorld = "invalidhelloworld" // Not a real image
PizzaPlanet1 = "pizzaplanetv1"
PizzaPlanet2 = "pizzaplanetv2"
Protocols = "protocols"
Runtime = "runtime"
SingleThreadedImage = "singlethreaded"
Timeout = "timeout"
WorkingDir = "workingdir"
// Constants for test image output.
PizzaPlanetText1 = "What a spaceport!"
PizzaPlanetText2 = "Re-energize yourself with a slice of pepperoni!"
HelloWorldText = "Hello World! How about some tasty noodles?"
ConcurrentRequests = 50
// We expect to see 100% of requests succeed for traffic sent directly to revisions.
// This might be a bad assumption.
MinDirectPercentage = 1
// We expect to see at least 25% of either response since we're routing 50/50.
// This might be a bad assumption.
MinSplitPercentage = 0.25
)
// Setup creates client to run Knative Service requests
func Setup(t pkgTest.TLegacy) *Clients {
t.Helper()
clients, err := NewClients(pkgTest.Flags.Kubeconfig, pkgTest.Flags.Cluster, ServingNamespace)
if err != nil {
t.Fatal("Couldn't initialize clients", "error", err.Error())
}
return clients
}