Documentation ¶
Overview ¶
Package util implements various utility functions used in both testing and implementation of Kubernetes. Package util may not depend on any other package in the Kubernetes package tree.
Index ¶
- Variables
- func CompileRegexps(regexpStrings StringList) ([]*regexp.Regexp, error)
- func EncodeJSON(obj interface{}) string
- func FlushLogs()
- func Forever(f func(), period time.Duration)
- func HandleCrash()
- func InitLogs()
- func IsCIdentifier(value string) bool
- func IsDNS952Label(value string) bool
- func IsDNSLabel(value string) bool
- func IsDNSSubdomain(value string) bool
- func IsValidPortNum(port int) bool
- func NewLogger(prefix string) *log.Logger
- func StringDiff(a, b string) string
- type FakeHandler
- type GlogWriter
- type IntOrString
- type IntstrKind
- type LogInterface
- type StringList
- type StringSet
- type TestInterface
- type Time
Constants ¶
This section is empty.
Variables ¶
var ReallyCrash bool
For testing, bypass HandleCrash.
Functions ¶
func CompileRegexps ¶
func CompileRegexps(regexpStrings StringList) ([]*regexp.Regexp, error)
Takes a list of strings and compiles them into a list of regular expressions
func EncodeJSON ¶
func EncodeJSON(obj interface{}) string
EncodeJSON returns obj marshalled as a JSON string, ignoring any errors.
func HandleCrash ¶
func HandleCrash()
HandleCrash simply catches a crash and logs an error. Meant to be called via defer.
func IsCIdentifier ¶
IsCIdentifier tests for a string that conforms the definition of an identifier in C. This checks the format, but not the length.
func IsDNS952Label ¶
func IsDNSLabel ¶
IsDNSLabel tests for a string that conforms to the definition of a label in DNS (RFC 1035/1123).
func IsDNSSubdomain ¶
IsDNSSubdomain tests for a string that conforms to the definition of a subdomain in DNS (RFC 1035/1123).
func IsValidPortNum ¶
IsValidPortNum tests that the argument is a valid, non-zero port number.
func StringDiff ¶
StringDiff diffs a and b and returns a human readable diff.
Types ¶
type FakeHandler ¶
type FakeHandler struct { RequestReceived *http.Request RequestBody string StatusCode int ResponseBody string // For logging - you can use a *testing.T // This will keep log messages associated with the test. T LogInterface }
FakeHandler is to assist in testing HTTP requests. Notice that FakeHandler is not thread safe and you must not direct traffic to except for the request you want to test. You can do this by hiding it in an http.ServeMux.
func (*FakeHandler) ServeHTTP ¶
func (f *FakeHandler) ServeHTTP(response http.ResponseWriter, request *http.Request)
func (FakeHandler) ValidateRequest ¶
func (f FakeHandler) ValidateRequest(t TestInterface, expectedPath, expectedMethod string, body *string)
ValidateRequest verifies that FakeHandler received a request with expected path, method, and body.
type GlogWriter ¶
type GlogWriter struct{}
GlogWriter serves as a bridge between the standard log package and the glog package.
type IntOrString ¶
type IntOrString struct { Kind IntstrKind IntVal int StrVal string }
IntOrString is a type that can hold an int or a string. When used in JSON or YAML marshalling and unmarshalling, it produces or consumes the inner type. This allows you to have, for example, a JSON field that can accept a name or number.
func NewIntOrStringFromInt ¶
func NewIntOrStringFromInt(val int) IntOrString
NewIntOrStringFromInt creates an IntOrString object with an int value.
func NewIntOrStringFromString ¶
func NewIntOrStringFromString(val string) IntOrString
NewIntOrStringFromString creates an IntOrString object with a string value.
func (IntOrString) GetYAML ¶
func (intstr IntOrString) GetYAML() (tag string, value interface{})
GetYAML implements the yaml.Getter interface.
func (IntOrString) MarshalJSON ¶
func (intstr IntOrString) MarshalJSON() ([]byte, error)
MarshalJSON implements the json.Marshaller interface.
func (*IntOrString) SetYAML ¶
func (intstr *IntOrString) SetYAML(tag string, value interface{}) bool
SetYAML implements the yaml.Setter interface.
func (*IntOrString) UnmarshalJSON ¶
func (intstr *IntOrString) UnmarshalJSON(value []byte) error
UnmarshalJSON implements the json.Unmarshaller interface.
type IntstrKind ¶
type IntstrKind int
IntstrKind represents the stored type of IntOrString.
const ( IntstrInt IntstrKind = iota // The IntOrString holds an int. IntstrString // The IntOrString holds a string. )
type LogInterface ¶
type LogInterface interface {
Logf(format string, args ...interface{})
}
LogInterface is a simple interface to allow injection of Logf to report serving errors.
type StringList ¶
type StringList []string
func (*StringList) Set ¶
func (sl *StringList) Set(value string) error
func (*StringList) String ¶
func (sl *StringList) String() string
type StringSet ¶
type StringSet map[string]empty
StringSet is a set of strings, implemented via map[string]struct{} for minimal memory consumption.
func NewStringSet ¶
NewStringSet creates a StringSet from a list of values.
func (StringSet) IsSuperset ¶
IsSuperset returns true iff s1 is a superset of s2.
type TestInterface ¶
type TestInterface interface {
Errorf(format string, args ...interface{})
}
TestInterface is a simple interface providing Errorf, to make injection for testing easier (insert 'yo dawg' meme here).
type Time ¶
Time is a wrapper around time.Time which supports correct marshaling to YAML and JSON. Wrappers are provided for many of the factory methods that the time package offers.
func (Time) MarshalJSON ¶
MarshalJSON implements the json.Marshaler interface.
func (Time) Rfc3339Copy ¶
Rfc3339Copy returns a copy of the Time at second-level precision.
func (*Time) UnmarshalJSON ¶
UnmarshalJSON implements the json.Unmarshaller interface.
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
Package config provides utility objects for decoupling sources of configuration and the actual configuration state.
|
Package config provides utility objects for decoupling sources of configuration and the actual configuration state. |
Package wait provides tools for polling or listening for changes to a condition.
|
Package wait provides tools for polling or listening for changes to a condition. |