Documentation
¶
Overview ¶
Package executiontest is the conformance suite every TaskDriver passes. Its groups follow capabilities: the lifecycle group applies to every driver; the others run only for a driver that claims the capability. A fake driver passing the suite establishes contract behaviour, not backend support.
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Lifecycle ¶
Lifecycle is what every driver provides: identity by key, idempotent creation, start, wait, output by cursor, stop, release, and refusal of requests it cannot honour.
func PrivateDocker ¶
PrivateDocker is what a driver claiming private Docker refuses before creating anything: a limit left at zero, which is never unlimited, and services it could not tell apart from each other or from the daemon. What it runs is established by its backend's integration tests (internal/worker, private_integration_test.go).
func UniqueKeys ¶
UniqueKeys returns a Key function whose keys are unique to one run.
Types ¶
type Harness ¶
type Harness struct {
Driver execution.TaskDriver
Spec func(key, output string, exit int, block bool) execution.TaskSpec
// Key returns a key unique to this run of the suite.
Key func(name string) string
}
Harness adapts the suite to one driver. Spec returns a task that prints output, then either exits with exit or, when block is true, runs until stopped.